it-swarm.com.de

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

Ich habe Probleme, die Nutzungsberechtigungen von Open Source zu verstehen. Ich habe irgendwo gelesen, dass GPL oder LGPL die Software, die GPL-Software verwendet, auch als Open-Source-Version veröffentlichen müssen. 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!

98
rsinha

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

GPL fordert Sie auf, den Quellcode Ihrer Anwendung freizugeben, wenn Sie die GPL-lizenzierte Open-Source-Software mit Ihrer Anwendung verwenden und vertreiben möchten. Mit anderen Worten, Ihre Anwendung muss auch unter der GPL lizenziert sein.

72
Robert Harvey
  • 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 als Teil ihres eigenen Projekts weitergeben, sofern der unter der LGPL verwendete Teil unter der LGPL erneut lizenziert wird. Andere Teile des Projekts dürfen andere Lizenzen haben.

    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 vertreiben zu können. Zum Beispiel muss es für jeden Benutzer der fertigen Software möglich sein, den Teil der Software, der unter dem lizenziert ist, zu ändern, neu zu kompilieren oder zu ersetzen LGPL und verwenden Sie diesen geänderten Code mit der gleichen Software. Wenn Sie ansonsten proprietäre Software mit LGPL-Code veröffentlichen, besteht eine Möglichkeit, diese Anforderung zu erfüllen, darin, den LGPL-Code in einer separaten, dynamisch verknüpften Bibliothek abzulegen und die für die Neukompilierung der LGPL erforderlichen Header-Dateien und Dokumentationen mit Ihrer Software zu verteilen Teil in einer Weise, dass es weiterhin mit der Software wie vorgesehen verknüpft und verwendet werden kann. Es ist nicht akzeptabel, Maßnahmen zu ergreifen, um eine Änderung des LGPL-Codes zu verhindern, z. B. das Verschleiern des Codes selbst oder der API- oder Header-Dateien.

Beachten Sie, dass die LGPL mit der GPL kompatibel ist: Sie können sich dafür entscheiden, den Code auf die GPL zu "upgraden" und ihn in ein vollständig von der GPL lizenziertes Projekt zu integrieren, wie in meinem ersten Punkt beschrieben. Sie können jedoch nicht in die andere Richtung gehen und den GPL-Lizenzcode als LGPL neu lizenzieren.

41
thomasrutter

IANAL, aber die Konzepte sind ziemlich einfach.

Zunächst müssen Sie und Ihr Anwalt die Lizenzen GPL und LGPL 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 ein abgeleitetes Werk erstellt.
  • Wenn Sie eine Bibliothek mit GPL verwenden und eine Verknüpfung zu dieser Bibliothek herstellen, muss Ihre Software freigegeben werden mit einer kompatiblen Lizenz .
  • Wenn Sie eine Bibliothek mit LGPL verwenden und eine dynamische Verknüpfung mit dieser Bibliothek herstellen, muss Ihre Software nicht mit einer kompatiblen Lizenz veröffentlicht werden, Sie müssen jedoch die LGPL einhalten.
  • Wenn Sie eine Bibliothek verwenden, die LGPL ist, und eine statische Verknüpfung mit dieser Bibliothek herstellen, muss Ihre Software mit einer kompatiblen Lizenz veröffentlicht werden.
  • Die GPL/LGPL-Lizenzen bedeuten "frei" wie in "Redefreiheit", nicht "Freibier" . Sie können ein Derivat erstellen und es für viel Geld verkaufen, müssen jedoch die GPL/LGPL einhalten.
25
Jared Oberhaus

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

Sie können Ihre Anwendung jedoch weiterhin verkaufen und afaik, das einzige Hindernis ist, dass Sie den Quellcode an Ihre Kunden weitergeben.

Wenn es sich bei der Bibliothek, mit der Sie verknüpfen, um Lesser Gnu Public License oder LGPL handelt, müssen Sie den Code Ihrer eigenen Anwendung nicht freigeben, aber Sie müssen dennoch alle Änderungen freigeben, wenn Sie den lgpl-Code geändert haben.

8
rasjani

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

Die Frage der Nutzung ist etwas komplizierter. GNU/Linux ist unter der GPL veröffentlicht. Nichts verbietet Ihnen, Software zu schreiben, die unter Linux läuft, 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 c-Programm kompilieren, das Sie mit gcc schreiben (und daher LGPL-lizenzierte Laufzeitroutinenbibliotheken von gcc verwenden), und dennoch Ihre Software ohne die Einschränkungen der GPL freigeben.

Ich denke, das ist das Wesentliche. Dies ist jedoch keine rechtliche Beratung. Für die Rechtsberatung müssen Sie einen zertifizierten Anwalt beauftragen, der Sie unter Berücksichtigung Ihrer besonderen Umstände rechtlich beraten kann.

Hoffe das hilft.

7
txwikinger

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

3
Troubadour