# GNU Affero General Public License

La GNU Affero General Public License o GNU AGPL è una licenza di software libero e copyleft pubblicata dalla Free Software Foundation nel novembre 2007, pensata per permettere la cooperazione all'interno della comunità della rete del software.
La GNU AGPL è simile alla licenza GNU General Public License versione 3, eccetto per il fatto che ha una sezione aggiuntiva (la numero 13) che si riferisce all'utilizzo del software su una rete di calcolatori. Questa sezione richiede che il codice sorgente, se modificato, sia reso disponibile a chiunque utilizzi l'opera sulla rete. Il codice da fornire non sarà solo quello coperto da AGPL, ma anche tutti i moduli da esso utilizzati, escluse le librerie di sistema. Come quasi tutte le licenze, la AGPL proibisce la rimozione della licenza stessa.
La Open Source Initiative ha approvato nel marzo 2008 la GNU AGPLv3 come licenza open source.

## Descrizione

La AGPL, così come la capostipite GPL, si rifà al modello copyleft e software libero, garantendo all'utente la libertà di accesso e modifica del programma. L'idea alla base di questo tipo di licenze è il rispetto della libertà degli utenti, garantendogli la possibilità di eseguire, studiare, copiare, distribuire e modificare il server, ma sempre nel rispetto dei diritti degli altri utenti.
La Free Software Foundation raccomanda questa licenza per ogni software che sia comunemente pensato per applicazioni web e che in generale siano rese disponibili su una rete. La AGPL non è compatibile con la GPL 2.0 perché la sezione 13 rientra nella definizione di "restrizioni aggiuntive" fornita dalla vecchia versione della GPL. È però pienamente compatibile con la GPL 3.0, grazie a una sezione appositamente inserita in essa.
L'introduzione della AGPL è dovuta al cosiddetto ASP loophole della GNU GPL. Infatti l'obbligo di rendere disponibile il codice sorgente modificato nella GNU GPL è legato alla circolazione del software, per cui non sorge alcun obbligo in tal senso se il codice modificato non viene in alcun modo distribuito. Si pone il problema in cui, invece di distribuire il codice, si distribuiscono le funzionalità del codice rendendolo disponibile con un'interfaccia remota. In questo caso, seppure la lettera della GNU GPL non venga violata, ne viene violato lo spirito in quanto ci si avvale di materiale soggetto a copyright di altri senza rendere alla comunità le modifiche effettuate. La AGPL risolve questa lacuna richiedendo a qualunque eventuale modificatore del software di mettere il codice sorgente a disposizione della comunità, negandogli la possibilità di eseguire la versione modificata del programma nel suo server personale senza dover distribuire una copia del programma accessibile agli altri utenti. Pertanto, nel caso di un server accessibile pubblicamente, la fruizione da parte del pubblico della versione modificata del server garantisce l'accesso al codice sorgente modificato.
L'Affero General Public License, spesso viene abbreviata in Affero GPL o AGPL (e ancora informalmente licenza Affero), si può riferire a due distinte, anche se storicamente collegate, licenze di software libero:
| Versione | Pubblicata da | Basata su |
| Affero General Public License, version 1 | Pubblicata da Affero, Inc. nel Marzo 2002 | GNU General Public License, versione 2 (GPLv2). |
| GNU Affero General Public License, versione 3 | Pubblicata dalla Free Software Foundation nel novembre 2007 | GNU General Public License, versione 3 (GPLv3). |

## Storia

La nascita dell'AGPL avvenne in seguito a una discussione ad Amsterdam tra Henry Poole e Richard Stallman relativamente al problema dell'ASP loophole nella GPLv2. Nel 2001 Pool fondò Affero inc., una società di servizi web, e poiché sentiva il bisogno di una licenza che obbligasse a ridistribuire il codice a coloro utilizzassero i servizi di Affero contattò Bradly M. Kuhn e Eben Moglen della FSF per avere consigli su come ovviare all'ASP loophole.
Alla fine di febbraio 2002 si arrivò all'idea di includere una sezione alla licenza GPL che obbligasse l'utilizzatore a rendere disponibile una funzione nell'applicazione web, che utilizza un software sfruttante software libero, in grado di permettere il download del codice sorgente. Moglen e Kuhn scrissero quindi una proposta di sezione e la inviarono a Pool che richiese e ricevette il permesso dalla FSF di pubblicarlo come derivata dell GPLv2. Nel marzo 2002, Affero inc pubblicò l'originale della Affero General Pubblic Licence (AGPLv1) per essere utilizzata con il progetto Affero e rese la licenza disponibile per tutti gli altri progetti analoghi.

## Compatibilità con la GPL

La versione definitiva della AGPL è stata pubblicata nel 2007 dalla Free Software Foundation che ne raccomanda l'utilizzo per ogni software che viene fatto girare su una rete. Entrambe le versioni delle AGPL sono copyleft. Secondo l'opinione della FSF il requisito aggiuntivo della AGPLv1 la rende incompatibile con la GPLv2 per cui non è possibile distribuire applicazioni con entrambe le licenze. L'AGPLv3 è compatibile con la GPLv3.