AGPL – was Sie tun können und was Sie können ' t
On Februar 12, 2021 by adminAGPL ist eine ziemlich neue Lizenz, die gemeint war GPL-über-Netzwerke zu gehen. Da ich jedoch kein Anwalt bin und nicht die gesamte Lizenz gelesen habe, kann ich nicht verstehen, was genau Sie frei tun können und was nicht mit AGPL.
Meine Unsicherheit wird durch dieser Beitrag über MongoDB (das ist AGPL) und noch mehr durch die folgenden Kommentare.
Wenn wir den Kommentaren folgen, stellt sich heraus, dass Sie AGPL-Bibliotheken mit verwenden können Ihre kommerzielle serverseitige Closed-Source-Software, solange Sie die Bibliothek nicht ändern. Ist das der Fall? Oder müssen Sie Ihre gesamte Anwendung verteilen, wenn Sie eine AGPL-lizenzierte Bibliothek verwenden?
Bei MongoDB wird die Apache-Lizenz für den Clientcode verwendet, was eine weitere Frage aufwirft. Was passiert, wenn Sie AGPL-Software verwenden, diese jedoch als eine andere Anwendung bereitstellen als Ihre kommerzielle Closed-Source-Software? Nehmen Sie zum Beispiel iText – es ist eine AGPL-Bibliothek:
- Wenn Sie sie verwenden und ändern, müssen Sie dies tun Open-Source Ihre gesamte Anwendung oder müssen Sie nur die Änderungen in iText neu verteilen?
- , wenn Sie es verwenden und nicht „t Ändern Sie es. Müssen Sie Ihre gesamte Anwendung als Open Source-Datei verwenden?
- Wenn Sie iText in eine andere Anwendung einbinden, die Sie als separaten Prozess starten, aber von Ihrer Hauptanwendung aus verwenden, Sollten Sie alles als Open-Source-Version oder nur die Wrapper-Anwendung verwenden? (Die Wrapper-Anwendung ist eine HTTP-basierte API, die PDF-Dateien akzeptiert und die Ergebnisse der Verwendung von iText als JSON zurückgibt.) Kann dies zur Umgehung der AGPL-Lizenz verwendet werden?
Hinweis: Die Frage bezieht sich auf AGPLv3
Kommentare
- Siehe auch diese verwandte Antwort: opensource.stackexchange.com/questions/5003/…
Antwort
Die AGPL basiert auf der GPL, nicht auf der LGPL. Es enthält keine Verknüpfungsausnahmen, und alle Arbeiten mit AGPL-Code (verknüpft oder anderweitig, geändert oder nicht) müssen ebenfalls AGPL-lizenziert und verteilt werden.
Die Verwendung separater Prozesse kann umgehen die (A) GPL, aber das ist trüber Boden. Wenn Ihre Endanwendung vom externen Prozess abhängt, sodass sie ohne ihn nicht ordnungsgemäß funktioniert, wird dies in Betracht gezogen Eine abgeleitete Arbeit der AGPL-Software.
In den meisten Fällen, in denen Benutzer separate GPL-Anwendungen in Closed-Source-Programmen verwenden, bieten sie die GPL-Arbeit als optionale Erweiterung oder als alternatives Back-End zu einem anderen Teil von Code usw.
Die (A) GPL-Arbeit kann nicht zusammen mit der endgültigen Anwendung verteilt werden, auch nicht als separate App (z. B. in dasselbe Archiv oder Repository), obwohl es in Ordnung ist, Anweisungen dazu bereitzustellen Wo finde ich die GPL-Arbeit und wie verwende ich sie mit Ihrer App?
Kommentare
- Während das, was Sie sagen, wahr ist, ist der einzige Unterschied zwischen den GPL und die AGPL sind die Voraussetzung für die Bereitstellung von Code, wenn dieser ' interaktiv über ein Netzwerk verwendet wird. Die Klausel, die dies abdeckt, besagt jedoch, dass sie nur für " Geänderte Versionen " der Arbeit und geänderte Versionen " ist definiert als jede Verwendung, die urheberrechtlich geschützt ist. Durch einfaches Ausführen der nicht geänderten Version wird keine " geänderte Version " erstellt, da das Urheberrecht nur die Verbreitung abdeckt.
- 1 . " verknüpft oder anderweitig " ist falsch. 2. " Es wird als abgeleitete Arbeit angesehen. " ist falsch. 3. Ich denke, " In den meisten Fällen ist " falsch. 4. " Die (A) GPL-Arbeit kann nicht zusammen mit der endgültigen Anwendung verteilt werden, selbst wenn eine separate Anwendung " völlig falsch ist, z. Debian vertreibt Inhalte mit unterschiedlichsten Lizenzen, von denen nicht alle mit der GPL kompatibel sind. Dies können auch proprietäre Systeme tun. Schauen Sie sich Abschnitt 3 dieser Seite an, beginnend mit " Es sind Fragen aufgetaucht ": ghostscript.com/doc/current/Commprod.htm ' Lesen Sie den Rest nicht, es wird versucht, Sie zum Kauf zu verleiten.
- Like … wat … also sind jetzt alle diese Android-Telefone mit ihren Linux-Kerneln illegal …
- Es ist nicht erforderlich, die Quelle der Software, die vom AGPL-Code abhängt, öffentlich zu verbreiten. Es ist nur erforderlich, sie an Benutzer der Software zu verteilen, die von der AGPL geringfügig anders als die GPL definiert werden.
ebian hat aufgrund der Lizenzierung tatsächlich 3 separate Repositorys. main
besteht aus DFSG -kompatiblen Paketen, deren Betrieb nicht auf Software außerhalb dieses Bereichs angewiesen ist. Dies sind die einzigen Pakete, die als Teil der Debian-Distribution betrachtet werden .contrib
-Pakete enthalten DFSG -kompatible Software, haben jedoch Abhängigkeiten, die nicht in main enthalten sind (möglicherweise für Debian in nicht kostenlosem Paket gepackt) ). non-free
enthält Software, die nicht der DFSG entspricht.
Antwort
AGPL ist dasselbe wie GPL; Wenn Ihre App AGPL-Code verwendet, muss sie daher AGPL-lizenziert sein.
Was AGPL zusätzlich zur GPL tut, ist die Neudefinition des Benutzers. Bei GPL-Programmen, die auf Ihrem Server ausgeführt werden, sind Sie der Benutzer. Bei AGPL sind die tatsächlichen Benutzer der App die Benutzer Ihrer Website oder Ihres Dienstes. Daher verteilen Sie die App, wenn eine andere Person als Sie sie verwendet. Und das impliziert natürlich alle Standard-GPL-Anforderungen.
Was Mongo betrifft, gehe ich davon aus, dass Apps, die es verwenden, nicht den Code verwenden, sondern nur einige APIs, die nicht AGPL-lizenziert sind.
Kommentare
- Im Allgemeinen verwende ich ' auch nicht den Code von iText – I ' m verwendet seine API, die im Fall von Mongo eher eine binäre Java-API als eine JSON-API ist.
- @Bozho Und unter welcher Lizenz befindet sich diese API?
- @Bozho Mongo DB-Treiber sind alle unter einer Apache-Lizenz lizenziert (ich ' zitiere die von Ihnen verlinkte Website).
- Nun, das ' ist zwielichtig – was ist für eine API und was für ein API-Client. Übrigens, können Sie die drei oben genannten Fragen beantworten?
- Es steht außer Frage, dass eine Arbeit, die AGPL ' d-Code verwendet, unter der AGPL lizenziert ist (außer GPLv3) Code, der sich ausdrücklich vermischen darf, ohne dass die AGPL-Bedingungen für den GPLv3-Code gelten). Das Problem liegt in der Definition der Netzwerknutzung, die sich nur auf " Geänderte Versionen " und der Definition von " Geänderte Versionen " in den Definitionen bedeuten, dass sie nur für etwas gelten, für das Urheberrecht erforderlich ist (dh das Verteilen). Es ist also ' immer noch ziemlich trüb.
Schreibe einen Kommentar