Licenze libere senza copyleft
Cos’è il copyleft?
Il termine copyleft è chiaramente il contrario di copyright. La traduzione italiana (contestata) è permesso d’autore. Ma che cosa significa?
Il copyright sono i “diritti” dell’autore di un’opera, intesi come divieti per chi ne possiede una copia. La famosa frase “All rights reserved” (tutti i diritti riservati) rende abbastanza ovvio l’ossimoro: non si parla di diritti, ma di rigide imposizioni.
Il copyleft è una clausola che può essere applicata a una licenza libera. Quest’ultima garantisce le libertà basilari all’utente. Tra queste libertà vi è quella di distribuirla. Il problema nasce proprio qui: se io scarico un software libero, ho il diritto di:
- Distribuirlo come software non libero?
- Aggiungervi moduli non liberi?
- Integrarlo in un software non libero di cui sono proprietario?
Personalmente penso che la risposta alle domande sopra poste debba sempre essere no. Per lo stesso motivo per cui si sviluppa software libero, bisognerebbe impedire che tale software venisse distribuito non liberamente o andasse a integrare altri software che liberi non sono.
Altri la pensano diversamente. Ritengono che impedire le tre azioni sopra elencate equivalga a privare gli utenti di alcune loro libertà. A questa obiezione rispondo che non bisogna abusare della parola libertà. La mia libertà inizia dove finisce la tua? Bene, allora non ho il diritto di prendere un software (scritto da me o da altri), fornirtene una copia e decidere cosa farai tu con quella copia. Che senso ha lagnarsi di “non essere liberi di imporre”? E’ pura retorica.
Ad ogni modo non tutti la pensano così e non riuscirò, con questo post, a convincerli a rivedere le proprie idee. Con questa introduzione voglio principalmente spiegare cos’è il copyleft: è il “copyright al contrario” che impedisce di distribuire un software libero (o i suoi moduli) come software non libero.
L’uso del programma in rete
Le licenze, con o senza copyleft, hanno un problema storico. Come ho spiegato in un post precedente, le licenze libere tradizionali sono state scritte anni prima della diffusione di internet come la conosciamo oggi. Di conseguenza esse garantiscono tutte le libertà fondamentali agli utenti che ricevono una copia del programma, che avranno quindi la possibilità di eseguirlo in locale o installarlo essi stessi su di un server. Quando utilizzano il programma attraverso una rete però (webmail, forum, mailing list…) non ricevono alcuna copia del programma e i termini della licenza non si applicano. Queste persone non vedono il codice sorgente, tanto meno lo possono modificare o ridistribuire. Eppure, da un punto di vista logico, non esiste un motivo per il quale chi usa Evolution debba avere più libertà di chi usa una webmail.
L’unica licenza che prende in considerazione questo problema, e che quindi garantisce a chi usa un programma attraverso la rete le sue libertà basilari, è la GNU AGPL. Si tratta di una licenza libera dotata di un forte copyleft, derivata dalla GPL.
Al momento, chi non ama il copyleft non ha a disposizione una licenza già pronta che risolva i problemi legati all’uso di un programma in rete. Vi è però una motivazione: inserire una clausola che garantisca le libertà degli utenti di rete significherebbe inserire una forma di copyleft. Infatti non si garantirebbe solo la libertà di chi riceve il programma che si sta distribuendo, ma anche la libertà degli utenti del suo server.
Chi considera una regola simile inaccettabile, a mio parere, dovrebbe comunque garantire in prima persona almeno i diritti degli utenti dei propri siti internet. Nulla gli vieta infatti di distribuire i sorgenti di tutti i programmi liberi che crea o che utilizza, se la licenza lo consente.
Le licenze senza copyleft
La più famosa licenza priva di copyleft è indubbiamente la BSD. Quando si utilizza questo nome però bisognerebbe capire cosa si intende. Esistono infatti due versioni: la licenza BSD a 4 clausole (o licenza BSD originale o FreeBSD license) conteneva la cosiddetta clausola pubblicitaria (ad clause). La clausola numero 3 imponeva infatti di includere nel software una frase che riconoscesse la paternità del programma alla This product includes software developed by the University of California, Berkeley and its contributors. Non si tratta ovviamente di un abuso, ma questo ha portato il problema della proliferazione dei riconoscimenti. Poichè ogni autore di un “pezzo” di software tendeva a modificare questa licenza aggiungendo il proprio nome o quello della propria organizzazione, man mano che nuovi programmatori miglioravano il codice si aggiungevano sempre più nomi. Lo stesso FreeBSD ha deciso di eliminare quella clausola e tentare di eliminare i nomi che potevano essere eliminati quando, nel 1997, ha dovuto rilasciare una versione con ben 75 riconoscimenti. Va comunque detto che non vi è nulla di non libero in tale licenza, solo qualche problema pratico.
La versione successiva della licenza viene generalmente chiamata la BSD a 3 clausole, o modificata. La clausola publicitaria è stata depennata. Questa licenza, in pratica, permette a chi riceve una copia del software di farne ciò che desidera. Anche distribuirlo in forma binaria - purchè naturalmente applichi la stessa licenza.
La licenza X11 non obbliga l’utente a includere il nome dell’autore originale (l’X Consortium) ma al contrario impedisce l’uso di tale nome a fini pubblicitari, a meno che non si disponga di esplicita dichiarazione scritta da parte dell’interessato.
La SGI Free Software License B, versione 2.0, è molto simile alla X11. Le versioni precedenti alla 2.0 non sono considerate libere. Tuttavia esse permettono di ridistribuire il software con una versione successiva della licenza, perciò la loro non-libertà si può annullare ni maniera banale.
La licenza Expat permette essenzialmente di fare qualsiasi cosa con il software che copre, purchè non si elimini la licenza. Inoltre essa si applica esplicitamente anche ai file di documentazione distribuiti con il programma.
Sia la licenza X11, sia la Expat sono talvolta chiamate licenza MIT. Data l’ambiguità del termine sarebbe meglio evitarlo.
Come si combinano queste licenze con la GPL e la AGPL?
Tutte le licenze senza copyleft qui elencate sono compatibili con la GPL. Questo significa che il codice coperto da GPL e il codice libero coperto da queste licenze possono essere combinati insieme formando un’unica entità distribuibile, modificabile e ridistribuibile. Ogni parte di codice sarà sottoposto solo alle regole stabilite dalla licenza alla quale è associato.
Queste licenze sono compatibili anche con la AGPL. Si tenga presente che un modulo coperto da una di esse, se inserito in un software più ampio coperto da AGPL, viene sottoposto a una delle clausole della AGPL. Se modificato, quindi, il suo codice sorgente dovrà essere reso disponibile alle persone che se ne servono attraverso una rete.
Tags: agpl, copyleft, licenza bsd, licenza expat, licenza mit, licenza x11, sgi free software license