La parola libero non implica la possibilità di utilizzare il software libero in maniera indiscriminata: il Software Libero è comunque soggetto ad una licenza d'uso, a differenza ad esempio del software di pubblico dominio.
Stallman durante il suo intervento a Wikimania 2005 (Francoforte sul Meno)
Stallman durante il suo intervento a Wikimania 2005 (Francoforte sul Meno)
Rispetto al software proprietario, la licenza d'uso del software libero permette di:
* eseguire il programma per qualsiasi scopo;
* accedere alla struttura interna del programma (codice sorgente), studiarla ed eventualmente modificarla;
* ridistribuirlo in un numero di copie illimitato.
La licenza d'uso pone in genere i seguenti vincoli, di cui i principali sono:
* gli autori precedenti del software devono essere menzionati anche nelle versioni modificate, lasciando intatto il loro copyright;
* non è possibile applicare una licenza d'uso incompatibile con la licenza originaria o che vada contro le norme della licenza stessa. Per esempio chiunque può riemettere del software rilasciato sotto LGPL usando la licenza GPL (tale operazione è anche chiamata upgrade della licenza), mentre non è possibile fare il contrario (naturalmente se non si è il detentore unico del copyright);
* normalmente, nella licenza, vi è una clausola che sancisce la non usabilità del software se non si rispetta la licenza d'uso o se una o più norme della stessa licenza non sono valide per termini di legge;
* quando si distribuisce un binario occorre o distribuire insieme anche i sorgenti o garantire per iscritto la possibilità a tutti gli utenti di venirne in possesso dietro richiesta ed al solo costo del supporto
Le "quattro libertà" [modifica]
Secondo Richard Stallman e la Free Software Foundation da lui fondata, un software per poter essere definito libero deve garantire quattro "libertà fondamentali":
* Libertà di eseguire il programma per qualsiasi scopo (chiamata "libertà 0")
* Libertà di studiare il programma e modificarlo ("libertà 1")
* Libertà di copiare il programma in modo da aiutare il prossimo ("libertà 2")
* Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio ("libertà 3")
Licenze d'uso libere [modifica]
Per approfondire, vedi la voce Licenza libera.
Buona parte del software libero viene distribuito con la licenza GNU GPL (GNU General Public License), scritta da Richard Stallman e Eben Moglen per garantire legalmente a tutti gli utenti le quattro libertà fondamentali. Dal punto di vista dello sviluppo software, la licenza GPL viene considerata una delle più restrittive, poiché impone che necessariamente ogni prodotto software derivato - ovvero, che modifica o usa codice sotto GPL - venga a sua volta distribuito con la stessa licenza. Anche MediaWiki, il software usato per Wikipedia, è distribuito con licenza GPL.
Una licenza simile, ma meno restrittiva, è la GNU LGPL (GNU Lesser General Public License), che permette di utilizzare il codice anche in software proprietario e sotto altre licenze opensource, purché le parti coperte da LGPL - anche se modificate - vengano comunque distribuite sotto la medesima licenza. In genere è utilizzata per librerie software.
Non tutte le licenze ritenute libere sono compatibili tra di loro, cioè in alcuni casi non è possibile prendere due sorgenti con due licenze libere ed unirli per ottenere un prodotto unico. Questo avviene quando non esista e non sia possibile creare una licenza che possa soddisfare i requisiti delle licenze originali. Ad esempio la licenza BSD originale, pur essendo considerata licenza di software libero, è incompatibile con la GPL[2]; per ovviare al problema è stato necessario creare una "licenza BSD modificata" compatibile con la GPL.
Un'altra licenza degna di nota è l'Apache License, prodotta dalla Apache Software Foundation, la cui compatibilità con la GPL è attualmente in fase di analisi[3]. L'Apache License considera un prodotto derivato alla stregua della LGPL, ma è più liberale nella concessione delle proprietà intellettuali.
Le varie licenze libero possono contenere ulteriori limitazioni per alcune situazioni particolari; per esempio la GPL prevede che si possa esplicitamente vietare l'uso del software nelle nazioni dove tale licenza non è valida o dove dei brevetti software impediscono la distribuzione di tale software.
Le licenze d'uso non vietano in genere di vendere software libero e di solito non stabiliscono minimamente il possibile prezzo di vendita.
Differenze rispetto all'open source [modifica]
Essendo la disponibilità del codice sorgente uno dei requisiti fondamentali che accomuna il software libero ed il software open source, spesso si è indotti a considerare i due concetti equivalenti, ma in realtà questa affermazione non è vera.
Un software è open source se i termini secondo i quali viene distribuito rispondono alla Open Source Definition dell'Open Source Initiative (OSI): in particolare, se una licenza rientra in tale definizione, allora tale licenza può essere dichiarata licenza open source. La definizione potrebbe cambiare nel tempo (nessuno garantisce che questo non possa accadere) e quindi è possibile che una licenza attualmente open source non lo sia nel futuro o viceversa. OSI è anche l'organizzazione che su richiesta certifica con il relativo marchio registrato il fatto che una licenza sia effettivamente aderente alla Open Source Definition. Recentemente l'OSI ha posto un freno al proliferare delle licenze dichiarando che cercherà di limitare il numero di licenze che nel futuro saranno ritenute licenze open source. Questo potrebbe, in linea teorica, far si che una licenza ritenuta libera non venga ritenuta open source.
Una licenza invece è libera (o meglio, una versione di una licenza è libera) se e solo se rispetta le quattro libertà fondamentali. Pertanto se una versione di una licenza è libera, allora lo sarà per sempre. Naturalmente è sempre complesso, almeno per un cittadino "normale" (non esperto di leggi), stabilire se una licenza è libera o meno perché entrano in gioco i termini legali utilizzati nella stessa. Il progetto GNU si occupa tra l'altro anche di indicare se una licenza è libera o meno e se è compatibile con le licenze GNU o meno[4].
Il software libero inoltre non deve essere confuso con il software freeware, che è distribuibile gratuitamente ma che non è né software libero né open source.
In ogni caso, gli insiemi di applicativi designati da software libero e open source coincidono a meno di poche eccezioni. La differenza fondamentale è nel tipo di approccio: parlando di software libero si pone l'accento sugli aspetti sociologici ed etici, che sono volutamente rimossi nella visione open source.
Storia [modifica]
L'idea di software libero nasce agli inizi degli anni '80, quando lo sviluppo del software cominciò a passare di mano dalle università alle aziende (software proprietario), ponendo un pesante freno alla collaborazione che caratterizzava il lavoro di gran parte dei programmatori e dei sistemisti dell'epoca, soprattutto con i patti di non divulgazione che le aziende facevano firmare ai programmatori che assumevano.
In realtà il software "commerciale" esisteva da sempre, ma i costi elevati dell'hardware facevano sì che il business delle aziende non fosse concentrato sul software, che era considerato una parte naturale del prodotto, ed i cui sorgenti erano in genere pubblici. Con il passare del tempo il software diventò sempre più complesso e difficile da realizzare e le aziende iniziarono a non distribuire i sorgenti e obbligare i propri dipendenti a non rivelare nulla per non avvantaggiare la concorrenza; inoltre con il crollo dei costi dell'hardware, lo sviluppo commerciale del software divenne un business notevole, ed il codice sorgente era divenuto un investimento prezioso che poteva da un lato far acquisire una fetta di tale mercato in rapida crescita e dall'altro legare i propri utenti al proprio software mantenendo il segreto sui metodi utilizzati per lo sviluppo di sistemi e applicazioni.
In questo modo le aziende cominciavano ad utilizzare la legge sul diritto d'autore per impedire ai concorrenti di leggere e modificare i loro prodotti, assicurandosi il controllo dei propri clienti che, senza più poter vedere e modificare il codice sorgente del software, non potevano più adattarlo alle loro esigenze ma dovevano chiedere alle aziende di farlo per loro.
Nel 1983 Stallman fondò il Progetto GNU con l'intenzione di creare un sistema operativo completamente libero. Grazie alla collaborazione di molti sviluppatori volontari, all'uso di Internet per la coordinazione del progetto e al kernel Linux di Linus Torvalds, nel 1991 nacque GNU/Linux, un clone di UNIX liberamente distribuibile e modificabile.
In Italia si riscontra una sempre maggiore attenzione per il software libero, vi sono associazioni che giornalmente dedicano molte attenzioni ed energie nella tutela e nel rispetto delle norme che regolano (o dovrebbero regolare) l'utilizzo del software libero nelle varie strutture pubbliche, come anche la Pubblica Amministrazione. Una delle più importanti sentenze registrate negli ultimi giorni riguarda l'Associazione per il Software Libero (Assoli (Software Libero)): con una sentenza a lungo attesa il Tribunale Amministrativo Regionale del Lazio riconosce ad Assoli il diritto di perseguire i suoi scopi statutari agendo anche in giudizio ove fosse necessario
Aspetti filosofici e sociali [modifica]
Nel software libero il significato della parola libero ha un'