Wie wirkt sich die Verwendung eines LGPL-Gems auf meine MIT-lizenzierte Anwendung aus?


21

Ich entwickle eine Open Source Ruby-Anwendung unter der MIT-Lizenz. Ich benutze diese Lizenz, weil ich den Benutzern der Anwendung keine Einschränkungen auferlegen möchte. Auch ich kann diese Lizenz tatsächlich lesen und verstehen.

Ich habe kürzlich begonnen, ein anderes Rubinjuwel in meinem Projekt zu verwenden ("somegem" erforderlich). Dieser Rubinstein steht unter der LGPL-Lizenz.

Muss ich irgendetwas an meinem Projekt ändern, weil ich dieses andere Rubinjuwel verwende, das mit der LGPL lizenziert ist? Mein Projekt enthält nicht den Quellcode für das andere Juwel und wird nicht mit meinem Projekt geliefert. Es wird einfach als Abhängigkeit aufgeführt, sodass Ruby Gems es installieren und mein Projekt es aus meinem Code aufrufen wird.

Darüber hinaus ist es hilfreich zu wissen, ob Lizenzen vorhanden sind, auf die ich achten muss, da sich deren Verwendung auf die Lizenz meines Projekts auswirken würde.

Es gibt noch einen anderen Beitrag zu diesem Thema, der jedoch anders formuliert ist. Da ich dieses Lizenzmaterial schwierig finde, hoffe ich, eine Antwort auf meine Situation zu bekommen.

Danke,
Corsen


1
Dies scheint eine Frage für Anwälte zu sein, nicht für Programmierer. (Das heißt: Dies ist eine gute, gut gestellte Frage, mit der einige Programmierer vielleicht Erfahrung haben ... aber das macht es nicht passend für Stack Overflow, da es sehr, sehr wenig mit Programmierung zu tun hat.)
Phrogz

7
Phrogz: Du übertreibst. Es ist eine einfache Lizenzfrage, die explizit durch den Text der Lizenz und durch zahlreiche FAQs beantwortet wird. Sie brauchen wirklich keinen Anwalt zum Lesen.
Vartec

Antworten:


26

Es wirkt sich nicht aus

LGPL - steht für Lesser GPL (früher Library GPL). Der wesentliche Unterschied zu GPL besteht darin, dass die Lizenz nicht für Software erforderlich ist, die die Bibliothek verwendet. Nur wenn Sie die Bibliothek ändern oder Teile des Codes direkt in Ihre Software aufnehmen würden, müsste Ihr Code LGPL sein. Auf der anderen Seite, wenn Sie nur gem in Ihrer App verwenden, ist es vollkommen in Ordnung, Ihre App mit jeder Lizenz zu behalten, die Sie möchten.

Der erwähnte Teil der LGPL:

Ein Programm, das keine Ableitungen eines Teils der Bibliothek enthält, das jedoch so konzipiert ist, dass es mit der Bibliothek arbeitet, indem es kompiliert oder damit verknüpft wird, wird als "Arbeit, die die Bibliothek verwendet" bezeichnet. Ein solches Werk ist für sich genommen kein abgeleitetes Werk der Bibliothek und fällt daher nicht in den Geltungsbereich dieser Lizenz.


1
Es gibt einige weitere Anforderungen an die LGPL-Bibliothek, die Sie erfüllen müssen, insbesondere wenn Sie den Import in ein geschlossenes Programm verschlüsseln. Das heißt nicht, dass Sie Ihren Code unter LGPL stellen müssen, sondern dass bestimmte Anforderungen erfüllt werden müssen. Ich bin mit dem Rubygen-Linking-Mechanismus nicht einverstanden, wahrscheinlich ist es mit Java-Import vergleichbar: Die LGPL und Java .
Hakre

0

Muss ich irgendetwas an meinem Projekt ändern, weil ich dieses andere Rubinjuwel verwende, das mit der LGPL lizenziert ist? Mein Projekt enthält nicht den Quellcode für das andere Juwel und wird nicht mit meinem Projekt geliefert. Es wird einfach als Abhängigkeit aufgeführt, sodass Ruby Gems es installieren und mein Projekt es aus meinem Code aufrufen wird.

Die LGPL-Software ist eine Abhängigkeit Ihrer Software. Es ist also tatsächlich Teil Ihrer Software. Die LGPL erlaubt die Verwendung von nicht freier Software (während MIT sogar freie Software ist), so dass eine Abhängigkeit kein Blocker ist.

Da es sich jedoch um eine Abhängigkeit handelt, müssen Sie den Quellcode angeben, wenn Sie Ihre Software vertreiben. Ich habe keine Ahnung, ob der Require-Mechanismus in Ruby immer auch Quellen liefert. Wenn ja, würde ich sagen, dass Sie bereits mit Quellen verbreiten. Wenn nicht, müssen Sie dafür sorgen, dass für jede Version dieses Edelsteins, die Sie mit Ihrer Software benötigen, für die Sie Quellen anbieten.

Sie sollten sich wahrscheinlich sowieso um Quellen kümmern, da das Drittanbieterprojekt (der Edelstein) möglicherweise offline geschaltet wird und Ihr Projekt dann beschädigt wird, da ein nicht vorhandener Edelstein nicht mehr benötigt wird.

Dies ist keine rechtliche Beratung, nur aus Sicht des Programmierers. Bedenken Sie, dass Benutzer Ihrer Software nach Quellen fragen, wenn Ihre Software die Bibliothek nutzt, und dass sie tatsächlich als Distribution angesehen werden kann, weil Sie require "somegem"dort geschrieben haben. Die rechtliche Definition der Distribution entspricht möglicherweise nicht der täglichen Erwartung eines Programmierers, Dateien auf eine CD-ROM zu brennen. Es ist daher ratsam, hier ein umfassenderes Konzept zu haben, um proaktiv zu bleiben, falls die Dinge nicht wie erwartet ausfallen.


1
"Sie müssen den Quellcode angeben, wenn Sie Ihre Software vertreiben." Nein, tun Sie nicht, wenn es öffentlich verfügbar ist.
Vartec

1
@vartec: wenn du vertreibst musst du quelle anbieten. Nur wenn Sie nicht kommerziell sind und der Code nicht geändert wird, können Sie diese Anforderung an das vorgelagerte Projekt delegieren (siehe GPL). Wenn die Bibliothek nicht von Ihnen vertrieben wird (in diesem Fall kann der Benutzer jedoch keine durch Hardencode verschlüsselten Setup-Anweisungen ändern, und es gibt tatsächlich Anforderungen an die LGPL, die austauschbar sind, sodass die LGPL-Kompatibilität möglicherweise beeinträchtigt wird), ist die Bereitstellung meiner Meinung nach am sichersten Quellen, so dass Reverse-Engineering- und Ersatzanforderungen leicht erfüllt werden können.
Hakre

@vartec: Öffentlich verfügbar zu sein bedeutet, dass Sie nicht verbreiten. Wenn der Edelsteinhändler keine Quellen anbieten kann, ist die Kopie des Edelsteins möglicherweise nicht legitim.
Hakre

LGPL, Abschnitt 4.e "Installationsinformationen
Vartec

1
@vartec: Genau. 4.e fährt fort: "(Wenn Sie Option 4d0 verwenden, müssen die Installationsinformationen mit der minimalen entsprechenden Quelle und dem entsprechenden Anwendungscode verbunden sein. Wenn Sie Option 4d1 verwenden, müssen Sie die Installationsinformationen auf die in Abschnitt 6 der GNU GPL angegebene Weise bereitstellen für die
Übermittlung der
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.