So ändern Sie die Lizenz des Java-Projekts von GNU / GPL auf MIT / BSD / Apache
Ich hatte eine Java-Anwendung entwickelt, die über eine mysql-connector-java-8.0.21.jar
Datei mit MySQL Workbench verbunden ist . Wenn ich das Projekt bereitstelle und Quellcode an den Client sende, sagt er Folgendes:
- 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).
- Ä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
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.
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/j
da Sie nicht Eigentümer des Urheberrechts sind (Oracle ist).
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.
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