it-swarm-eu.dev

Was genau muss ich tun, wenn ich eine LGPL-lizenzierte Bibliothek verwende?

Ich habe diese Fragen und Antworten gelesen , aber ich verstehe immer noch nicht, was genau ich tun muss, wenn ich mich dynamisch mit einer Bibliothek verbinde, die a verwendet LGPL-Lizenz (in meinem Fall die SDL-Bibliothek).

Wenn ich LGPL-Text richtig verstehe, muss ich irgendwie die Quelle für die Bibliothek angeben. Ist das genug? Wenn nicht, was muss noch getan werden?

51
BЈовић

Die Grundvoraussetzung von LGPL ist , die von LGPL lizenzierte Bibliothek und Ihr eigenes Produkt gut genug zu trennen. Dies sollte es Benutzern ermöglichen, ihre eigene Version der Bibliothek anstelle der Version bereitzustellen, die Sie mit Ihrer Software geliefert haben (z. B. mit den behobenen Fehlern). Um dies zu erreichen, haben Sie zwei Möglichkeiten:

  • verwenden Sie den LGPL-Code als gemeinsam genutzte Bibliothek (damit die Benutzer nur ihre Binärdatei der Bibliothek über die von Ihnen gelieferte kopieren) oder
  • geben Sie den Quellcode des gesamten Projekts an (damit die Benutzer ihre Quelle der Bibliothek kopieren und alles neu kompilieren können).

Beachten Sie jedoch, dass eine bloße Trennung nicht ausreicht, obwohl dies erforderlich ist. Sie sollten Ihren Benutzern eine dokumentierte Möglichkeit bieten, eine Bibliothek durch ihre Version zu ersetzen (d. H. Wie man Firmware hochlädt oder einen Python Wrapper für eine LGPL C++ - Bibliothek neu kompiliert).

Die zweite bemerkenswerte Klausel ist Attributionsanforderung . Dies sollte helfen um den Namen des ursprünglichen Entwicklers der Bibliothek bekannt zu machen und anzugeben, dass die coole Software möglicherweise von jemand anderem entwickelt wurde :). Im entsprechenden Abschnitt des Fensters "Info" oder einer README - Datei (wenn Ihre Lizenz Apache ist, wäre dies eine NOTICE - Datei) sollten Sie den Namen der LGPL-Arbeit auflisten du hast benutzt.

Beachten Sie, dass ich kein Anwalt bin und dies keine Rechtsberatung ist. Beachten Sie, dass ich auch kein Klempner bin und dies kein hygienischer Rat ist.

51
P Shved

Wenn Sie die LGPL-Bibliothek statisch verknüpfen, müssen Sie die Quelle der Bibliothek und entweder den Quell- oder den Objektcode Ihrer Anwendung angeben.

Wenn Sie die LGPL-Bibliothek dynamisch verknüpfen, können Sie entweder Ihre Anwendung allein ohne die Bibliothek verteilen und den Benutzern mitteilen, von wo sie heruntergeladen werden soll und wie sie eingefügt und verwendet werden soll. Oder Sie können Ihrer Anwendung eine Kopie der Bibliotheksbinärdateien und ihrer Quelle hinzufügen.

Dies erklärt es ziemlich gut: http://answers.google.com/answers/threadview/id/439136.html (was ich einer Antwort in der im OP verknüpften Frage entnommen habe)

IANAS

13
Matt Ellen

IANAL, aber ich verstehe, dass der Sinn der LGPL darin besteht, dass sie den Code nicht abhängig von der GPL oder AGPL "infiziert". Sie können also LGPL-Code als Abhängigkeit verwenden und müssen nichts tun.

Wenn Sie jedoch den LGPL-Code mit Ihrer Anwendung ändern/modifizieren/verteilen, müssen Sie diesen Code öffentlich verfügbar machen.

1
Jason Lewis