Wie können GPL-kompatible Lizenzen wie MIT in GPL-Programmen verwendet werden, ohne von der Copyleft-Bestimmung betroffen zu sein?

19

Ich prüfe derzeit die Möglichkeiten und Auswirkungen der Verknüpfung mit einer GPL-Bibliothek für eine Anwendung im kommerziellen Kontext.

Soweit ich die GPL verstanden habe, besteht, solange die Anwendung intern verwendet wird, keine Verpflichtung, ihren Code freizugeben (auch wenn eine Kopie in eine kontrollierte Tochtergesellschaft verschoben wird).

Was ich nicht verstehe, ist der folgende Punkt aus den FAQ:

Wenn eine Bibliothek unter der GPL veröffentlicht wird (nicht die LGPL), bedeutet dies, dass jede Software, die sie verwendet, unter der GPL oder einer GPL-kompatiblen Lizenz sein muss ? Ja, da die Software, wie sie tatsächlich ausgeführt wird, die Bibliothek enthält.

Wenn ich mir die GPL-kompatiblen Lizenzen anschaue , scheinen einige von ihnen (wie die Boost -Lizenz ) die Veröffentlichung des Codes nicht zu erzwingen. Die Verwendung würde zu einer Situation führen, in der Sie möglicherweise die GPL-Lizenz einhalten, ohne die Verpflichtung zur Veröffentlichung Ihres Codes zu beachten (was nicht sehr glaubwürdig erscheint).

(Hinweis: Es gibt Komponenten in Adobe Photoshop, die unter einer Lizenz von Boost stehen, und ich glaube nicht, dass der Code auf Anfrage verfügbar ist.)

Die vernünftigste Erklärung wäre, dass ich etwas vermisse ... Könnten Sie mir bitte sagen, wo ich einen Fehler gemacht habe?

Louis Morazzani
quelle
1
+1 für Erläuterungen, nur weil Sie dieses Wort in einem Satz jemals verwenden würden
Jimmy Hoffa
@ JimmyHoffa +1 für Ihre Liebe zur Sprache.
Racheet
1
Woher weißt du, dass Boost GPL ist? Es hat eine eigene Lizenz. Die Standardregel lautet, dass GPLv2 nicht mit proprietärer Software gemischt wird. Auf dieser Seite gibt es eine Woche lang eine Frage, wie man das umgehen kann. Wir sollten alle GPL-Fragen verbieten.
Andrew T Finnell
Ich sehe, er sagte, Boost sei GPL-kompatibel. Der Rest meines Kommentars steht fest.
Andrew T Finnell

Antworten:

26

Wie können GPL-kompatible Lizenzen wie MIT in GPL-Programmen verwendet werden, ohne von der Copyleft-Bestimmung betroffen zu sein?

Kurze Antwort: Sie sind nicht. Sie werden dem Copyleft unterworfen.

Lange Antwort:

Der Wikipedia-Artikel zur Lizenzkompatibilität enthält einen guten Abschnitt zur GPL-Kompatibilität :

Viele der gebräuchlichsten Lizenzen für freie Software, wie die ursprüngliche MIT / X-Lizenz, ... sind "GPL-kompatibel". Das heißt, ihr Code kann ohne Konflikte mit einem Programm unter der GPL kombiniert werden (bei der neuen Kombination würde die GPL auf das Ganze angewendet werden ).

[Betonung hinzugefügt]

Und genauer gesagt aus den FSF-FAQ zur GPL-Kompatibilität :

Dies bedeutet, dass die andere Lizenz und die GNU GPL kompatibel sind. Sie können Code, der unter der anderen Lizenz veröffentlicht wurde, mit Code, der unter der GNU GPL veröffentlicht wurde, in einem größeren Programm kombinieren.

Und nur zur Erbauung, hier sind die Kommentare des FSF zu verschiedenen Lizenzen

Kommentar der FSF zur Boost-Lizenz

Dies ist eine laxe, nicht-copyleft-freie Softwarelizenz, die mit der GNU GPL kompatibel ist.

Was bedeutet, dass alles, was unter Boost lizenziert ist, leicht von der GPL subsummiert werden kann.

Wo es schwierig wird

