So ändern Sie die Lizenz des Java-Projekts von GNU / GPL auf MIT / BSD / Apache

Nov 20 2020

Ich hatte eine Java-Anwendung entwickelt, die über eine mysql-connector-java-8.0.21.jarDatei mit MySQL Workbench verbunden ist . Wenn ich das Projekt bereitstelle und Quellcode an den Client sende, sagt er Folgendes:

  1. Die Lizenz darf keine lizenzierte GNU / GPL / Nicht spezifiziert haben, die eine Offenlegungspflicht hat (es ist in Ordnung, MIT / BSD / Apache ohne Offenlegungspflicht zu haben).
  2. Ändern Sie die GNU / GPL-Lizenz in MIT oder BSD

Nun ist meine Frage, wie man die Lizenz des Projekts ändert oder wie man die Lizenz von Bibliotheksdateien wie ändert Mysql connector.jar.

Da ich eine Open Source-Lizenz für den Quellcode benötige, muss ich die Lizenzbibliotheken (die im Projekt verwendet werden) ändern.

Antworten

17 MSalters Nov 20 2020 at 18:27

Sie können die Codelizenz nicht von anderen ändern, z mysql-connector-java. Diese Lizenz wird vom Autor dieser bestimmten Komponente (Oracle-Unternehmen) festgelegt.

Wenn Ihr Kunde die Anforderung im Voraus angegeben hat, haben Sie ein Problem. Andernfalls können Sie die Anforderung einfach ablehnen und angeben, dass dies außerhalb Ihrer Kontrolle liegt.

PS Die Verwendung des Begriffs "Offenlegungspflicht" in diesem Zusammenhang deutet darauf hin, dass der Kunde das Gesetz nicht versteht. Wenn der Kunde die GPL jedoch ausdrücklich als Beispiel für verbotene Lizenzen nannte, bevor er sich auf den Vertrag einigte, macht der Missbrauch des Begriffs "Offenlegungspflicht" den Vertrag nicht ungültig.

6 MartinSchröder Nov 21 2020 at 03:43

mysql-connector / j ist von Oracle als GPLv2 lizenziert, hat jedoch eine FOSS-Ausnahme . Wenn Sie Ihre Software als FOSS vertreiben möchten , können Sie eine beliebige Lizenz auswählen, "die vom OSI genehmigt und / oder von der FSF als kostenlos eingestuft wurde". Andernfalls müssen Sie eine andere Bibliothek verwenden oder eine kommerzielle Lizenz von Oracle kaufen.

Und Sie können die Lizenz von nicht ändern, mysql-connector/jda Sie nicht Eigentümer des Urheberrechts sind (Oracle ist).

5 Noname Nov 20 2020 at 17:36

Hier spielen mehrere Lizenzstile eine Rolle.

  • Lizenzstil im MIT / BSD / Apache-Stil
  • GPL
  • LGPL
  • Kommerziell

Der MySQL-Connector ist doppelt lizenziert, vorausgesetzt, Sie meinen MySQL Connector / J. Sie können entweder die kommerzielle Lizenz (dafür müssen Sie bezahlen) oder die LGPL-Lizenz auswählen. Die Lizenzierung ist eine Sache, die die Autoren eines Produkts tun. Sie können die Lizenz nicht ändern. Wenn für die jeweilige Aufgabe eine bestimmte Lizenz erforderlich ist, fragen Sie die Autoren, ob sie diese anbieten und wie viel Sie dafür bezahlen müssen. Wenn es zu viel für Ihr Portemonnaie ist oder diese Lizenz nicht verfügbar ist, besteht Ihr einziger Ausweg zu diesem Zeitpunkt darin, entweder die Anforderungen zu ändern oder das Produkt vollständig aus Ihrer Codebasis zu entfernen und z. B. zu PostgreSQL (einer anderen DB-Engine) zu wechseln Beispiel.

Beachten Sie, dass LGPL nicht mit GPL identisch ist. Es ähnelt eher MIT / BSD / Apache-Lizenzen als GPL-Lizenzen. Ein Ausweg kann daher darin bestehen, die Anwälte Ihres Mandanten zu fragen, ob LGPL akzeptabel ist.

