GNU
Da Luckylinux.org - Il wiki di informatica, tecnologia e programmazione.
Storia
GNU (acronimo ricorsivo: Gnu is Not Unix) è il progetto avviato da Richard Mathew Stallman nel 1983, che aveva lo scopo di fornire un sistema operativo del tutto libero. In quegli anni Stallman lavorava presso il laboratorio di intelligenza artificiale del MIT e faceva parte di una foltà comunità in cui si scambiavano liberamente programmi e ciò succedeva da parecchio tempo ormai. Infatti condividere i programmi (in partciolare i sorgenti) è antico come scambiarsi le ricette in cucina.
Al MIT era presente un sistema operativo progettato proprio da questa comunità di hacker, e il compito di Stallman era quello di migliorarlo. Ancora non c'era il concetto di software libero in quanto questa espressione ancora non esisteva, ma si trattava proprio di questo. Se qualcuno veniva a chiedere il codice di quel sistema, il codice le venire reso senza problema perchè codeste persone potevano a loro volta migliorarlo e quindi condividerlo a loro volta. Agli inizi degli anni '80 le cose iniziarono a cambiare, la comunità si dissolve e mano a mano il codice non fu più aggiornato e divenne obsoleto. Così fu adottato un nuovo sistema, proprietario, che possedeva delle clausole di non diffussione per il suo utilizzo. Praticamente si era imposto il motto “se condividi il software col tuo vicino sei un pirata. Se vuoi modifiche, pregaci di farle”. Queste imposizioni erano (o meglio sono) descritte dalle case produttrici di software come un "diritto naturale", e, se così fosse, nessuno negherebbe loro questo diritto; ma visto che nessuna carta costituzionale afferma che il copyright sia questo, in realtà si definisce come un monopolio imposto dal governo che limita il diritto degli utenti a effettuare delle copie.
Stallman allora si trovo davanti ad una terribile scelta morale: unirsi al mondo del software proprietario e però magari arrivare ad una certa età e voltarsi indietro capendo di aver lavorato una vita per costruire barriere tra utente, oppure abbondanare il mondo dell'informatica. La svolta decisiva (si dice) fu quando un giorno nel cercare di far funzionare correttamente una stampante che aveva qualche problemino, Stallman si infurio perchè il produttore si rifiutò di fornirgli il codice sorgente del driver.
Così decise di iniziare un nuovo progetto che potesse fornire un sistema compatibile con UNIX, ma libero, a cui tutti gli utenti avrebbero potuto fare e modifiche e migliorarlo. Un sistema operativo degno di essere chiamato così oltre al nucleo base forniva anche interpreti di comandi, assemblatori, compilatori, interpreti di linguaggi, debugger, editor di testo, programmi per la posta e molto altro e Stallman parti con l'idea che anche GNU dovesse possedere tutte queste cose. Per fare ciò, però, Stallman fu costretto a lasciare il MIT (per impedire che il laboratorio pretendesse diritti sul suo progetto), ma i responsabili del MIT consetirono comunque a Stallman di continuare ad usufruire dei calcolatori del laboratorio.
Iniziò a scrivere i primi programmi: GCC, famoso compilatore, e Emacs, uno dei più noti editor. A questo punto però alcune persone si iniziarono ad interessare ad Emacs e si pose il problema di come distribuirlo, all'epoca Stallman era appunto rimasto senza lavoro e così decise che chi non potesse procurarsi emacs via ftp, glielo avrebbe spedito su un nastro per un corrispettivo di 150 dollari (vi ricordo che vendere software libero non infrange per nulla la licenza GPL poi adottata da Emacs). Ma qui Stallman fu costretto anche a preoccuparsi del futuro del suo software in quanto chi avrebbe acquistato da lui emacs avrebbe potutto applicarci qualche restrizione e così allora fu stilata la prima versione della GPL, la GNU General Public License. La GPL che permette di fare qualunque modifica al software purchè esso rimanga sempre disponibile e libero, coprì e copre ancora tutto il software GNU.
Stallman e la comunità che ormai si era fondata intorno a lui, iniziaro a stilare una lista dei compiti: si fece un elenco in ordine di importanze di tutto quello che fosse necessario realizzare per un sistema completo: in questa lista furono inserite anche molte cose apparentemente strane come giochi, inutility ecc.
Mano a mano tutti i componenti furono realizzati eccetto uno, forse quello più importante, il kernel. Si era infatti deciso di aspettare il rilascio come software libero del micro-kernel MACH sviluppato dal Carnegie Mellon University, e dopo un debugging del codice di rinominarlo HURD (in origine Stallman aveva deciso di chiamarlo Alix) però questo lavoro si rivelo estremamente lungo e complicato. Così nel 1991 Linus Torvalds rese disponibile il kernel Linux, che, appunto perchè sviluppato come alternativa al kernel di UNIX, girava perfettamente con tutto il software GNU. Così si ebbe il primo sistema operativo completamente libero GNU/Linux.
Poi per molte ragioni tecniche Linux si rivelò un ottimo kernel e così mano a mano la comunità perse interesse in HURD (se volete provarlo potete provare la versione Debian basata su kernel HURD). Oggi tutte le distro offrono sistemi basati su GNU/linux ma la maggior parte di queste dimenticano di inserire nel loro nome anche GNU (es Suse Linux, Mandriva Linux, Gentoo Linux ecc)!!!
Approfondimenti:
- Homepage del Progetto GNU: http://www.gnu.org/home.it.html
- Saggi di Stallman (trovate un link, io l'unico che ho è quello del mio sito in cui sono parzialmente pubblicati!)
- ASSOLI, Associazione Software Libero: http://www.softwarelibero.it/
- Analisi della licenza GNU GPL: http://www.p2pforum.it/forum/showthread.php?t=76351

