GNU
GNU (acronimo ricorsivo di "GNU's Not Unix") è un sistema operativo Unix-like, ideato nel 1984 da Richard Stallman e promosso dalla Free Software Foundation, allo scopo di ottenere un sistema operativo completo utilizzando esclusivamente software libero[1]: l'obiettivo era rifare un sistema operativo libero ma che non fosse più quello di prima, che rispondesse alle idee originarie, che avesse le stesse proprietà del sistema Unix, ma che fosse allo stesso tempo diverso.
Dato che GNU Hurd, il kernel ufficiale del progetto, non è considerato pronto per la distribuzione, GNU viene in genere utilizzato congiuntamente ad altri kernel tra cui Linux, Linux-libre, XNU o quello utilizzato da FreeBSD. La parola GNU si pronuncia /gnu:/ (gh-nù) e non /ɲu:/ per non confonderlo con l'omonima specie animale o con l'aggettivo inglese new.[2]
Storia
L'ideatore di GNU è Richard Stallman, che cominciò la sua carriera al MIT nel 1971, lavorando in un laboratorio di intelligenza artificiale, i cui membri erano già abituati a scambiare liberamente codice e programmi in un periodo in cui il software, usato in modo molto simile all'attuale software libero (senza però nessuna regola scritta che ne sancisse le modalità d'uso, cioè senza nessuna licenza), veniva utilizzato da molte compagnie private e i programmatori non erano quasi mai soggetti ad un accordo di non divulgazione.
Il laboratorio di intelligenza artificiale usava un sistema operativo a partizione di tempo (timesharing) chiamato Incompatible Timesharing System (ITS) che il gruppo di esperti informatici del laboratorio, chiamati semplicemente "hacker", aveva progettato e scritto in linguaggio assembly per il PDP-10, uno dei grossi elaboratori di quel periodo. Il termine “hacker” con cui erano conosciuti gli esperti informatici non si riferisce al significato attuale di “pirata”, ma a quello di persone “che amano programmare, e a cui piace essere bravi a farlo”.
Dal 1980 la situazione cambiò notevolmente in quanto la quasi totalità del software in circolazione era stato sostituito dal software proprietario, i sistemi utilizzati erano i più moderni PDP-10 della Digital, che andarono a rimpiazzare gli oramai obsoleti ITS, ed il gruppo originario si dissolse perché molti degli hacker vennero assunti da altre società quali la Symbolics.
La scelta facile che avrebbe potuto fare Stallman sarebbe stata quella di unirsi al mondo del software proprietario, firmando accordi di non-diffusione e promettendo di non aiutare i suoi compagni hacker. In questo modo avrebbe potuto guadagnare, ma sapeva che al termine della sua carriera si sarebbe voltato a guardare indietro e avrebbe compreso di aver contribuito a rendere il mondo peggiore, impedendo ai programmatori di collaborare tra di loro. Verso la fine del 1983 Richard Stallman lasciò il suo lavoro al MIT e cominciò a sviluppare, nei primi mesi del 1984, un nuovo sistema operativo compatibile con Unix, che permettesse a chiunque di vedere il codice, di modificarlo, di eseguirlo, di condividerlo con gli altri liberamente e di passare facilmente ad esso (da qui appunto l'acronimo ricorsivo "GNU's Not Unix"). L'annuncio originale (27 settembre 1983) fu seguito dal rilascio della prima versione del Manifesto GNU[3]. Lo sviluppo del sistema iniziò nel 1984.
Nel 1985, spinti dalla necessità di nuovi finanziamenti, Stallman e soci crearono la Free Software Foundation (Fondazione per il Software Libero), una organizzazione senza fini di lucro per lo sviluppo di software libero. I dipendenti della Free Software Foundation hanno scritto e curato la manutenzione di diversi pacchetti GNU. Fra questi spiccano la libreria C e la Bash. La libreria C di GNU è utilizzata da ogni programma che gira su sistemi GNU/Linux per comunicare con il kernel Linux. Lo sviluppo di questi programmi venne finanziato perché il progetto GNU non riguardava solo strumenti di lavoro o un ambiente di sviluppo: l’obiettivo era un sistema operativo completo, e questi programmi sono stati necessari per raggiungere quell'obiettivo.
L'obiettivo principale di GNU era essere software libero. Anche se GNU non avesse avuto alcun vantaggio tecnico su Unix, avrebbe avuto sia un vantaggio sociale, permettendo agli utenti di cooperare, sia un vantaggio etico, rispettando la loro libertà. Nel 1989 quindi Stallman creò la GNU General Public License per il software libero, che vincola gli utenti a ridistribuire un software, e le sue eventuali modifiche, come software libero. Questo non è sempre vero e nemmeno scontato, come per il caso "X Window System". Sviluppato al MIT, esso venne presto adottato da molte società informatiche e ridistribuito insieme ai sistemi Unix con lo stesso accordo di non-diffusione, trasformandosi rapidamente da sistema libero a sistema proprietario.
Nel 1992 il Sistema GNU ebbe al suo interno un editor di testi estensibile (Emacs), un compilatore (GCC), con funzioni di ottimizzazione e la maggior parte delle librerie e delle utility di un sistema Unix standard. Era praticamente un sistema completo, ma non era ancora pronto il kernel chiamato GNU Hurd (originariamente battezzato "Alix"), il cui sviluppo era cominciato nel 1986, prima sulla base di TRIX (un kernel Unix realizzato al MIT) e successivamente (1988) sulla base di Mach (sviluppato all'Università Carnegie Mellon).
Si decise allora di abbinare il software GNU al kernel Linux, un kernel compatibile con Unix sviluppato nel 1991 da Linus Torvalds come software proprietario, ma reso software libero nel 1992, per creare un unico sistema chiamandolo GNU/Linux.
Lo sviluppo di GNU Hurd, software libero creato nel 1990 per sostituire il kernel di Unix, viene ancora oggi portato avanti dal progetto GNU, ma non ha ancora raggiunto una maturità ed una stabilità che ne permetta l'uso in un ambiente di produzione. Il Progetto GNU continua ad usare il termine "software libero" per esprimere l'idea che la libertà sia importante, non solo la tecnologia.
Descrizione
Kernel
Il sistema GNU è stato abbinato a diversi kernel, tra i quali:
- il kernel GNU Hurd (il sistema operativo prende il nome di GNU/Hurd);
- il kernel Darwin (il sistema operativo prende il nome di GNU/Darwin);
- il kernel Linux (il sistema operativo prende il nome di GNU/Linux);
- il kernel NetBSD (il sistema operativo prende il nome di GNU/NetBSD);
- il kernel FreeBSD (il sistema operativo prende il nome di Debian GNU/kFreeBSD);
- il kernel di Solaris (il sistema operativo prende il nome di NexentaOS).
Principali software del sistema GNU
- bash (bourne again shell): shell del sistema GNU. Il suo scopo è consentire l'esecuzione di programmi da interfaccia a riga di comando.
- gcc (GNU Compiler Collection): suite di compilatori. Supporta numerosi linguaggi di programmazione tra cui C, C++, Objective-C, Fortran, Java e Ada.
- gdb (GNU debugger): debugger.
- GNU Emacs: editor di testo estendibile tramite macro in Emacs Lisp
- coreutils: collezione di software per effettuare operazioni basilari su file e testi.
- glibc (GNU C Library): implementazione GNU della libreria standard del C
- GNOME (GNU Network Object Model Environment): desktop environment
- GIMP (GNU Image Manipulation Program): manipolazione di immagini digitali e ritocco fotografico.
Distribuzioni per PC datati
Note
- ^ (EN) About GNU, su gnu.org.«is to offer a Unix-compatible system that would be 100% free software. Not 95% free, not 99.5%, but 100%»
- ^ Come pronunciare GNU, su gnu.org. URL consultato il 22 giugno 2016.
- ^ Il Manifesto GNU, su gnu.org. URL consultato il 22 giugno 2016.
Voci correlate
Altri progetti
- Wikizionario contiene il lemma di dizionario «GNU»
- Wikimedia Commons contiene immagini o altri file su GNU
Collegamenti esterni
- (EN) Sito ufficiale, su gnu.org.
- (FR) Sito ufficiale, su gnu.org.
- Sito ufficiale, su gnu.org.
- GNU, su sapere.it, De Agostini.
- Il Sistema Operativo GNU, su gnu.org.
- The GNU Project, su gnu.org.
- (EN) The Free Software Directory, su directory.fsf.org.
| Controllo di autorità | GND (DE) 4405655-2 |
|---|