Angenommen, wir haben ein Foounter Boost Barlizenziertes Projekt und ein unter GPL lizenziertes Projekt , das verwendet werden soll Foo.

Bar+Fooist zulässig, da die Lizenzen kompatibel sind und die Version von Bar+FooGPL wie auch Bardie von GPL sein muss. Foo, für sich und ohne Bar oder Bar+Foo , steht weiterhin unter der Boost-Lizenz zur Verfügung. Anders gesagt, Bar+Foohat keine Lizenzauswirkung auf Foosich.

Die resultierende Lizenz der Projektkombination ist nur für die Kombination ein vorausschauendes Ereignis. Es ist kein rückwirkendes Ereignis.

Wenn also jemand anderes Fooetwas mitnehmen und damit anfangen möchte, kann er dies immer noch ohne die Copyleft-Bereitstellung der GPL tun. Wenn sie jedoch die GPL übernehmen Bar+Foo, löschen Barund nur verwenden +Foo, sind sie nach wie vor an die Bedingungen der GPL gebunden, seitdem sie die GPL Bar+Fooerhalten hat.

Ihre andere Frage:

Soweit ich die GPL verstanden habe, besteht, solange die Anwendung intern verwendet wird, keine Verpflichtung, ihren Code freizugeben (auch wenn eine Kopie in eine kontrollierte Tochtergesellschaft verschoben wird).

Dies wird direkt von der FSF GPL-FAQ zur Quelldistribution beantwortet

Die GPL fordert Sie nicht auf, Ihre geänderte Version oder einen Teil davon freizugeben. Es steht Ihnen frei, Änderungen vorzunehmen und diese privat zu verwenden, ohne sie jemals freizugeben. Dies gilt auch für Organisationen (einschließlich Unternehmen). Eine Organisation kann eine geänderte Version erstellen und intern verwenden, ohne sie jemals außerhalb der Organisation freizugeben.

100% ige Tochtergesellschaften werden als Teil der Muttergesellschaft betrachtet, sodass Sie sich rechtlich im Klaren wären. FSF weist jedoch darauf hin, dass Sie den Geist der Freien Software verletzen.


quelle
3
Ich frage mich: Wenn ein Mitarbeiter ist mit der nicht veröffentlichten modifizierten Version in der Firma, würde er das Recht, den Quellcode von der Firma zu bekommen?
oder
@ GlenH7: Vielen Dank für Ihre sehr hilfreiche Erklärung (insbesondere der Teil "Wo es schwierig wird")
Louis Morazzani
1
@unor - Nein, dies würde eine private Nutzung durch das Unternehmen darstellen (der Mitarbeiter ist Teil des Unternehmens, keine separate Einheit).
Iheanyi
"Wenn sie jedoch Bar + Foo nehmen, Bar löschen und nur + Foo verwenden, sind sie immer noch an die Bedingungen der GPL gebunden, da Bar + Foo GPL-geschützt war." Bist du sicher? Foo war noch unter der Boost-Lizenz lizenziert. Soweit ich weiß, sollte die Boost-Lizenz auch in Kombination mit dem GPL-Code nicht entfernt werden. ("Die [...] oben genannte Lizenzgewährung, diese Einschränkung und der folgende Haftungsausschluss müssen in allen Kopien der Software, ganz oder teilweise, und in allen abgeleiteten Arbeiten der Software enthalten sein.")
lesderid
2
@ GlenH7 Klar, aber dürften sie überhaupt Foounter der GPL neu lizenzieren? Eine Unterlizenzierung wäre in Ordnung, aber dann müssten sie auch die Boost-Lizenz behalten Bar+Foo, nicht wahr ?
Lesderid
8

Mit "GPL-kompatibel" ist eine Lizenz gemeint, die nicht mit der GPL in Konflikt steht. Eine weniger restriktive Lizenz wie die Boost-Lizenz ist mit der GPL "kompatibel", da sie die Benutzer des Codes nicht daran hindert, etwas zu tun, was die GPL einem Benutzer erlauben würde. Das heißt, die Boost-Lizenz erlaubt es den Leuten, frei zu kopieren, was die GPL voraussetzt, dass die Leute erlaubt sind.

