Sistema GNU e licenza GPL

A cura del dott. Marco Bertani

Ultimo aggiornamento: 01 giugno 2004

Quando, all’inizio degli anni ’80, Stallman diede vita al suo progetto di scrivere un sistema operativo liberamente eseguibile, modificabile e distribuibile, decise che sarebbe dovuto essere combatibile con UNIX, dal momento che questo sistema operativo era quello che offriva le maggiori garanzie dal punto di vista tecnico e della compatibilità con hardware differenti. Per questo motivo chiamò il suo progetto GNU, acronimo di GNU’s Not UNIX, GNU non è UNIX, per indicare che GNU avrebbe ripreso le caratteristiche di UNIX, pur restando un sistema distinto.
L’intento di Stallman era che GNU fosse software libero e che le modifiche effettuate dagli utenti e da essi pubblicate restassero a disposizione di tutta la comunità, impedendo quindi che una versione modificata di GNU potesse divenire un prodotto software proprietario. A tal fine, in collaborazione con alcuni esperti legali, mise a punto un contratto di licenza che sarebbe stato destinato a divenire il più diffuso accordo di licenza nell’ambito del software libero e open source.

Tale licenza prese il nome di GNU General Public License, Licenza Pubblica Generica del Progetto GNU, comunemente abbreviata in GPL, e una sua prima versione venne pubblicata nel 1989. La GPL riflette i principi che sono alla base del progetto GNU, e dunque aspetto centrale è la libertà per gli utenti e il suo mantenimento per tutti gli utilizzatori delle versioni successive del programma. Per questo motivo è la licenza, tra quelle di software libero e open source, che più strettamente attua tali principi attraverso una rigida implementazione del copyleft, o permesso d’autore.

Questo significa che chi modifica un programma coperto da licenza GPL, qualora scelga di distribuire il frutto di tali modifiche deve farlo alle stesse condizioni del contratto originario, quindi tramite GPL. Perciò tutto il software GPL o quello da esso derivato è destinato a rimanere coperto da GPL.
La licenza comunque non obbliga alla pubblicazione delle versioni modificate del programma, permettendo perciò di utilizzarle privatamente, senza alcun dovere, neppure informativo, nei confronti del titolare dei diritti sul programma.
La GPL consente di copiare, modificare e distribuire liberamente il programma oggetto di licenza, senza richiedere un corrispettivo economico all’autorizzazione al compimento di tali attività, prescrivendo anzi che tale permesso sia a carattere gratuito. L’accordo di licenza dà comunque facoltà a chi distribuisce copie del programma di chiedere un compenso per il loro trasferimento.

Per quanto concerne la possibilità di combinare codice sorgente coperto da GPL con altro codice distribuito tramite licenze diverse, bisogna distinguere se la licenza in questione permetta o meno di rilasciare il programma derivato da tale combinazione come software GPL. Se lo permette, ed in questo caso la licenza sarà definita “compatibile” con la GPL, il programma risultante sarà anch’esso coperto da GPL. In caso contrario invece la combinazione non sarà del tutto possibile.

A tale proposito si è parlato di effetto “virale” della GPL, nel senso che, attraverso la combinazione con parti di programmi diversi, la licenza “contagerebbe” anche questi, estendendosi come un’infezione. Ma facendo un’affermazione del genere non si considera che in realtà chi effettua la combinazione di parti di codice GPL con altre non-GPL lo può fare solo se è titolare dei diritti d’utilizzazione economica sul programma o altrimenti se il titolare stesso ha dato il consenso, anche attraverso l’utilizzo, per la distribuzione del programma, di una licenza compatibile, nel senso appena visto, con la GPL.

Al contrario, l’utilizzo dell’aggettivo “virale” per definire gli effetti della combinazione tra software GPL e non, vuole dare un senso di involontarietà e di processo fuori dal controllo che non corrisponde alla realtà di chi sviluppa software ed effettua scelte ponderate in tal senso. Inoltre risulta fuorviante perché può far pensare che non sia possibile neppure l’utilizzo di programmi coperti da GPL con software proprietario, mentre non è assolutamente così. Dalla combinazione bisogna inoltre distinguere l’aggregazione, fenomeno consentito dalla GPL, che consiste nella contemporanea presenza su di un supporto di memorizzazione di programmi GPL e altro software distributo tramite licenze diverse.

Riferimenti bibliografici

Free Software Foundation (a cura di), General Public License, reperibile all’indirizzo:
http://www.gnu.org/licenses/gpl.txt
traduzione italiana: http://www.softwarelibero.it/gnudoc/gpl.it.txt

Free Software Foundation (a cura di), Domande poste di frequente sulla GNU GPL, reperibile all’indirizzo: http://www.gnu.org/licenses/gpl-faq.it.html

Steve H. Lee, Open Source Software Licensing, reperibile all’indirizzo:
http://cyber.law.harvard.edu/openlaw/gpl.pdf

Eben Moglen, Applicare la licenza GNU GPL, reperibile all’indirizzo:
http://www.gnu.org/philosophy/enforcing-gpl.it.html

Richard M. Stallman, Il progetto GNU, reperibile all’indirizzo:
http://www.gnu.org/gnu/thegnuproject.it.html

Richard M. Stallman, Il Manifesto GNU, reperibile all’indirizzo:
http://www.gnu.org/gnu/manifesto.it.html

Donald K. Rosenberg, Open Source: The Unauthorized White Papers, John Wiley & Sons, 2000

Sam Williams, Codice libero, Milano, Apogeo, 2003, reperibile all’indirizzo:
http://www.apogeonline.com/ebooks/2003/90045/CodiceLibero/