it-swarm.com.de

AGPL - was Sie tun können und was nicht

AGPL ist eine ziemlich neue Lizenz, die für GPL-over-Networks gedacht war. 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 diesen Beitrag über MongoDB (das ist AGPL) und noch mehr durch die folgenden Kommentare gespeist.

Wenn wir den Kommentaren folgen, stellt sich heraus, dass Sie AGPL-Bibliotheken mit Ihrer kommerziellen serverseitigen Closed-Source-Software verwenden können, 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 Client-Code 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-Anwendung? Nehmen Sie zum Beispiel iText - es ist eine AGPL-Bibliothek:

  • wenn Sie es verwenden und ändern, müssen Sie Ihre gesamte Anwendung als Open Source-Datei bereitstellen oder nur die Änderungen in iText neu verteilen?
  • wenn Sie es verwenden und nicht ändern, müssen Sie dann Ihre gesamte Anwendung als Open Source-Version 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 oder nur die Wrapper-Anwendung verwenden? (Die Wrapper-Anwendung ist eine HTTP-basierte API, die PDF-Dateien verwendet und die Ergebnisse der Verwendung von iText als JSON zurückgibt.) Kann damit die AGPL-Lizenz umgangen werden?

Hinweis: Die Frage bezieht sich auf AGPLv3

195
Bozho

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 die (A) GPL umgehen, aber dies ist trüber Grund. Wenn Ihre Endanwendung abhängig vom externen Prozess ist, sodass sie ohne ihn nicht ordnungsgemäß funktioniert, wird dies als abgeleitete Arbeit der AGPL-Software betrachtet.

In den meisten Fällen, in denen Benutzer separate GPL-Anwendungen in Closed-Source-Programmen verwenden, stellen sie die GPL-Arbeit als optionale Erweiterung oder als alternatives Back-End zu einem anderen Code usw. bereit.

Die (A) GPL-Arbeit kann nicht als separate App neben der endgültigen Anwendung verteilt werden (z. B. indem sie in dasselbe Archiv oder Repository gestellt wird), obwohl es in Ordnung ist, Anweisungen zu geben, wo die GPL-Arbeit zu finden ist und wie sie verwendet wird Ihre App.

42
Mark H

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, keinen Code verwenden, sondern nur einige APIs, die nicht AGPL-lizenziert sind.

12
Let_Me_Be