Was bedeutet eigentlich "Unterlizenz"?

13

Zunächst ist klar, dass das Recht auf Unterlizenzierung Ihnen nicht das Recht auf Neulizenzierung einräumt.

Angenommen, wir haben eine Bibliothek mit MIT-Lizenz (1 Datei), jemand fügt der Bibliothek einige Funktionen hinzu, setzt sie jedoch unter die GPL (in derselben Datei). Oder wenn jemand Unterlizenzen vergeben möchte, muss er den Code trennen?

Wenn jemand die Bibliothek benutzen möchte, wie werden die Lizenzen gehandhabt?
Angenommen, der Entwickler verwendet nur die Funktionen unter der MIT-Lizenz, auch wenn in der Datei einige Funktionen unter der GPL enthalten sind.
Muss er seine Bewerbung aufgrund des GPL-Lizenzcodes unter die GPL stellen?
Muss er den GPL-Code entfernen, um von den GPL-Einschränkungen befreit zu sein, oder kann er die Bibliothek nur unter MIT-Berechtigungen / -Beschränkungen verwenden, solange er den GPL-Code nicht verwendet?

Lilian A. Moraru
quelle

Antworten:

5

Jemand fügt der [MIT] -Bibliothek einige Funktionen hinzu, setzt sie jedoch unter die GPL (in derselben Datei). Wenn jemand [anderes] eine Unterlizenz erwerben möchte, [muss] er den Code trennen?

Wenn Sie mit Unterlizenz den Code unter der weniger einschränkenden MIT-Lizenz meinen, dann ja. Die Person, die ihren neuen Code unter der GPL veröffentlicht, sagt im Grunde: "Sie können meinen Code nur verwenden, wenn Ihr Code auch unter den Bedingungen der GPL verbreitet wird."

Muss [der Sub-Lizenzgeber] den [neu lizenzierten] GPL-Code entfernen, um von den GPL-Beschränkungen frei zu sein?

Ja.

Robert Harvey
quelle
Ich habe mir Open Source-Lizenzen angesehen ( tldrlegal.com/browse ). Ich möchte weitere Benutzer der Bibliothek (die diese möglicherweise von jemand anderem verwenden) vor zusätzlichen Einschränkungen schützen. Fast jede populäre freizügige Open-Source-Lizenz erlaubt die Unterlizenzierung. Ms-PL scheint gut dafür, aber es hat andere Einschränkungen (Es gibt auch GPL, aber ich möchte Benutzer der Bibliothek nicht zwingen, ihre Software GPL) ...
Lilian A. Moraru
Mir ist nicht klar, was "Unterlizenzierung" damit zu tun hat. Versuchen Sie, eine Lizenz auszuwählen, die dies zulässt, und was bedeutet "Unterlizenzierung" für Sie?
Robert Harvey
Von programmers.stackexchange.com/questions/105912/… Ich verstehe, dass jemand eine andere Lizenz zur aktuellen Lizenz mischen kann und zu den Einschränkungen der aktuellen Bibliothek die Einschränkungen der zusätzlichen Bibliothek hinzugefügt werden. Oder man wendet die zusätzliche Bibliothek auf den Code an, den er der ursprünglichen Quelle hinzugefügt hat. Und nein, ich würde eine Lizenz vorziehen, die es niemandem erlaubt, eine restriktivere Lizenz einzumischen.
Lilian A. Moraru
3
Ich denke, Sie müssen dies einfach halten; Betrachten Sie es als "Verteilung", nicht als "Unterlizenzierung". Mit allen Open-Source-Lizenzen können Benutzer den Code intern nach Belieben verwenden. Copyleft-Beschränkungen werden erst bei der Verbreitung erkennbar. In Ihrem Fall haben Sie jemanden, der seinen Code GPL-fähig machen möchte. Die resultierende Wahl (die Sie nur treffen müssen, wenn Sie sie weitergeben) ist einfach: Sie leben entweder mit den neuen Einschränkungen, die er auferlegt hat, oder Sie meiden seinen Code und bleiben beim ursprünglichen MIT-lizenzierten Code.
Robert Harvey
1
Die Antwort hier ist meistens falsch. Hinzufügen einer Antwort unten zur Verdeutlichung.
Chris Travers
20

