AGPL: cosa puoi fare e cosa non puoi

172

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

La mia incertezza è alimentata da questo post su MongoDB (che è AGPL) e ancor più dal commenti sotto.

Se seguiamo i commenti, si scopre che è possibile utilizzare le librerie AGPL con il proprio software commerciale lato server chiuso, a condizione che non si modifichi la libreria. È questo il caso? O devi distribuire l'intera applicazione quando usi una libreria con licenza AGPL?

Il caso con MongoDB è che usa la licenza Apache per il codice client, 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 chiusa? Ad esempio, prendi iText - è una libreria AGPL:

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

Nota: la domanda riguarda AGPLv3

    
posta Bozho 13.09.2011 - 15:11
fonte

2 risposte

35

L'AGPL è basato sulla GPL, non sulla LGPL. Non contiene eccezioni di collegamento, e qualsiasi lavoro che usi il codice AGPL (collegato o meno, modificato o meno) deve anche essere concesso in licenza e distribuito da AGPL.

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

Nella maggior parte dei casi in cui le persone usano applicazioni GPL separate in programmi closed source, forniscono la GPL lavoro come un'estensione opzionale, o un back-end alternativo ad un altro pezzo di codice ecc.

Il lavoro (A) GPL non può essere distribuito insieme all'applicazione finale anche come app separata (ad esempio, inserendoli nello stesso archivio o repository), sebbene sia opportuno fornire istruzioni su dove trovare la GPL e su come usalo con la tua app.

    
risposta data 13.09.2011 - 17:32
fonte
6

AGPL è lo stesso di GPL; pertanto se la tua app utilizza il codice AGPL deve essere concesso in licenza AGPL.

Cosa AGPL fa su 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 diverso da te lo sta utilizzando. E questo ovviamente implica tutti i requisiti GPL standard.

Per quanto riguarda Mongo, suppongo che le app che lo utilizzano non utilizzino il suo codice, solo alcune API, che non sono concesse in licenza da AGPL.

    
risposta data 13.09.2011 - 16:21
fonte

Leggi altre domande sui tag