Open Source-Lizenzbeschränkungen für GPL und LGPL [geschlossen]

107

Ich habe Probleme, die Nutzungsberechtigungen von Open Source zu verstehen. Ich habe irgendwo gelesen, dass GPL oder LGPL erzwingen, dass Software, die GPL-Software verwendet, auch Open Source veröffentlicht werden muss. Ich möchte eine Anwendung erstellen, die eine Open-Source-Bilderkennungsbibliothek verwendet. Kann ich diese Anwendung verkaufen oder muss es Open Source sein?

Vielen Dank!

rsinha
quelle

Antworten:

80

Mit LGPL können Sie die Open Source-Software mit Ihrer Anwendung verwenden und verteilen, ohne den Quellcode für Ihre Anwendung freizugeben.

Für die GPL müssen Sie den Quellcode Ihrer Anwendung freigeben, wenn Sie die GPL-lizenzierte Open Source-Software für Ihre Anwendung verwenden und verteilen möchten. Mit anderen Worten, Ihre Anwendung muss auch unter der GPL lizenziert sein.

Robert Harvey
quelle
14
Beachten Sie, dass die LGPL angibt, dass die verwendete Bibliothek austauschbar sein muss. Eine statische Verknüpfung ist daher nicht möglich.
Dykam
1
Eine "DLL" (Dynamic Link Library) wäre also legal, richtig?
Robert Harvey
Nur wenn Sie auch den Quellcode für diese DLL sowie die erforderlichen Header-Dateien oder Dokumentationen bereitstellen, um mit dem Rest der Anwendung kommunizieren zu können, sollte jemand dies stark ändern oder von Grund auf neu schreiben wollen DLL.
Thomasrutter
48
  • GPL

    Andere Entwickler können den Code nur dann ausleihen, ändern und als Teil ihres eigenen Projekts weitergeben, wenn ihr gesamtes Projekt ebenfalls unter der GPL lizenziert ist.

    Dies verhindert, dass der Code in proprietärer Software verwendet wird.

  • LGPL

    Andere Entwickler können den Code ausleihen, ändern und im Rahmen ihres eigenen Projekts neu verteilen, sofern der unter der LGPL verwendete Teil unter der LGPL erneut lizenziert wird. Andere Teile des Projekts sind mit anderen Lizenzen zulässig.

    Dadurch kann der Code in ansonsten proprietärer Software verwendet werden.

Die LGPL verfügt über eine Reihe zusätzlicher Bedingungen, die erfüllt sein müssen, um sie in einem Projekt mit einer anderen Lizenz verteilen zu können. Zum Beispiel muss es für jeden möglich seinBenutzer der fertigen Software, um den Teil der Software, der unter der LGPL lizenziert ist, zu ändern, neu zu kompilieren oder zu ersetzen und diesen geänderten Code mit derselben Software zu verwenden. Wenn Sie ansonsten proprietäre Software veröffentlichen, die LGPL-Code enthält, besteht eine Möglichkeit, diese Anforderung zu erfüllen, darin, den LGPL-Code in einer separaten dynamisch verknüpften Bibliothek abzulegen und die zum erneuten Kompilieren der LGPL erforderlichen Header-Dateien und Dokumentationen mit Ihrer Software zu verteilen Teilung so, dass es weiterhin wie vorgesehen mit der Software verknüpft und verwendet werden kann. Es ist nicht akzeptabel, Maßnahmen zu ergreifen, um eine Änderung des LGPL-Codes zu verhindern, z. B. die Verschleierung des Codes selbst oder der API- oder Header-Dateien.

Beachten Sie, dass die LGPL mit der GPL kompatibel ist: Sie können den Code auf GPL "aktualisieren" und ihn in ein vollständig GPL-lizenziertes Projekt integrieren, wie in meinem ersten Punkt beschrieben, wenn Sie dies wünschen. Sie können jedoch nicht in die andere Richtung gehen und den GPL-lizenzierten Code als LGPL erneut lizenzieren.

thomasrutter
quelle
30

IANAL, aber die Konzepte sind ziemlich einfach.