IANAL, aber ich habe dieses und viele ähnliche Themen mit Anwälten genug besprochen, um eine gute Vorstellung davon zu haben, wovon ich hier spreche. Dies ist keine Rechtsberatung. Die beste Hintergrundlesung ist Larry Rosens Buch im Kontext von Open-Source-Software.

Rechte, Lizenzen, Urheber- und Unterlizenzen

Nach dem Urheberrecht hat ein Urheber bestimmte ausschließliche Rechte an seinem Werk. Die meisten oder alle (abhängig von der Rechtsprechung) können exklusiv oder nicht exklusiv an Dritte lizenziert werden. Wenn eine Unterlizenzierung zulässig ist, kann ein Lizenznehmer einige oder alle Rechte an der Lizenz an einen Dritten weitergeben, indem er direkt mit ihnen einen Vertrag abschließt.

Derzeit wird in den USA gesetzlich davon ausgegangen, dass ausschließliche Lizenznehmer ein Unterlizenzierungsrecht haben (obwohl ich davon ausgehe, dass dies in der ausschließlichen Lizenz näher erläutert werden könnte). Dies ist sinnvoll, da davon ausgegangen wird, dass exklusive Lizenznehmer die Kontrolle haben. Es wird nicht davon ausgegangen, dass nicht ausschließliche Lizenznehmer vom Lizenzgeber ein solches Monopol erhalten.

Angenommen, ich schreibe einen Roman. Angenommen, ich biete eine exklusive Lizenz für das Werk in seiner aktuellen Form als Buch an und ich biete jemand anderem eine nicht exklusive Lizenz an, um eine Fortsetzung zu machen, bei der es sich um ein abgeleitetes Werk handelt. Der exklusive Lizenznehmer kann nicht exklusive Lizenzen an andere Autoren vergeben, um Auszüge aus dem Buch durch Unterlizenzierung zu verwenden. Der nicht ausschließliche Lizenznehmer kann weder eine weitere nicht autorisierte Fortsetzung meines Romans autorisieren, noch kann der ausschließliche Lizenznehmer ein Recht unterlizenzieren, das ihm nicht gewährt wurde (z. B. Filmrechte).

BSD vs MIT-Lizenzen und Sublicensing: Ein möglicherweise großer Unterschied

Dieser Abschnitt basiert hauptsächlich auf Rosens Buch (oben). Wenn Sie Rechtsberatung benötigen, beauftragen Sie bitte einen Anwalt und holen Sie diese nicht von Stack Exchange ab.

Die MIT-Lizenz erlaubt ausdrücklich die Unterlizenzierung, die BSD-Lizenz nicht. Nach der obigen Diskussion bedeutet dies, dass die MIT-Lizenz etwas zulässt, was die BSD-Lizenz in den meisten Ländern wahrscheinlich nicht zulässt, nämlich die Unterlizenzierung. Beide Lizenzen richten sich jedoch nur an den bereitgestellten Code und die bereitgestellte Software, und keiner beschränkt, unter welchen Bedingungen ein Gesamtwerk lizenziert werden kann. Dies führt zu einer erheblichen Frage, wie die GPL v3 so zu interpretieren ist, dass sie unter anderem mit den BSD-Lizenzen kompatibel ist.

Unter der MIT-Lizenz können Sie im Grunde zwei scheinbar ähnliche Dinge tun:

1) Sie können das Werk in Ihre eigenen Werke einbinden und unter einer restriktiveren Lizenz verbreiten.

2) Sie können die ursprüngliche MIT-lizenzierte Arbeit übernehmen, zusätzliche Einschränkungen hinzufügen und die Arbeit unter einer restriktiveren Lizenz verteilen, ohne den Code zu ändern. Die GPL v3 behauptet, dass dies kompatibel sein muss, wenn die GPL alle Bedingungen der Lizenz regelt. [1]

