La nascita ed i
principi della filosofia “Free Software”
Il fondatore del movimento ‘free software’ è l’americano Richard Stallman
laureatosi in fisica ad Harvard, impara a programmare e, verso la metà degli
anni Settanta, muove i primi passi nella comunità del Massachusetts Institute of
Technology (M.I.T) dove gli sviluppatori lavorano condividendo i loro saperi e
mettendo in comunione le loro creazioni.
Una pratica di condivisione che è anche un solido modello di sviluppo per il
software, opera di un ingegno collettivo e, soprattutto, di un approccio
collaborativo fondato sulla condivisione delle competenze di ognuno. Questa
filosofia folgora Stallman e lo convince che il metodo collaborativo è la strada
migliore per lo sviluppo non solo del software ma della società intera. Di lì a
poco, però, il vento sarebbe cambiato. Con l’affermazione del software
proprietario lo sviluppo per accrescimento progressivo, che è alla base del
lavoro delle prime comunità di programmatori, deve far posto ad un nuovo modello
che estromette completamente gli utenti dal processo di produzione di un
programma e vieta loro di modificare e ridistribuire il codice che, anzi, non
viene più distribuito.
Inizia così l’era del ‘Closed Source’ che Stallman sintetizza così: “Questo
significa che il primo passo per usare un computer è promettere di negare aiuto
al proprio vicino”. Una comunità cooperante è vietata. La regola creata dai
proprietari di software proprietario è: se condividi il software con il tuo
vicino sei un pirata, se vuoi modifiche, pregaci di farle.
Stallman fa parte per più di dieci anni dei ricercatori del M.I.T, con i quali
studia a fondo i sistemi operativi, ma nel 1984 si licenzia dall’istituto per
fondare il suo ‘progetto GNU’ (vedi logo in figura 1) decidendo di intraprendere
un’impresa pionieristica: costruire, partendo da zero, un intero sistema
operativo libero, un free software appunto, solo in questo modo si
sarebbe potuta ricostituire una comunità di programmatori aperta a tutti
e fondata sul principio della collaborazione.
GNU è un
acronimo ricorsivo
e significa GNU is Not
Unix ovvero "GNU
non è Unix", il nome simbolizza che il progetto ha l’obiettivo di creare un
sistema operativo compatibile, ma non identico a Unix.
Richard Stallman
con il progetto GNU volle creare un Sistema Operativo Unix-like completo
costituito da software libero, ma compatibile con Unix. Per arrivare a questo
risultato, all'interno del progetto vennero creati programmi per coprire ogni
necessità informatica:
compilatori,
lettori multimediali, programmi di
crittografia ed
altro. Malgrado non si sia mai attuato il progetto a livello kernel, il software
prodotto da GNU era di una tale qualità che gli
amministratori di sistema spesso sostituirono i programmi originali delle loro
distribuzioni Unix con le versioni GNU.
Logo GNU’s NOT Unix.
Il termine free software, utilizzato dai seguaci di questo movimento, non ha
nulla a che vedere con il prezzo del programma, ma vuole esprimere il concetto
di libertà: il termine ‘free’ significa sia ‘gratis’ che ‘libero’. Questo è il
motivo per cui i sostenitori del ‘free software’ temono che possa essere
frainteso il vero scopo del movimento, ossia quello di portare una ‘ventata di
libertà’ nel mondo dell’informatica.
Quattro sono le libertà fondamentali che un programma deve garantire all’utente
per poter essere considerato software libero:
libertà di eseguire il programma per qualsiasi scopo;
libertà
di modificare il programma secondo i propri bisogni (perché questa libertà abbia
effetto in pratica, è necessario avere accesso al codice sorgente del
programma);
libertà
di distribuire copie del programma gratuitamente o dietro compenso;
libertà di distribuire versioni modificate del
programma, così che la comunità possa usufruire dei miglioramenti apportati.
Una volta inteso correttamente questo significato non sorprende scoprire che la
vendita dei software non solo non contraddice lo spirito del software libero, ma
è anzi incoraggiata da Stallman quale metodo per reperire fondi da destinare
allo sviluppo dei programmi. Per conseguire lo scopo del progetto GNU, cioè
quello di garantire libertà agli utenti, vi è bisogno anche di termini di
distribuzione che evitino che il software GNU sia trasformato in software
proprietario.
Per questo motivo Stallam inventa, con l’aiuto di esperti avvocati, un nuovo
tipo di licenza, la ‘GNU Licenza Pubblica Generica’ o GNU GPL, la quale
garantisce a tutti gli utenti le quattro libertà fondamentali, vietando a
chiunque di imporre restrizioni.
La GNU GPL è una licenza per
software libero, è
il punto di partenza per il free software. Il testo ufficiale della licenza in
italiano è disponibile all’URL: htttp ://www.softwarelibero.it/gnudoc/gpl.it.txt.
La licenza è stata scritta da
Richard Stallman e
Eben Moglen nel
1989, per
distribuire i programmi creati dal Progetto
GNU. GNU GPL si
contrappone alle licenze per
software proprietario
e permette all'utente libertà di utilizzo, copia, modifica e distribuzione per
cui è diventata una delle licenze per software libero più usate.
Il testo della GNU GPL è disponibile per chiunque riceva la copia di un software
coperto da questa licenza. I licenziatari che accettano le sue condizioni hanno
la possibilità di modificare il software, di copiarlo e ridistribuirlo con o
senza modifiche, sia gratuitamente sia a pagamento.
La
Free Software Foundation
(FSF) detiene i diritti di copyright per il testo della GNU GPL, ma non detiene
i diritti del software rilasciato con questa licenza. A meno che venga emessa
una specifica nota di copyright da parte della FSF, l'autore del software
detiene i diritti di copyright per il suo lavoro ed è responsabile di perseguire
ogni violazione della licenza riguardante il suo software.
A differenza dei software con essa distribuiti, la GNU GPL non è liberamente
modificabile: copiarla e distribuirla è permesso, ma modificarla è vietato. La
FSF permette di creare nuove licenze basate sulla GNU GPL, a patto che tali
licenze non usino il suo preambolo senza permesso. Dato che, solitamente, la
nuova licenza non è compatibile con la GNU GPL, la FSF sconsiglia di creare
versioni modificate.
Stallman ritiene inoltre fondamentale che anche la documentazione annessa ai
programmi sia libera: “La più grande carenza dei nostri sistemi operativi non è
nel software, quanto nella carenza di buoni manuali liberi da includere nei
nostri sistemi”.
Il criterio per definire libero un manuale è sostanzialmente lo stesso usato per
i programmi: deve essere permessa la ridistribuzione, compresa la vendita
commerciale, e la modifica. Questa ultima è una libertà fondamentale per la
documentazione di programmi liberi in quanto quando qualcuno esercita la sua
facoltà di modificare un programma, se è coscienzioso, deve poter modificare
anche il manuale, in modo da poter fornire una documentazione utile ed accurata
insieme al programma modificato. Risulta quindi essenziale la possibilità di
modificare tutto il contenuto tecnico del manuale e di poterlo distribuire in
tutti i formati usuali, attraverso ogni normale canale di distribuzione.
Nel 1985, per cercare nuovi finanziamenti, Stallman ed i numerosi partecipanti
al suo progetto fondano la Free Software Foundation (FSF), un’organizzazione
senza scopo di lucro per lo sviluppo di software libero. La FSF accetta
donazioni ma gran parte delle sue entrate proviene dalle vendite: copie di
software libero, manuali e servizi correlati. Oggi vende cd-rom di codice
sorgente e di programmi compilati, manuali stampati professionalmente (tutti con
libertà di ridistribuzione e modifica) e distribuzioni Deluxe (nelle quali è
compilata l’intera scelta di software per una piattaforma a richiesta).
All’inizio del progetto GNU si pensò di sviluppare un programma completo e di
renderlo disponibile nel suo insieme, ma le cose non andarono così. Poiché gli
elementi del sistema GNU sono implementati su di un sistema Unix, ognuno di essi
può girare su tali sistemi molto prima che esista un sistema GNU completo. Così
alcuni programmi iniziarono ad essere diffusi e gli utenti si divertirono ad
estenderli e a renderli utilizzabili su nuovi sistemi. Tutto ciò rese i
programmi molto più potenti ed attirò finanziamenti e collaboratori al progetto,
anche se ritardò di alcuni anni la realizzazione di un sistema minimo
funzionante, perché il tempo degli autori GNU venne impiegato a curare la
compatibilità di questi programmi con altri sistemi, piuttosto che a proseguire
nella scrittura di nuovi componenti.
Nel 1990 il sistema era quasi completo, l’unica parte non ancora disponibile era
il kernel in quanto quello da loro creato, chiamato ‘Hurd’, non è ancora
pronto per un uso non sperimentale. Ma, come dice Stallman, “Fortunatamente ne
era disponibile un altro: Linux”. Così, nel 1992, la combinazione di Linux con
il sistema GNU produce un sistema operativo libero completo.
Nel
2005 il sistema non
era ancora stato sviluppato completamente, ma grazie al lavoro di
Linus Torvalds è
possibile usare il Sistema GNU con il
kernel Linux,
ovvero il sistema
GNU Linux..
L’ origine del movimento Open
Source
Nella primavera del 1997, un gruppo di leader della comunità del ‘Free Software’
si dà appuntamento a Mountain View, in California. Del gruppo fanno parte, tra
gli altri, Eric Raymond, Tim O’Reilly e Larry Augustin. Il loro obiettivo è
trovare un modo per promuovere le idee legate alla distribuzione gratuita di
software presso coloro che, finora, hanno rifiutato questo concetto. Sono
convinti che il termine ‘free software’ abbia danneggiato notevolmente il loro
movimento a causa dell’ambiguità della parola ‘free’ che, oltre all’esatto
significato di libertà, viene spesso associata, specialmente nella stampa e nel
mondo aziendale, a concetti quali la gratuità, la scarsa qualità.
È del tutto inutile,
pensano, spiegare che la Free Software Foundation è in realtà molto diversa da
come viene rappresentata nel mondo economico, sanno che ciò che conta non è
tanto la posizione ufficiale della FSF quanto, piuttosto, il mancato successo
riscosso dalle sue intenzioni originarie e l’effettiva associazione tra il
termine ‘free’ e gli stereotipi negativi diffusi dalla stampa commerciale.
I comandamenti alla base di questo movimento sono:
dimenticare la strategia ‘bottom-up’ e puntare su
quella ‘top-down’. La strategia storica di diffondere i concetti dal basso verso
l’alto, ovvero dai tecnici ai boss, si è rivelata un fallimento, per questo
bisogna abbandonarla e passare ad imporre le decisioni dall’alto, cercando di
coinvolgere subito i dirigenti delle alte sfere;
considerare Linux come il loro caso più
rappresentativo. Se Linux non riesce a consolidare l’innovazione non può
riuscirci nessun altro sistema;
attirare l’attenzione dei mass media più
prestigiosi, che influenzano le opinioni dei top manager e degli investitori;
utilizzare il marchio ‘ Open Source ’ come
garanzia di genuinità. Per scongiurare il rischio che il termine venga
abbracciato ed esteso da Microsoft o da altri grandi produttori, stravolgendone
il significato, Raymond decise di registrarlo come marchio di certificazione.
La campagna Open Source, prende il via rapidamente e tramite Internet, raccoglie
intorno a sé una rete di alleati, tra cui alcuni importanti personaggi del mondo
dell’economia.
Ben presto si delineano i primi successi: diversi produttori di hardware e di
software conducono sondaggi nella comunità Open Source ed iniziano a formulare
strategie mirate ad avvantaggiarsi del nuovo modello.
Il successo è reso ancor più evidente dalla preoccupazione che affligge la più
grande impresa ‘close source’ e che trapela dagli ormai famosi ‘Halloween
Documents’, così denominati in quanto testimonianza della ‘paura’ che nutre
Microsoft nei confronti del ‘Pinguino’. Non è difficile immaginare la
preoccupazione da parte della più importante azienda di software esistente, nei
confronti di questa nuova filosofia.
Il movimento Open Source si configura, oggi, come un successo perché ha
contribuito a sdoganare il concetto di software libero in campo aziendale dove,
fino a pochi anni addietro, era guardato con sospetto o condiscendenza.
La voluta neutralità del movimento di Raymond verso gli aspetti etici e politici
non può, però, andare a genio a Stallman che, al contrario, pone l’accento sulle
motivazioni ideali.
L’assioma del movimento ‘Free Software è che l’utente merita la libertà, idea,
questa, che il movimento ‘Open Source’ ha progettato di non far emergere.
Kernel Linux
Il kernel Linux (vedi logo in figura 2) è un
software libero
distribuito con licenza
GNU General Public License;
è stato creato nel
1991 da
Linus Torvalds.
Integrato con il
Sistema GNU ha dato
vita a
GNU/Linux.
Il
kernel è il "cuore"
di un
sistema operativo e
fornisce tutte le funzioni essenziali per il sistema, in particolare la gestione
della memoria, delle risorse del sistema e delle periferiche, assegnandole di
volta in volta ai processi in esecuzione.
La controparte del kernel è la
shell, ovvero
l'interfaccia utente del sistema, la parte più esterna. I programmi chiedono le
risorse al kernel attraverso delle
system call
(chiamate) e non possono accedere direttamente all'hardware. Il kernel si occupa
quindi di gestire il tempo processore, le comunicazioni e la memoria
distribuendoli ai processi in corso a seconda delle priorità.
Linux è un kernel che supporta il
multitasking ed è
multi utente, infatti, ciascun utente ha privilegi differenziati e può eseguire
sullo stesso sistema diversi processi software in simultanea.
L'architettura scelta da Torvalds per il kernel è una
struttura
monolitica,
considerata da alcuni obsoleta a differenza della più moderna architettura a
microkernel.
Come ogni progetto che sia
software libero,
anche il kernel Linux è in continua evoluzione e le nuove release sono
reperibili sul sito
http://www.kernel.org
.
La dimensione del kernel Linux cresce in maniera
esponenziale, aggiungendo nuovi moduli come ad esempio un nuovo hardware
supportato. Attualmente Linux supporta gran parte dell'hardware
disponibile per
PC ed un numero
enorme di architetture (tra cui
SPARC,
PowerPC e le più
moderne
CPU a 64 bit).
Tux, la mascotte di Linux.
GNU/ LINUX
Nel 1991 Linus Torvalds, studente del corso di Sistemi Operativi all'Università
di Helsinky, aprì la strada allo sviluppo di LINUX, che ad oggi è forse il segno
più tangibile della realizzazione del progetto GNU. Linus doveva studiare il
nuovo processore Intel 80386, che aveva caratteristiche molto innovative
rispetto ai suoi predecessori, come ad esempio la natura multitasking. Sulla
macchina utilizzata da Linus girava il Sistema Operativo Minix, un piccolo UNIX
commerciale a microkernel, che veniva offerto con notevoli agevolazioni per
scopi didattici. Linus si pose il problema di migliorare Minix; non riuscendo
nell'intento, iniziò lo sviluppo di un kernel che permettesse di scrivere una
versione free di Unix. Alla fine dell'Agosto 1991, Linus arrivò a qualcosa di
compiuto, a cui impose il numero di versione 0.01, che tuttavia rendeva ancora
necessario l'utilizzo di una macchina con Minix. Da quel momento, secondo le sue
stesse parole, Linus fu irrimediabilmente catturato da ciò che stava facendo, a
tal punto da dover a tutti i costi realizzare qualcosa che gli permettesse di
eliminare Minix dal suo computer arrivando a fondersi con il progetto GNU.
GNU/Linux è una libera e distribuibile versione di
UNIX, è un insieme di conoscenze ed esperienze che hanno trovato in quest’ultimo
una piazza virtuale dove crescere rapidamente. All’interno del sistema operativo
non viene utilizzato in nessun modo codice licenziato da enti commerciali e
buona parte del software incluso segue questa corrente di pensiero abbracciata
dal progetto GNU della Free Software Foundation. Tuttavia Linus Torvalds
è più vicino, nel pensiero, al mondo ‘Open Source’ piuttosto che a quello ‘Free
Software’: non è, infatti, mai stata sua intenzione appassionarsi all’aspetto
politico del fenomeno ‘Free Software’, non stupisce, perciò, che, quando nel
1998 Eric Raymond propone di prendere Linux quale icona del nascente movimento
‘Open Source’ , Torvalds non esiti ad accettare. Non si può, tuttavia, fare a
meno di notare che Linus sceglie, per proteggere il suo sistema, la ‘Licenza
Pubblica Generica’, ossia la bandiera del popolo ‘Free Software’, certamente,
fra le licenze compatibili con la ‘Open Source Definition’, la più restrittiva.
Fino a poco tempo fa e in parte ancora oggi, chi
utilizzava GNU/Linux doveva avere una cultura informatica di base molto solida
ed essere in grado all'occorrenza di installare, configurare e aggiornare
autonomamente il proprio sistema. Con l'adozione del sistema da parte di molte
aziende sono stati creati programmi di installazione e manutenzione che non
richiedono conoscenze tecniche così approfondite per l'utilizzo di GNU/Linux;
questi nuovi software di installazione, uniti alla possibilità di creare sistemi
in
dual boot, hanno
aperto la strada all'ingresso di GNU/Linux all'interno del mercato
desktop.
|