Wie verwalte ich in der Praxis Lizenzdateien, wenn ich GPL- und BSD-Lizenzcode kombiniere?

10

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.

Sampo Smolander
quelle
Das ist eine schlechte Idee. Eine einfache Websuche zeigt Ihnen warum. Aber das ganze Produkt wird GPL. Es gab schon früher Probleme damit.
Andrew T Finnell
2
@ Andrew Finnell: Warum ist es eine schlechte Idee? Das ganze Produkt ist GPL, da es sich um eine Komponente handelt, aber was ist daran falsch? Die BSD-lizenzierte Bibliothek ist weiterhin BSD-lizenziert. Benutzer verwenden keine BSD-Lizenzen, es sei denn, sie möchten, dass ihre Inhalte von Personen verwendet werden können, die restriktivere Lizenzen verwenden möchten.
David Thornley

Antworten:

1

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:

  • Ursprünglich BSD-Dateien: müssen beide Header haben, Reihenfolge ist meines Wissens nicht wichtig, nur dass sie da sind
  • Ihre Dateien und ursprünglich GPL-Dateien: müssen den GPL-Header haben

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.

Guvante
quelle
1

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.

Sampo Smolander
quelle
-1

Dies ist nach mehrfacher Auslegung der Lizenzbedingungen einfach nicht möglich.

gnu.org sagt für Version 2:

Weil es eine bestimmte Anforderung auferlegt, die nicht in der GPL enthalten ist; nämlich die Anforderung an Werbung des Programms. Die GPL besagt:

Sie dürfen der Ausübung der hierin gewährten Rechte durch den Empfänger keine weiteren Einschränkungen auferlegen.

Die Werbeklausel sieht eine solche weitere Einschränkung vor und ist daher GPL-inkompatibel.

Die überarbeitete BSD-Lizenz enthält keine Werbeklausel, wodurch das Problem behoben wird.

und für GPL v3 :

Warum ist die ursprüngliche BSD-Lizenz nicht mit der GPL kompatibel? (#OrigBSD)

Weil es eine bestimmte Anforderung auferlegt, die nicht in der GPL enthalten ist; nämlich die Anforderung an Werbung des Programms. In Abschnitt 6 der GPLv2 heißt es:

Sie dürfen der Ausübung der hierin gewährten Rechte durch den Empfänger keine weiteren Einschränkungen auferlegen.

GPLv3 sagt in Abschnitt 10 etwas Ähnliches. Die Werbeklausel sieht eine solche weitere Einschränkung vor und ist daher GPL-inkompatibel.

Die überarbeitete BSD-Lizenz enthält keine Werbeklausel, wodurch das Problem behoben wird.

Andere Anwälte / Richter könnten natürlich andere Meinungen haben.

johannes
quelle
1
Sind Sie sicher, dass Sie nicht über die 4-Klausel-BSD-Lizenz sprechen? "Weder der Name der <Organisation> noch die Namen ihrer Mitwirkenden dürfen ohne ausdrückliche vorherige schriftliche Genehmigung verwendet werden, um Produkte zu unterstützen oder zu bewerben, die von dieser Software abgeleitet sind." bezieht sich nicht auf Werbung in irgendeiner Form und bezieht sich tatsächlich auf die Marke der Organisation, nicht auf das Urheberrecht des Quellcodes.
Guvante
1
Tatsächlich! Ich war (wieder) verwirrt über die verschiedenen Revisionen!
Johannes