GNU
GNU (acronimo ricorsivo di "GNU's Not Unix") è un sistema operativo Unix-like ideato nel 1984 da Richard Stallman, allo scopo di ottenere un sistema operativo completo utilizzando esclusivamente software libero.[1] 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 o quelli di Darwin e 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]
Indice
Storia[modifica | modifica wikitesto]
![](http://web.archive.org./web/20161112084653im_/https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Unix_timeline.it.svg/220px-Unix_timeline.it.svg.png)
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 hacker (termine abusato dai mezzi di comunicazione in quanto spesso identificato come maligno, ma nella realtà indica un "esperto informatico") del laboratorio aveva progettato e scritto in linguaggio assembly per il PDP-10, uno dei grossi elaboratori di quel periodo.
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.
Stallman, cominciando a confrontarsi con le conseguenze del cambiamento, si rese conto che l'avvento del software proprietario avrebbe avuto l'effetto di impedire ai programmatori di collaborare tra 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.
« Il mio lavoro sul software libero è motivato da un obiettivo idealistico: Diffondere libertà e cooperazione. Voglio incoraggiare la diffusione del software libero, rimpiazzando i programmi proprietari che proibiscono la cooperazione, e quindi rendere la nostra società migliore. Questa è la ragione fondamentale per cui la GNU General Public License è stata scritta così com'è - come copyleft » |
(Richard M. Stallman) |
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 Shell. La libreria C di GNU è utilizzata da ogni programma che gira su sistemi GNU/Linux per comunicare con il kernel Linux.
Nel 1989 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 per creare un unico sistema chiamandolo GNU/Linux. Il kernel Linux venne scritto per la prima volta nel 1991 da Linus Torvalds e distribuito anch'esso sotto licenza GNU GPL;
Lo sviluppo di GNU Hurd 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.
Kernel[modifica | modifica wikitesto]
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[modifica | modifica wikitesto]
- 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[modifica | modifica wikitesto]
Note[modifica | modifica wikitesto]
- ^ (EN) About GNU, 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, gnu.org. URL consultato il 22 giugno 2016.
- ^ Il Manifesto GNU, gnu.org. URL consultato il 22 giugno 2016.
Voci correlate[modifica | modifica wikitesto]
- Copyleft
- Free Software Foundation
- Free Software Directory
- GNU Free Documentation License
- GNU General Public License
- GNU Lesser General Public License
- Lista dei pacchetti GNU
- Software libero
- Open source
Altri progetti[modifica | modifica wikitesto]
Wikizionario contiene il lemma di dizionario «GNU»
Wikimedia Commons contiene immagini o altri file su GNU
Collegamenti esterni[modifica | modifica wikitesto]
- Il Sistema Operativo GNU, gnu.org.
- The GNU Project, gnu.org.
- (EN) The Free Software Directory, directory.fsf.org.