2011-08-31 8 views
2

Si je distribue ma propre application client sous licence commerciale qui interagit avec MySQL Community Edition (GPLv2) qui se trouve sur mon serveur, est-ce qu'elle nécessite GPL pour mon application client? Comment puis-je distribuer mon application en toute sécurité sans GPL pour mes clients? Comme je l'ai compris, j'ai besoin de MySQL licence commerciale seulement si distribué avec MySQL incorporé. La licence GPL est-elle requise pour mon application si elle ne fait que "établir une connexion"?Application côté client et MySQL GPL

+0

Je crois comprendre que vous ne pouvez même pas distribuer les connecteurs MySQL avec une licence commerciale. Tout ce qui est conçu pour fonctionner avec MySQL (et appelle les API MySQL) est considéré comme un «travail dérivé». Mais je ne suis pas avocat et je pourrais me tromper complètement. –

+4

Je vote pour clore cette question hors-sujet car il s'agit de licences ou de problèmes juridiques, pas de programmation ou de développement de logiciels. [Voir ici] (http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) pour plus de détails, et [aide] pour plus d'informations. – JasonMArcher

Répondre

2

Ce qui suit est mon point de vue personnel, mais pas la vérité ultime dans toutes les juridictions:

La solution est plus sûre que vous ne pas distribuer les bibliothèques clientes MySQL à vous-même. Si vous ne les distribuez pas, vous ne pouvez pas être lié par leurs restrictions de licence. Il suffit de fournir des instructions détaillées qui décrivent comment télécharger et installer les bibliothèques requises et laisser vos utilisateurs le faire.

MISE À JOUR:

En ce qui concerne la base de données que vous fournissez en tant que service à travers le réseau: il ne fait aucune différence.

Tant que vous n'êtes pas distribuer tout code GPL, vous êtes sûr.

Cela pourrait devenir plus compliqué si MySQL utilisait la licence GNU Affero, mais ce n'est pas le cas.

MISE À JOUR 2:

Si vous Google pour « liaison dynamique gpl » et lire plusieurs articles, vous trouverez que la question en ce qui concerne la liaison dynamique ne sait pas même aux Etats-Unis. Ainsi, il n'y a pas de réponse définitive à cette question à moins que vous n'ayez recours à Oracle dans votre juridiction. C'est très pratique pour leurs ventes et ils aiment que vous ayez peur.

Je ne suis pas basé aux États-Unis. Je ne sais pas où tu es. Dans ma juridiction, une revendication selon laquelle la simple création d'une interface compatible avec une bibliothèque, qui n'est pas distribuée, crée un travail dérivé ne passerait pas. Je voudrais noter qu'il y a des tonnes de programmes qui sont compatibles avec MySQL et vous ne voyez aucun problème à en sortir.

+0

Est-ce que ça pousse la licence à mes clients? Est-il nécessaire pour eux dans ce cas d'acheter une licence pour utiliser MySQL avec un logiciel commercial? – johnny

+0

Non, sauf s'ils ** distribuent ** les travaux sous licence eux-mêmes. L'utilisation et la modification des programmes GPL à des fins internes ou personnelles sont toujours gratuites et autorisées tant qu'elles ne sont pas ** distribuées **. – snap

+0

snap: http://www.mysql.com/about/legal/licensing//commercial-license.html "Vente de logiciels qui oblige les clients à installer eux-mêmes MySQL sur leurs propres machines." ... Je suis un peu confus – johnny

2

+1 à @snap pour sa bonne réponse, et je vais ajouter un autre exemple concret:

licence de PHP est un dérivé de la licence BSD nouvelle, qui est incompatible avec la GPL. Les distributions PHP n'ont donc pas pu inclure la bibliothèque client MySQL; les utilisateurs devaient aller le télécharger séparément. De cette façon, PHP et les utilisateurs étaient en conformité avec la licence GPL, car seul MySQL.com était distribuant le logiciel MySQL.

Il y a quelques années, MySQL a développé un new client library specifically for PHP, qui utilisait les composants internes de PHP pour la gestion des ressources, mais peut-être plus important encore était sous licence PHP, ce qui lui permettait d'être livré avec des distributions PHP. Cela signifie que si votre projet est écrit en PHP, vous pouvez utiliser et distribuer la bibliothèque client MySQLnd dans un projet commercial - et en fait il y a de bonnes raisons techniques à cela, car elle est optimisée pour PHP.

+0

+1 pour MySQLnd. Il y a une rumeur qu'une nouvelle bibliothèque client LGPL en C est en cours. Cela devrait résoudre toutes les incertitudes de liaison pour l'API C. Ensuite, il y a aussi * libdrizzle * avec une licence BSD mais il n'y a aucune documentation pour cela et [cela ne semble pas très populaire] (http://stackoverflow.com/questions/6220845/using-libdrizzle-as-an-async- mysql-connector). – snap

Questions connexes