AGPL - co możesz zrobić, a czego nie


188

AGPL to dość nowa licencja, która miała przejść na GPL przez sieć. Jednak nie będąc prawnikiem i nie czytając całej licencji, nie rozumiem, co dokładnie możesz zrobić swobodnie, a co nie z AGPL.

Moja niepewność jest podsycana przez ten post dotyczący MongoDB (którym jest AGPL), a jeszcze bardziej przez poniższe komentarze.

Jeśli podążymy za komentarzami, okaże się, że możesz używać bibliotek AGPL ze swoim komercyjnym oprogramowaniem po stronie serwera o zamkniętym źródle, o ile nie zmodyfikujesz biblioteki. Czy tak jest w przypadku? A może musisz rozpowszechniać całą aplikację, gdy korzystasz z biblioteki licencjonowanej przez AGPL?

Sprawa z MongoDB polega na tym, że używa licencji Apache dla kodu klienta, co stawia inne pytanie. Co się stanie, jeśli użyjesz oprogramowania AGPL, ale wdrożysz je jako inną aplikację niż komercyjna aplikacja o zamkniętym źródle? Na przykład weź iText - jest to biblioteka AGPL:

  • jeśli go użyjesz i zmodyfikujesz, czy musisz open-source całą aplikację lub redystrybuować tylko zmiany w iText?
  • jeśli go użyjesz i nie zmodyfikujesz, to czy musisz otworzyć całą aplikację na całą wersję?
  • Jeśli opakowujesz iText w inną aplikację, którą uruchamiasz jako oddzielny proces, ale używasz jej z głównej aplikacji, czy powinieneś otworzyć wszystko, czy tylko aplikację do pakowania? (Aplikacja otoki będzie interfejsem API opartym na HTTP, który pobierze pliki pdf i zwróci wyniki użycia iText jako JSON). Czy można tego użyć w celu obejścia licencji AGPL?

Uwaga: pytanie dotyczy AGPLv3


Odpowiedzi:


40

AGPL opiera się na GPL, a nie na LGPL. Nie zawiera żadnych wyjątków związanych z łączeniem, a wszelkie prace wykorzystujące kod AGPL (połączone lub w inny sposób, zmodyfikowane lub nie) muszą również posiadać licencję AGPL i rozpowszechniać je.

Korzystanie z oddzielnych procesów może obejść GPL (A), ale jest to mętna ziemia. Jeśli twoja aplikacja końcowa zależy od zewnętrznego procesu, takiego, który bez niej nie działałby poprawnie, wówczas byłaby traktowana jako pochodna praca oprogramowania AGPL.

W większości przypadków, gdy ludzie używają oddzielnych aplikacji GPL w programach zamkniętych źródeł, zapewniają pracę GPL jako opcjonalne rozszerzenie lub alternatywne zaplecze dla jakiegoś innego fragmentu kodu itp.

Prace (A) GPL nie mogą być dystrybuowane razem z aplikacją końcową, nawet jako osobna aplikacja (np. Umieszczanie ich w tym samym archiwum lub repozytorium), chociaż można podać instrukcje, gdzie znaleźć pracę GPL i jak jej używać z twoja aplikacja.


9
Chociaż to, co mówisz, jest prawdą, jedyną różnicą między GPL i AGPL jest wymóg dostarczenia kodu, jeśli jest on wykorzystywany interaktywnie przez sieć. Jednak klauzula obejmująca ten stan stwierdza, że ​​ma ona zastosowanie tylko do „Zmodyfikowanych wersji” dzieła, a „zmodyfikowane wersje” są zdefiniowane jako każde użycie wymagające praw autorskich. Samo uruchomienie niezmodyfikowanej wersji nie tworzy „zmodyfikowanej wersji”, ponieważ prawa autorskie obejmują jedynie dystrybucję.
Erik Funkenbusch

8
1. „powiązane lub w inny sposób” jest błędne. 2. „byłoby uznawane za dzieło pochodne” jest błędne 3. Myślę, że „w większości przypadków” jest złe. 4. „Praca (A) GPL nie może być dystrybuowana wraz z aplikacją końcową, nawet jako osobna aplikacja” jest całkowicie błędna, np. Debian dystrybuuje rzeczy z różnego rodzaju licencjami razem, z których nie wszystkie są zgodne z GPL. Mogą to robić również systemy zastrzeżone. Spójrz na sekcję 3 tej strony, zaczynając od „Powstały pytania”: ghostscript.com/doc/current/Commprod.htm Nie czytaj reszty, próbuje oszukać cię do zakupu.
Sam Watkins

Debian faktycznie ma 3 oddzielne repozytoria z powodu licencji. mainskłada się z pakietów zgodnych z DFSG , które do działania nie wymagają oprogramowania spoza tego obszaru. Są to jedyne pakiety uważane za część dystrybucji Debian . contribpakiety zawierają oprogramowanie zgodne z DFSG , ale nie są w głównej zależności (prawdopodobnie spakowane dla Debiana jako niewolne). non-freezawiera oprogramowanie niezgodne z DFSG .
Kevin Brey

Re: „nie można dystrybuować obok” - czy możesz wskazać na konkretne postanowienie licencyjne, które to wspiera? Całkowicie rozumiem, dlaczego nie chcesz wysyłać kodu licencjonowanego AGPL w produkcie konsumenckim, ale jest to dość wąska okoliczność.
Charles Duffy,

1
Jak ... wat ... więc teraz wszystkie telefony z Androidem i jądrem Linuksa są nielegalne ...
Antti Haapala

10

AGPL jest taki sam jak GPL; dlatego jeśli aplikacja używa kodu AGPL, musi mieć licencję AGPL.

To, co AGPL robi poza GPL, to redefinicja użytkownika. W przypadku programów GPL działających na Twoim serwerze jesteś użytkownikiem, w przypadku AGPL rzeczywistymi użytkownikami aplikacji są użytkownicy Twojej witryny lub usługi. Dlatego dystrybuujesz aplikację, jeśli korzysta z niej ktoś inny niż ty. A to oczywiście implikuje wszystkie standardowe wymagania GPL.

Co do Mongo, zakładam, że aplikacje, które go używają, nie używają jego kodu, tylko niektóre API, które nie są licencjonowane AGPL.


ogólnie rzecz biorąc, nie używam również kodu iText - używam jego API, które jest binarnym API java, a nie JSON API w przypadku Mongo.
Bozho,

@Bozho A pod jaką licencją jest to API?
Let_Me_Be

2
@Bozho Mongo DB sterowniki są licencjonowane na licencji Apache (cytuję stronę, którą podłączyłeś).
Let_Me_Be

2
cóż, to jest podejrzane - co możemy sklasyfikować API i co klienta API. Btw, czy potrafisz odpowiedzieć na trzy powyższe pytania?
Bozho,

2
Nie ma wątpliwości, że dzieło, które korzysta z kodu AGPL, jest licencjonowane na podstawie AGPL (z wyjątkiem kodu GPLv3, który jest dozwolony w szczególności bez interwencji warunków AGPL dotyczących kodu GPLv3). Problem pojawia się w definicji użycia sieci, która odnosi się tylko do „Zmodyfikowanych wersji”, a definicja „Zmodyfikowanych wersji” w definicjach oznacza, że ​​ma ona zastosowanie tylko do czegoś, co wymaga praw autorskich (tj. Rozpowszechniania). Więc nadal jest dość mroczny.
Erik Funkenbusch 27.09.11
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.