Ein Beispiel für eine Lizenz, die nicht "kompatibel" ist, ist eine Lizenz, für die den Originalautoren eine Gebühr berechnet wird, damit Benutzer Kopien verteilen können. Da die GPL ausdrücklich sowohl die kostenlose als auch die kostenpflichtige Verteilung zulässt, wäre diese restriktivere Lizenz nicht kompatibel.

Mit anderen Worten, die GPL sagt "Sie müssen $ A, $ B und $ C erlauben". Jede Lizenz, die $ A, $ B, $ C und auch $ D und $ E erlaubt, ist kompatibel. Eine Lizenz, die $ A und $ B aber nicht $ C erlaubt, wäre nicht.

Gort den Roboter
quelle
4
Das neue, kombinierte Werk ist also vollständig unter der GPL lizenziert, richtig? Aber der ursprüngliche Code, der unter MIT lizenziert ist, kann immer noch separat unter MIT verteilt werden, ohne die GPL zu verletzen, richtig?
Robert Harvey
1
IANAL, aber so funktioniert es.
Fabio Fracassi
4
" weil es die Benutzer des Codes nicht daran hindert, etwas zu tun, was die GPL einem Benutzer erlauben würde " - und auch, weil es den Benutzer nicht daran hindert, etwas zu tun, was die GPL von ihnen verlangen würde.
Ross Patterson
2
Kleiner Trottel, aber die GPL verbietet es nicht, Gebühren für so ziemlich alles zu erheben. siehe gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney
Maximus Minimus
1
Ich bin mir ziemlich sicher, dass die GPL es jedem erlaubt, für die Verteilung eine Gebühr zu erheben, aber es ist Leuten nicht gestattet, von anderen zu verlangen, dass sie eine Gebühr erheben, wenn sie sich selbst verteilen. Mit anderen Worten, ich kann Ihnen eine Kopie in Rechnung stellen, aber ich kann nicht verlangen, dass Sie mir eine Zahlung senden, wenn Sie eine Kopie an einen Dritten weitergeben.
Gort the Robot
1

Sie haben keinen Fehler gemacht: Die FAQ-Antwort war unvollständig. Es hätte gesagt werden müssen, dass das kombinierte Programm unter der GPL lizenziert werden muss, nicht unter einer GPL-kompatiblen Lizenz. Es wurde inzwischen korrigiert (siehe unten: Ich habe das Wichtige hervorgehoben):

Ja, weil das Programm tatsächlich eine Verknüpfung zur Bibliothek herstellt. Daher gelten die Bestimmungen der GPL für die gesamte Kombination. Die mit der Bibliothek verknüpften Softwaremodule können unter verschiedenen GPL-kompatiblen Lizenzen stehen, die gesamte Arbeit muss jedoch unter der GPL lizenziert werden . Siehe auch: Was bedeutet es zu sagen, dass eine Lizenz mit der GPL kompatibel ist?

Ich hatte zuvor gesagt: "Wenn eine Bibliothek unter der GPL veröffentlicht wird, muss jede Software, die sie verwendet, aufgrund ihres sogenannten" viralen "Charakters unter der GPL selbst sein. Eine zulässige GPL-kompatible Lizenz wie boost kann nicht verwendet werden . " Mit "Software, die es benutzt" meine ich die kombinierten Module und die Bibliothek.

Bennett McElwee
quelle
Ich glaube, dass dies ein weit verbreitetes Missverständnis ist. Es ist nicht erforderlich, Ihren Teil des Codes unter der GPL freizugeben, sofern eine kompatible Lizenz vorliegt. Die Lizenz für Ihren Teil kann auch freizügiger sein, aber nicht weniger als die GPL. Nur die kombinierte Arbeit bleibt unter der GPL, daher gelten die zusätzlichen Einschränkungen der GPL nur, wenn Sie Ihren Code zusammen mit der verknüpften GPL-Bibliothek verwenden. Siehe gnu.org/licenses/gpl-faq.html#GPLModuleLicense
ert
1
Ja, das ist richtig. Meine ursprüngliche Antwort hätte falsch interpretiert werden können. Zum Glück ist jetzt alles umstritten, da Gnu ihre FAQ aktualisiert haben, um das Richtige zu sagen.
Bennett McElwee