Erkundigen Sie sich bei zukünftigen Überlegungen immer beim Kunden, welche Lizenzbeschränkungen er hat. Wenn beispielsweise MIT / BSD / Apache der einzige Weg ist, können Sie MySQL hier nicht verwenden . Zeitraum. MySQL ist nicht so lizenziert und Oracle (der Eigentümer von MySQL) bietet es nicht an. In diesem Fall ist möglicherweise eine kommerzielle Lizenz ausreichend (stellen Sie daher sicher, dass Sie dem Kunden eine Gebühr in Rechnung stellen, um zu berücksichtigen, dass Sie eine kommerzielle Lizenz erwerben müssen). Berücksichtigen Sie alternativ, dass Sie einige Zeit damit verbringen müssen, sich mit verschiedenen Tools vertraut zu machen (z. B. PostgreSQL, dessen Lizenz MIT / BSD / Apache-Stil ist), und rechnen Sie entsprechend ab.

Wenn Sie weitere Informationen darüber benötigen, ob die LGPL von MySQL und MySQL Connector / J mit den Anforderungen Ihres Kunden kompatibel ist oder was passieren wird, wenn Sie entweder eine Lizenz oder die schriftlichen Anforderungen Ihres Kunden ignorieren, sollten Sie einen Anwalt fragen.

4 jlliagre Nov 21 2020 at 15:28

Gemäß https://www.mysql.com/about/legal/licensing/oem/Es steht Ihnen frei, eine genehmigte Open Source-Lizenz für Ihren Code zu verwenden, selbst wenn diese die MyLQL-Bibliothek der GPL verwendet.

Die von neueren Versionen von mysql-connector-java verwendete Lizenz wird hier beschrieben: https://oss.oracle.com/licenses/universal-foss-exception/

Hier ist ein Auszug aus der LICENSE-Datei, die mit dem Connector-Paket geliefert wurde (Schwerpunkt Mine):

Lizenzinformationen Benutzerhandbuch

MySQL Connector / J 8.0 __________________________________________________________________

Dieses Benutzerhandbuch für Lizenzinformationen enthält die Produktlizenz von Oracle und andere Lizenzinformationen, einschließlich Lizenzinformationen für Software von Drittanbietern, die in dieser Distribution von MySQL Connector / J 8.0 enthalten sein können. Einleitung Letzte Aktualisierung: August 2020

Lizenzinformationen

Dies ist eine Version von MySQL Connector / J 8.0, die Ihnen vom MySQL-Team von Oracle zur Verfügung gestellt wurde. Diese Software wird unter Version 2 der GNU General Public License (GPLv2) (siehe unten) mit den folgenden zusätzlichen Berechtigungen veröffentlicht :

Diese Verteilung von MySQL Connector / J 8.0 wird mit bestimmter Software verteilt, die unter separaten Bedingungen lizenziert ist, wie in einer bestimmten Datei oder Komponente oder in der Lizenzdokumentation angegeben. Ohne Ihre Rechte unter der GPLv2 einzuschränken, erteilen Ihnen die Autoren von MySQL hiermit eine zusätzliche Erlaubnis, das Programm und Ihre abgeleiteten Werke mit der separat lizenzierten Software zu verknüpfen, die sie im Programm enthalten haben.

Ohne die vorstehende Gewährung von Rechten aus der GPLv2 und die zusätzliche Erlaubnis für separat lizenzierte Software einzuschränken, unterliegt dieser Connector auch der Universal FOSS Exception, Version 1.0 , von der eine Kopie unten reproduziert wird und die zusammen mit den FAQ unter zu finden isthttp://oss.oracle.com/licenses/universal-foss-exception.

Der Kauf einer kommerziellen MySQL-Lizenz ist eine Alternative. Sie können damit eine proprietäre Lizenz für Ihren eigenen Code verwenden und ihn so unveröffentlicht lassen.

Da Sie keinen MySQL-Code und keine Bibliotheken besitzen, haben Sie natürlich kein Recht, die eigene Lizenz zu ändern.

Haftungsausschluss: Ich bin kein Anwalt und dies ist keine Rechtsberatung. Ich behaupte nicht, dass das oben Genannte korrekt ist; Treffen Sie keine Geschäftsentscheidungen auf der Grundlage von Informationen, die Sie von Fremden im Internet, einschließlich mir, gelesen haben