AGPL: cosa puoi fare e cosa non puoi


188

AGPL è una licenza abbastanza nuova che doveva andare su reti GPL. Tuttavia, non essendo un avvocato e in realtà non avendo letto l'intera licenza, non riesco a capire esattamente cosa si può fare liberamente e cosa no con AGPL.

La mia incertezza è alimentata da questo post su MongoDB (che è AGPL) e ancora di più dai commenti qui sotto.

Se seguiamo i commenti si scopre che è possibile utilizzare le librerie AGPL con il proprio software lato server commerciale e chiuso, purché non si modifichi la libreria. È così? Oppure devi distribuire l'intera applicazione quando usi una libreria con licenza AGPL?

Il caso con MongoDB è che utilizza la licenza Apache per il codice client, il che pone un'altra domanda. Cosa succede se si utilizza il software AGPL, ma lo si distribuisce come un'applicazione diversa da quella commerciale a sorgente chiuso? Ad esempio, prendi iText : è una libreria AGPL:

  • se lo usi e lo modifichi, devi open-source la tua intera applicazione o devi ridistribuire solo le modifiche in iText?
  • se lo usi e non lo modifichi, devi open-source tutta la tua applicazione?
  • Se avvolgi iText in un'altra applicazione che avvii come processo separato, ma lo usi dalla tua applicazione principale, dovresti open-source tutto o solo l'applicazione wrapper? (L'applicazione wrapper sarà un'API basata su HTTP che prenderà i file pdf e restituirà i risultati dell'utilizzo di iText come JSON). Può essere usato per aggirare la licenza AGPL?

Nota: la domanda riguarda AGPLv3


Risposte:


40

L'AGPL si basa sulla GPL, non sulla LGPL. Non contiene alcuna eccezione di collegamento e qualsiasi lavoro che utilizza il codice AGPL (collegato o in altro modo, modificato o meno) deve anche essere concesso in licenza e distribuito AGPL.

L'uso di processi separati può aggirare la GPL (A), ma questo è un terreno oscuro. Se l'applicazione finale dipende dal processo esterno, in modo tale da non funzionare correttamente senza di essa, sarebbe considerata un'opera derivata del software AGPL.

Nella maggior parte dei casi in cui le persone usano applicazioni GPL separate in programmi a sorgente chiuso, forniscono il lavoro GPL come estensione opzionale o back-end alternativo ad altre parti di codice ecc.

Il lavoro (A) GPL non può essere distribuito insieme all'applicazione finale anche come un'app separata (ad esempio, inserendoli nello stesso archivio o repository), anche se va bene fornire istruzioni su dove trovare il lavoro GPL e su come usarlo la tua app.


9
Sebbene ciò che dici sia vero, l'unica differenza tra GPL e AGPL è il requisito per fornire il codice se viene utilizzato in modo interattivo su una rete. Tuttavia, la clausola che copre questo afferma che si applica solo a "Versioni modificate" dell'opera, e "versioni modificate" è definito come qualsiasi uso che richiede copyright. La semplice esecuzione della versione non modificata non crea una "versione modificata", poiché il copyright copre solo la distribuzione.
Erik Funkenbusch,

8
1. "collegato o altrimenti" è sbagliato. 2. "sarebbe considerato un lavoro derivato" è sbagliato 3. Penso che "Nella maggior parte dei casi" sia sbagliato. 4. "Il lavoro (A) GPL non può essere distribuito insieme all'applicazione finale anche come un'app separata" è totalmente sbagliato, ad esempio Debian distribuisce elementi con ogni sorta di licenze diverse insieme, non tutte compatibili con la GPL. Anche i sistemi proprietari possono farlo. Dai un'occhiata alla sezione 3 di questa pagina, a partire da "Le domande sono sorte": ghostscript.com/doc/current/Commprod.htm Non leggere il resto, sta cercando di indurti ad acquistarlo.
Sam Watkins,

Debian attualmente ha 3 repository separati a causa delle licenze. mainè costituito da pacchetti conformi a DFSG , che non utilizzano software al di fuori di quest'area per funzionare. Questi sono gli unici pacchetti considerati parte della distribuzione Debian . contribi pacchetti contengono software conforme a DFSG , ma hanno dipendenze non principali (possibilmente confezionate per Debian in non libero). non-freecontiene software non conforme al DFSG .
Kevin Brey,

Ri: "non può essere distribuito a fianco" - puoi indicare la specifica disposizione di licenza che lo supporta? Capisco perfettamente perché non vorresti spedire il codice con licenza AGPL in un prodotto di consumo, ma questa è una circostanza piuttosto stretta.
Charles Duffy,

1
Come ... wat ... quindi ora tutti quei telefoni Android con i loro kernel Linux sono illegali ...
Antti Haapala

10

AGPL è uguale a GPL; pertanto, se l'app utilizza il codice AGPL, è necessario disporre della licenza AGPL.

Ciò che AGPL fa in aggiunta a GPL è la ridefinizione dell'utente. Per i programmi GPL in esecuzione sul tuo server, sei l'utente, per AGPL, i veri utenti dell'app sono gli utenti del tuo sito Web o servizio. Pertanto stai distribuendo l'app se qualcuno che non lo sta utilizzando. E questo ovviamente implica tutti i requisiti GPL standard.

Per quanto riguarda Mongo, presumo che le app che lo utilizzano non utilizzino il suo codice, solo alcune API, che non sono dotate di licenza AGPL.


in generale, non sto nemmeno usando il codice di iText: sto usando la sua API, che è un'API java binaria piuttosto che un'API JSON nel caso di Mongo.
Bozho,

@Bozho E con quale licenza è quell'API?
Let_Me_Be,

2
I driver di @Bozho Mongo DB sono tutti concessi in licenza Apache (sto citando il sito Web da te collegato).
Let_Me_Be,

2
beh, è ​​un po 'complicato: cosa facciamo con un'API e quale client API. A proposito, puoi rispondere alle tre domande del proiettile sopra?
Bozho,

2
Non c'è dubbio che un'opera che utilizza il codice AGPL sia autorizzata ai sensi dell'AGPL (ad eccezione del codice GPLv3 che è specificamente autorizzato a mescolarsi senza i termini AGPL che si applicano al codice GPLv3). Il problema si presenta nella definizione dell'uso della rete, che si riferisce solo a "Versioni modificate", e la definizione di "Versioni modificate" nelle definizioni significa che si applica solo a qualcosa che richiede copyright (ad esempio, la distribuzione). Quindi è ancora piuttosto oscuro.
Erik Funkenbusch,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.