Zunächst müssen Sie und Ihr Anwalt die GPL- und LGPL- Lizenzen lesen . Zweitens sollten Sie die GPL-FAQ lesen . Soweit ich weiß, können Sie sich vorstellen, GPL / LGPL-Bibliotheken folgendermaßen zu verwenden:

  • Wenn Sie dynamisch oder statisch mit einer GPL- oder LGPL-Bibliothek verknüpfen, haben Sie eine abgeleitete Arbeit erstellt.
  • Wenn Sie eine GPL-Bibliothek verwenden und eine Verknüpfung zu dieser Bibliothek herstellen, muss Ihre Software mit einer kompatiblen Lizenz freigegeben werden .
  • Wenn Sie eine Bibliothek verwenden, die LGPL ist, und eine dynamische Verknüpfung mit dieser Bibliothek herstellen, muss Ihre Software nicht mit einer kompatiblen Lizenz freigegeben werden, Sie müssen jedoch die LGPL einhalten.
  • Wenn Sie eine LGPL-Bibliothek verwenden und statisch mit dieser Bibliothek verknüpfen, muss Ihre Software mit einer kompatiblen Lizenz freigegeben werden.
  • Die GPL / LGPL-Lizenzen bedeuten "frei" wie in "Redefreiheit", nicht "Freibier" . Sie können ein abgeleitetes Werk erstellen und es für große Geldbeträge verkaufen, müssen jedoch die GPL / LGPL einhalten.
Jared Oberhaus
quelle
29
"Zuerst müssen Sie und Ihr Anwalt die GPL- und LGPL-Lizenzen lesen." - töte mich jetzt
d512
10
"einfach". Also in der Tat unkompliziert , dass Sie einen Anwalt engagieren müssen nur sehen , wenn Sie verwenden ein Stück Code. Aus diesem Grund sollten Entwickler niemals GPL-Lizenzen verwenden.
Womble
9

Wenn Sie GPL-Code ausschneiden und in Ihre Anwendung einfügen oder mit dieser verknüpfen, muss Ihre Anwendung unter GPL lizenziert sein und Sie müssen den Code dann freigeben.

Sie können Ihre Anwendung und afaik jedoch weiterhin verkaufen. Die einzige Verpflichtung besteht darin, dass Sie den Quellcode an Ihre Kunden weitergeben.

Wenn die Bibliothek, auf die Sie verlinken, Lesser Gnu Public License oder LGPL ist, müssen Sie den Code Ihrer eigenen Anwendung nicht freigeben, müssen jedoch weiterhin alle Änderungen freigeben, wenn Sie den lgpl-Code geändert haben.

Rasjani
quelle
"Geben Sie den Quellcode an Ihre Kunden weiter" - wirklich? nur für sie? Ich dachte der src muss öffentlich zugänglich gemacht werden?
Relascope
Ich bin kein englischer Muttersprachler oder Anwalt. gnu.org/licenses/gpl-faq.html#WhatDoesWrittenOfferValid gibt an, dass man die Quelle am häufigsten jedem zur Verfügung stellt, der Zugriff auf die Binärdatei hat. Es heißt nicht, dass jeder die Quelle anfordern kann, sondern jeder, der die Binärdatei entweder direkt von Ihnen oder von Ihren direkten Kunden erhalten hat.
Rasjani
gibt es direkt an, nur für Kunden ... "Wenn Sie die geänderte Version jedoch auf irgendeine Weise für die Öffentlichkeit freigeben, müssen Sie den geänderten Quellcode den Benutzern des Programms unter der GPL zur Verfügung stellen."
Relascope
7

GPL verbietet Ihnen nicht, Software zu verkaufen. Sie müssen jedoch die Quellen der Software zur Verfügung stellen.

Die Frage der Nutzung ist etwas komplizierter. GNU / Linux wird unter der GPL veröffentlicht. Nichts verbietet Ihnen, Software zu schreiben, die unter Linux ausgeführt wird, unabhängig von der Lizenz Ihrer Software. Sie können Linux jedoch nicht zusammen mit Ihrer Software vertreiben. Dies ist häufig ein Problem bei Bibliotheken, die Teil eines Programms sein müssen. Dafür ist die LGPL-Lizenz gedacht. Sie können ein mit gcc geschriebenes AC-Programm kompilieren (daher LGPL-lizenzierte Laufzeitroutinenbibliotheken von gcc verwenden) und Ihre Software dennoch ohne die Einschränkungen der GPL freigeben.

Ich denke, das ist der allgemeine Kern davon. Dies ist jedoch in keiner Weise Rechtsberatung. Für die Rechtsberatung müssen Sie einen zertifizierten Anwalt beauftragen, der Sie entsprechend Ihren besonderen Umständen rechtlich beraten kann.

Hoffe das hilft.

txwikinger
quelle
3

Die Unterscheidung zwischen GPL und LGPL bestimmt, ob Sie die Quelle für Ihre Anwendung für Personen freigeben müssen, die über eine Kopie der Binärdatei verfügen. In beiden Fällen können Sie die Anwendung weiterhin verkaufen.

Troubadour
quelle