Ich schreibe Code, der eine Bibliothek mit GPL-Lizenz (nicht LGPL) und eine mit der 3-Klausel-BSD-Lizenz verwendet . Da ich eine Verknüpfung zu einer GPL-lizenzierten Bibliothek herstelle, muss mein Code ebenfalls GPL sein. Wie soll ich in der Praxis mit der originalen LICENSE.txt aus der BSD-Bibliothek umgehen?
(A) Kann ich ein Projekt so verteilen, dass der Hauptquellcode GPL-lizenziert ist und dann ein Unterverzeichnis BSD-lizenziert ist?
(B) Wenn ich nicht nur eine Verknüpfung zu Bibliotheken herstellen, sondern den BSD- und GPL-Code auf eine komplexere Weise verwenden und kombinieren würde, was würde ich dann mit der Datei LICENSE.txt tun?
Der BSD-Text mit drei Klauseln lautet: "Bei der Weiterverteilung des Quellcodes müssen der oben genannte Copyright-Hinweis, diese Liste der Bedingungen und der folgende Haftungsausschluss erhalten bleiben." daher sollte ich anscheinend den Copyright-Hinweis und diese Liste von Bedingungen irgendwo aufbewahren. Aber dann muss ich auch irgendwo die GPL-Lizenz txt-file ablegen.
Außerdem muss ich anscheinend nicht die "Weiterverteilung und Verwendung in Quell- und Binärform mit oder ohne Änderung sind zulässig, sofern die folgenden Bedingungen erfüllt sind:" Teil des BSD-Lizenztextes, da dies nur von mir verlangt wird Bewahren Sie die anderen Teile auf.
Wie und in welchen Textdateien sollte ich in der Praxis den GPL-Lizenztext und die Teile der BSD-Lizenz und der Urheberrechte, die ich behalte, organisieren?
BEARBEITEN: In Fall B würde ich also 3-Klausel-BSD-lizenzierten Code nehmen und ihn unter GPL weitergeben, was zulässig ist, da 3-Klausel-BSD-Lizenz (Einweg) mit GPL kompatibel ist . Ich frage nur, wie ich mit den Lizenztexten und Textdateien in der Praxis umgehen soll.
quelle
Antworten:
Der Einfachheit halber ist es wahrscheinlich am besten, das Ganze unter der GPL zu veröffentlichen. Die 3-Klausel-BSD-Lizenz hat keine Form des Kopierens. Sie haben also das Recht, sie umzubenennen, solange Sie die Kündigung beibehalten.
Sie erhalten zwei Arten von Dateien:
Und natürlich müssen Sie für jede binäre Version einen Link zur Quelle und zu beiden Headern in irgendeiner Form einfügen. Ich würde die Standard-GPL empfehlen, gefolgt von "Teile dieses Programms wurden ursprünglich unter der folgenden Lizenz veröffentlicht" oder so ähnlich. Sie können wahrscheinlich Beispiele dafür in freier Wildbahn finden, wenn Sie danach suchen.
Beachten Sie, dass ich kein Anwalt bin und mich weder auf Open Source-Lizenzen noch auf Lizenzen im Allgemeinen spezialisiert habe. Ich gebe lediglich weiter, wie meine Interpretation der gegebenen Lizenzierung zusammen aussehen würde.
quelle
Ok, das Lesen von Abschnitt 7 von GPLv3 erlaubt "zusätzliche Berechtigungen [die] nur für einen Teil des Programms gelten" [1]. Daher scheint es in Ordnung zu sein, einige der Dateien oder Verzeichnisse unter der BSD-Lizenz zu halten, da ich denke, dass das "Tun, was immer Sie wollen" der BSD-Lizenz eine "zusätzliche Berechtigung" ist.
Außerdem erlaubt Abschnitt 7, "die Bedingungen dieser Lizenz durch Bedingungen zu ergänzen:" (es folgt eine 6-Punkte-Liste der zulässigen Arten von Bedingungen), und alle 3 Klauseln (+ der Haftungsausschluss) der BSD-Lizenz sind abgedeckt, falls dies der Fall ist Um BSD- und GPL-Code in einer einzigen Datei zu mischen, müsste ich möglicherweise irgendwo eine ADDITIONAL_TERMS.txt einfügen, die die 3 Klauseln + Haftungsausschluss aus der BSD-Lizenz enthält.
(Um genau zu sein, habe ich die ganze Zeit, in der ich über die BSD-Lizenz gesprochen habe, die 3-Klausel-Lizenz AKA "Neue BSD-Lizenz" AKA "Modifizierte BSD-Lizenz" gemeint, auf die ich in meiner Frage verwiesen habe.)
[1] Solange ein Empfänger des Programms die zusätzlichen Berechtigungen entfernen darf, wenn er sie weiter verteilt. Und die BSD-Lizenz erlaubt dies.
quelle
Dies ist nach mehrfacher Auslegung der Lizenzbedingungen einfach nicht möglich.
gnu.org sagt für Version 2:
und für GPL v3 :
Andere Anwälte / Richter könnten natürlich andere Meinungen haben.
quelle