Comment changer la licence du projet Java de GNU / GPL à MIT / BSD / Apache

Nov 20 2020

J'avais développé une application Java qui est connectée à MySQL Workbench en utilisant un mysql-connector-java-8.0.21.jarfichier. Lorsque je déploie le projet et envoie le code source au client, il dit que:

  1. La licence ne doit pas avoir une licence GNU / GPL / Unspecified qui a une obligation de divulgation (il est normal d'avoir MIT / BSD / Apache sans obligation de divulgation)
  2. Changez la licence GNU / GPL en MIT ou BSD

Maintenant ma question est, comment changer la licence du projet ou comment changer la licence des fichiers de bibliothèque comme Mysql connector.jar.

Parce que j'ai besoin d'une licence open source pour le code source, j'ai donc besoin de changer les bibliothèques de licences (utilisées dans le projet).

Réponses

17 MSalters Nov 20 2020 at 18:27

Vous ne pouvez pas modifier la licence du code d'autres personnes, telles que mysql-connector-java. Cette licence est définie par l'auteur de ce composant particulier (société Oracle).

Si votre client a déclaré l'exigence à l'avance, vous avez un problème. Mais sinon, vous pouvez simplement refuser la demande et déclarer que cela est hors de votre contrôle.

PS L'utilisation du terme «obligation de divulgation» dans ce contexte suggère que le client ne comprend pas la loi. Mais si le client a spécifiquement cité la GPL comme exemple de licences interdites avant d'accepter le contrat, alors l'utilisation abusive du terme «obligation de divulgation» n'invalide pas le contrat.

6 MartinSchröder Nov 21 2020 at 03:43

mysql-connector / j est sous licence GPLv2 par Oracle mais a une exception FOSS . Si vous souhaitez distribuer votre logiciel en tant que FOSS , vous pouvez choisir n'importe quelle licence «approuvée par l'OSI et / ou classée par la FSF comme étant gratuite». Sinon, vous devez utiliser une autre bibliothèque ou acheter une licence commerciale d'Oracle.

Et vous ne pouvez pas changer la licence de mysql-connector/jpuisque vous n'êtes pas le propriétaire de ses droits d'auteur (Oracle l'est).

5 Noname Nov 20 2020 at 17:36

Il existe plusieurs styles de licence en jeu ici;

  • Style de licence de type MIT / BSD / Apache
  • GPL
  • LGPL
  • Commercial

Le connecteur MySQL, en supposant que vous vouliez dire MySQL Connector / J, possède une double licence; Vous pouvez soit choisir la licence commerciale (vous devrez payer pour cela), soit la licence LGPL. La licence est une chose que font les auteurs d'un produit; vous ne pouvez pas changer la licence. Si la tâche à accomplir exige une certaine licence, vous demandez aux auteurs s'ils la proposent et combien vous devez payer pour l'obtenir; si c'est trop pour votre portefeuille ou si cette licence n'est pas disponible, votre seul recours à ce stade est soit de modifier les exigences, soit de supprimer complètement ce produit de votre base de code, et par exemple de passer à PostgreSQL (un autre moteur de base de données), pour exemple.

Notez que LGPL n'est pas la même chose que GPL. Cela ressemble plus à des licences de type MIT / BSD / Apache qu'à la GPL, donc une solution peut simplement être de demander aux avocats de votre client si la LGPL est acceptable.

Pour un examen ultérieur, vérifiez toujours avec le client le type de restrictions de licence dont il dispose. Par exemple, si MIT / BSD / Apache est le seul moyen, vous ne pouvez pas utiliser MySQL ici. Période. MySQL n'a pas de licence comme ça et Oracle (le propriétaire de MySQL) ne l'offre pas. Dans ce cas, il est possible qu'une licence commerciale ait suffi (donc, assurez-vous de facturer le client pour prendre en compte que vous devrez acquérir une licence commerciale). Vous pouvez également prendre en compte le fait que vous devrez passer du temps à apprendre à utiliser différents outils (tels que PostgreSQL, dont la licence est de type MIT / BSD / Apache), et facturer en conséquence.

Si vous avez besoin de plus d'informations pour savoir si la LGPL de MySQL et MySQL Connector / J est compatible avec les besoins de votre client, ou ce qui va se passer si vous ignorez une licence ou les exigences écrites de votre client, vous devriez demander à un avocat.

4 jlliagre Nov 21 2020 at 15:28

Selon https://www.mysql.com/about/legal/licensing/oem/, vous êtes libre d'utiliser n'importe quelle licence open source approuvée pour votre code, même s'il utilise la bibliothèque MySQL GPL.

La licence utilisée par les versions récentes de mysql-connector-java est décrite ici: https://oss.oracle.com/licenses/universal-foss-exception/

Voici un extrait du fichier LICENSE fourni avec le package du connecteur (c'est moi qui souligne):

Manuel d'utilisation des informations de licence

Connecteur MySQL / J 8.0 __________________________________________________________________

Ce manuel d'utilisation des informations de licence contient la licence produit d'Oracle et d'autres informations de licence, y compris les informations de licence pour les logiciels tiers qui peuvent être inclus dans cette distribution de MySQL Connector / J 8.0. Introduction Dernière mise à jour: août 2020

Informations sur la licence

Il s'agit d'une version de MySQL Connector / J 8.0, présentée par l'équipe MySQL d'Oracle. Ce logiciel est publié sous la version 2 de la licence publique générale GNU (GPLv2), comme indiqué ci-dessous, avec les autorisations supplémentaires suivantes :

Cette distribution de MySQL Connector / J 8.0 est distribuée avec certains logiciels qui sont concédés sous des conditions distinctes, comme indiqué dans un fichier ou un composant particulier ou dans la documentation de la licence. Sans limiter vos droits en vertu de la GPLv2, les auteurs de MySQL vous accordent par la présente une autorisation supplémentaire pour lier le programme et vos œuvres dérivées avec le logiciel sous licence séparée qu'ils ont inclus avec le programme.

Sans limiter l'octroi de droits ci-dessus sous la GPLv2 et l'autorisation supplémentaire concernant les logiciels sous licence séparée, ce connecteur est également soumis à l'exception universelle FOSS, version 1.0 , dont une copie est reproduite ci-dessous et peut également être trouvée avec sa FAQ surhttp://oss.oracle.com/licenses/universal-foss-exception.

L'achat d'une licence commerciale MySQL est une alternative. Il vous permettra d'utiliser une licence propriétaire pour votre propre code et donc d'être libre de le garder non publié.

Bien sûr, comme vous ne possédez pas de code et de bibliothèques MySql, vous n'avez pas le droit de modifier sa propre licence.

Avis de non-responsabilité: je ne suis pas avocat et ce n'est pas un avis juridique; Je ne prétends pas que ce qui précède est exact; ne prenez aucune décision commerciale en fonction de ce que vous lisez des inconnus sur Internet, moi y compris