In der BSD-Lizenzfamilie können Sie jedoch nur Ihren eigenen Code und die von Ihnen erstellten abgeleiteten Werke einschränken. Sie können sie nicht zum ursprünglichen Code hinzufügen, indem Sie nur einige der Ihnen gewährten Rechte weitergeben. Ich kann das BSD-lizenzierte PostgreSQL nicht in PostSQL umbenennen und unter der GPL lizenzieren, aber ich kann das MIT-lizenzierte Kerberos nehmen und es als HadesHound umbenennen und unter der GPL lizenzieren (in beiden Fällen unter der Annahme, dass nein Code hat sich geändert). Dies bedeutet, dass das Vehikel für Rechte unterschiedlich ist (immer direkt im Fall der BSD-Lizenz, entweder direkt oder indirekt im Fall der MIT-Lizenz).

Schlussfolgerungen

Unterlizenz ist ein juristischer Begriff. Wenn Sie wissen möchten, was es tatsächlich bedeutet, empfehle ich, mit Anwälten, dem Software Freedom Law Center und anderen zu sprechen und juristische Wörterbücher zu konsultieren. Die Grundidee ist jedoch, dass ein Lizenznehmer, wenn dies gewährt wird, Lizenzgeber für einige der Rechte des erhaltenen Zuschusses werden kann, ungeachtet eines anderen Anspruchs, den er möglicherweise auf urheberrechtliche Kontrolle über das, was er verteilt, hat.

Sie fragen nach einem bestimmten Rechtsdokument und einem darin verwendeten Begriff. Ich hoffe, dass dies genau erklärt, was dieser Begriff bedeutet und welche Auswirkungen er hat.

Viele Ihrer Fragen sind wahrscheinlich langwierig und kompliziert [2] und hängen von der Gerichtsbarkeit ab. Eine Grundregel für die MIT-Lizenz lautet jedoch: Wenn Ihr Kanal behauptet, dass er jetzt unter der GPL lizenziert ist, wird er unter der GPL lizenziert. Dies kann jedoch eine sichere Annahme unter der BSD-Lizenz sein oder auch nicht. Dies gilt unabhängig davon, ob die ursprüngliche Version geändert wurde oder nicht, wenn die MIT-Lizenz verwendet wurde. Unter der BSD-Lizenz ist der Umfang der Änderungen in der Tat maßgeblich für die Lizenz.

[1] Eine Lösung besteht darin, die GPL anders zu sehen und "angemessene rechtliche Hinweise" (zusätzliche Einschränkungen gemäß Abschnitt 7) zuzulassen , um Hinweise auf zusätzliche Lizenzrechte aufzunehmen. In diesem Fall hätte man zusätzliche Berechtigungen, die entfernbar waren, geregelt unter Abschnitt 7 als zusätzliche Berechtigungen, erlaubt aber auch als zusätzliche Einschränkung (unter Abschnitt 7 (b)) einen Hinweis, dass bestimmte Rechte nicht entfernbar sind. Dies ist eines der Dinge, die ich an der GPL v3 nicht mag, nämlich, dass man sich dabei wie ein Anwalt überlegt, wie man die Lizenzkompatibilität regelt.

[2] Beispielsweise ist offen, ob die Verbreitung von Software, die auf eine Bibliothek eines Drittanbieters verweist, überhaupt eine urheberrechtliche Genehmigung erfordert. Wenn dies der Fall ist, dann benötigt PostgreSQL, das unter MinGW kompiliert wurde , die Erlaubnis von Microsoft und kann jederzeit widerrufen werden. Wenn dies nicht der Fall ist, kann ich proprietäre Programme schreiben, die gegen GNU Readline und die FSF verlinken Dies ist eine Urheberrechtsverletzung. Aufgrund dieser offenen Frage können die meisten Ihrer Fragen, ob ein Entwickler unter einer anderen Lizenz als der GPL auf eine Bibliothek verlinken kann, nicht mit Sicherheit beantwortet werden.

Chris Travers
quelle
1
tl; dr: Sprich mit einem Anwalt.
Robert Harvey
1
Zum Teil ja. Aber ich bin auch der Meinung , dass als Profis brauchen wir relativ diese Themen zu informieren. Wenn die einzige Frage lautet "Kann ich MIT-lizenzierten Code in meiner GPL-App verwenden", kann diese sicher mit "Ja" beantwortet werden. Wenn die Frage lautet "Kann ich meine proprietäre Anwendung mit einer GPL-Version einer MIT-lizenzierten Bibliothek verknüpfen?" Das ist ein guter Zeitpunkt, um mit einem Anwalt zu sprechen.
Chris Travers
1
(Ich bin mir auch nicht sicher, ob eine Unterlizenzierung jemals für Open-Source-Software FWIW erforderlich ist.)
Chris Travers,
0

