Erfordert die MIT-Open-Source-Lizenz die Veröffentlichung von Arbeitsderivaten (unter MIT-Lizenz)?

9

Ich suche eine Open Source-Lizenz für eine Bibliothek, die ich veröffentlichen möchte. Im Idealfall sollte es erlaubt sein, diese Bibliothek in kostenlosen oder kommerziellen Anwendungen zu verwenden, ohne mir eine Gebühr zu zahlen. Wenn jedoch abgeleitete Werke aus der Bibliothek erstellt werden (z. B. eine Verbesserung der Bibliothek), sollte sie allen Beteiligten zur Verfügung gestellt werden gleiche Lizenz.

Mit anderen Worten, ich möchte die folgende Ethik formulieren: "Sie profitieren kostenlos von dieser Arbeit, und wenn Sie sie verbessern, kann ich auch kostenlos von Ihrer Verbesserung profitieren." Es ist eine Art Copyleft-Lizenz, die ich suche.

Die MIT-Lizenz scheint eine mögliche Lösung zu sein, aber es ist mir unklar, ob abgeleitete Werke des von dieser Lizenz abgedeckten Codes allen öffentlich zugänglich gemacht werden MÜSSEN. Kann jemand dies klarstellen / bestätigen? Wenn es eine andere geeignetere Open Source-Lizenz gibt, die meine Anforderungen abdeckt, bin ich auch interessiert. Vielen Dank.

Jérôme Verstrynge
quelle
Eine etwas ausführlichere Diskussion finden Sie hier: programmers.stackexchange.com/questions/12394/…
Dipan Mehta

Antworten:

9

Die MIT-Lizenz erfordert nicht, dass abgeleitete Werke Open Source sind. Sie suchen die GPL .

Die GPL gewährt den Empfängern eines Computerprogramms die Rechte der Free Software Definition und verwendet Copyleft, um sicherzustellen, dass die Freiheiten bei jeder Verteilung der Arbeit erhalten bleiben, auch wenn die Arbeit geändert oder ergänzt wird. Die GPL ist eine Copyleft-Lizenz, was bedeutet, dass abgeleitete Werke nur unter denselben Lizenzbedingungen verbreitet werden können ...

Ameise
quelle
1
Die GPL zwingt den Benutzer, abgeleitete Arbeiten unter der GPL zu veröffentlichen, was zu viele Einschränkungen mit sich bringt. Ich möchte nur, dass Änderungen an meiner Bibliothek zur Verfügung gestellt werden. Soll ich LGPL verwenden?
Jérôme Verstrynge
8
In diesem Fall ist die LGPL besser geeignet.
Ameise
Beachten Sie, dass die (L) GPL nur bei Neuverteilung ausgelöst wird. Ein Endbenutzer, der ein abgeleitetes Werk nur für den privaten Gebrauch erstellt, ist nicht an (L) GPL-Verpflichtungen gebunden. Das heißt, genau genommen ist dies keine Antwort auf die formulierte Frage.
MSalters
7
@MSalters: Ich denke, es wäre fast unmöglich zu wissen, dass jemand etwas aus Ihrem Code abgeleitet hat, wenn er es nicht in irgendeiner Form veröffentlicht hat, was dieses Problem etwas strittig macht.
Ameise
6

Kurze Antwort

Eine Kombination aus der Eclipse Public License und der LGPL stellt genau das sicher, was Sie wünschen: Änderungen Ihres Codes müssen verfügbar gemacht werden, aber die Verwendung des Codes in einem größeren Produkt erzwingt keine erneute Lizenzierung des größeren Produkts. Die Kombination ist erforderlich, damit der Code sowohl in GPL- als auch in Nicht-GPL-Projekten verwendet werden kann.

Auf diese Weise haben Projekte wie JGraphT durchgeführt. Sie haben ihr Projekt unter EPL und LGPL erneut lizenziert. Die Motivation und Vorgehensweise ist in ihrem Wiki beschrieben .

Lange Antwort

Ich denke, die Mozilla Public License ( MPL ) oder die Eclipse Public License ( EPL ) ist die Lizenz, nach der Sie suchen, denn "wenn abgeleitete Werke aus der Bibliothek erstellt werden (z. B. eine Verbesserung der Bibliothek), ist es [IS ] allen unter derselben Lizenz zur Verfügung gestellt. "

Die MPL- und die EPL-Lizenz liegen zwischen GPL und MIT.

Mit MIT kann der Benutzer alles damit machen, einschließlich Änderung, Verkauf und Nichtrückgabe des geänderten Codes an die Community.

Die GPL zwingt den Benutzer, den gesamten Code an die Community weiterzugeben, auch wenn Ihre Bibliothek nur 1% des gesamten Produkts ausmacht.

LGPL zwingt den Benutzer, die Änderung des LGPL-Teils des Codes preiszugeben.

MPL und EPL ähneln LGPL: Sie zwingen den Benutzer auch, die geänderte Quelle zur Verfügung zu stellen. "Geänderte Quelle" enthält nur den Teil des MPL- / EPL-abgedeckten Codes. Das heißt, der Benutzer kann ein neues Produkt aus Ihrer Bibliothek erstellen. Wenn er den MPL- / EPL-Teil modifiziert, muss er ihn veröffentlichen. Die neuen Dinge von ihm müssen nicht veröffentlicht werden.

Ich finde die MPL / EPL passender, da LGPL explizit von "Bibliotheken" spricht und MPL nur von "Covered Software" (was einen breiteren Anwendungsbereich darstellt).

Die Auswahl von EPL führt jedoch zu Problemen beim Kämmen der Software mit der GPL-Software: Die EPL ist nicht mit der GPL kompatibel . Dies ist nicht der Fall, wenn Sie nur die MPL verwenden .

Wenn Sie sicherstellen möchten, dass Ihr Code sowohl in GPL- als auch in Nicht-GPL-Projekten verwendet werden kann, lizenzieren Sie den Code unter LGPL und EPL doppelt, wie in der kurzen Antwort beschrieben.

Beispiele

  • JGraphT
  • Wieder anmelden
  • Qooxdoo . Sie planen, "die Lizenzbedingungen für qooxdoo zu vereinfachen und zu modernisieren" und wechseln daher von der doppelten Lizenzierung zum MIT.
koppor
quelle
Können Sie bitte erklären, warum die MPL Ihrer Meinung nach den Kriterien entspricht, nach denen das OP sucht?
maple_shaft
Sollte "Doppellizenz" wie "Wenn Sie diese Software in einem GPL-Produkt verwenden, wird diese Software für Sie unter GPL lizenziert, andernfalls unter MPL" aussehen? Gibt es Projekte, die so etwas tun?
9000
@ 9000 Laut den FAQ bei GNU wird der Code sowohl von MPL als auch von GNU abgedeckt. Der zweite Absatz ist etwas seltsam und ich habe die Auswirkungen nicht ganz verstanden.
Koppor