Ich bin kein Anwalt und spiele auch keinen im Fernsehen:

Während die Standardantwort für eine Frage wie diese nur ein Gespräch mit einem Anwalt ist, ist es meiner Meinung nach eine bessere Antwort, mit dem ursprünglichen Autor zu sprechen. Sagen Sie ihnen, was Sie damit machen und was Ihre Zielgruppe ist. Denken Sie daran, dass der Autor durch die Freigabe unter einer Lizenz nicht auf sein Urheberrecht für seine Werke verzichtet. Der Autor kann frei wählen, was er damit zulassen möchte. Der Autor kann sagen "Sie dürfen diese Bibliothek unter dieser anderen Lizenz, die die von Ihnen gewünschten Anforderungen hat, spalten" oder einfach sagen "Sie dürfen Ihre Software unter der von Ihnen gewünschten Lizenz freigeben. Ich verzichte auf die Anforderung für X, solange Sie dies tun." . Ich persönlich habe die Sondergenehmigung erhalten, Open Source-Software eines Autors unter Apache anstelle von GPL zu veröffentlichen. Gewährt für ein großes, aktuell unterstütztes Projekt wie Qt,

In Anbetracht dessen, dass ich Tonnen von Open Source-Anwendungen sehe, die unter der GPL veröffentlicht wurden. Ich würde sagen, dass Autoren wirklich nicht verstehen, was das wirklich bedeutet. Denken Sie daran, wenn Sie GPL-Code verwenden, auch wenn es sich um eine einzelne Zeile handelt, muss Ihre gesamte Anwendung unter den Bedingungen der GPL veröffentlicht werden (das ist natürlich etwas extrem, aber kein Open-Source-Autor würde Sie für eine einzelne Zeile suchen - aber es ist die Anforderung der Lizenz).

Ich bin auch nicht mit Chris Travers 'Antwort einverstanden.

Gemäß dieser Tabelle erlauben sowohl BSD als auch MIT, dass jemand unter einer anderen Lizenz veröffentlicht. Hier ist eine andere Quelle, die eine Unterlizenzierung vorschlägt. Ich habe die neue BSD-Lizenz gelesen und es spricht nichts dagegen, dass Sie unter einer anderen Lizenz veröffentlicht werden dürfen. Es gibt jedoch Bestimmungen, die Ihnen das Ändern der Lizenz in einem abgeleiteten Produkt nicht untersagen.

Natalie Adams
quelle
Ich bin der "Autor". Ich möchte sicherstellen, dass alles gut für die Benutzer ist.
Lilian A. Moraru
Die BSD-Lizenz erfordert, dass Sie die Lizenz auf Kopien des Quellcodes platzieren. Die Lizenz sieht Lizenzgewährungen direkt vom Autor vor. Ohne Unterlizenzierung gibt es keinen Mechanismus, mit dem Sie die Lizenz für vorhandenen BSD-lizenzierten Code ändern können, ohne Ihre eigenen Urheberrechte für Ihren eigenen Code direkt geltend zu machen. Mithilfe der Unterlizenzierung können Sie nämlich Einschränkungen hinzufügen, die in der ursprünglichen Lizenz nicht enthalten sind. Hoffe das klärt es auf. Wieder fand ich Rosens Buch hier sehr hilfreich.
Chris Travers
Sobald Sie Ihre eigenen Urheberrechte geltend machen, entfällt natürlich die Unterscheidung. Wenn Sie der Datei Ihren eigenen Code hinzugefügt haben, können Sie beliebige Einschränkungen hinzufügen, die jedoch nur für Ihren eigenen Code gelten. Sie können diese jedoch nicht gegen den Code geltend machen, den Sie unter der BSD-Lizenz erhalten haben, ohne ein ausdrückliches Recht auf Unterlizenzierung. Der Unterschied besteht also darin, Einschränkungen für Ihren eigenen Code geltend zu machen und sie für den Code
Chris Travers