GNU/Linux cos'è e come è nato

distribuz600x

In questo articolo, prendendo spunto da uno simile scritto nel 2002 per questo sito, vedremo di rispondere a due domande fondamentali sulla vita, l'universo e tutto quanto:

Cos'è GNU/Linux?

Come è nato?

Cos'è GNU/Linux?

GNU/Linux è un sistema operativo derivato da Unix formato dalla fusione del kernel Linux (open source ma con parti proprietarie) e dei componenti propri del progetto GNU (acronimo ricorsivo dal significato GNU is not Unix). Il kernel Linux è anche il cuore di molti sistemi operativo non definibili come GNU/Linux in primis Android e ChromeOS.

Il progetto GNU

Non si può parlare del sistema operativo Linux senza citare il progetto GNU. Il progetto GNU nasce nel 1983 dal carismatico Richard Stallman intenzionato a creare il primo clone di Unix completamente Open Source. Fanno parte del progetto GNU quasi tutti i tool di uso comune all'interno di una qualsiavoglia distribuzione Linux. I più famosi sono la shell bash e i tool di sviluppo (da make fino a compilatori per ogni linguaggio che vi possa passare per la testa). Il progetto GNU è in mano alla FSF (Free Software Foundation).

Le licenze GPL

La FSF è anche la madre delle licenze open source GNU GPL (GNU General Public License). Differentemente da altre licenze open source (le più famose sono Apache, BSD e MPL) le GPL, oltre a dare la possibilità a tutti di leggere, modificare e ridistribuire il codice, richiedono che il prodotto finale mantenga la licenza GPL. La versione 3 della licenza GPL ha portato molte discussioni all'interno della comunità open in quanto richiede anche che i software che ne fanno uso siano completamente open. Il kernel Linux contenendo alcune parti e firmware proprietari (indispensabili per il corretto funzionamento di alcuni hardware) non può ricorrere alla licenza GPL 3 ed è rimasto quindi alla GPL 2.

Le distribuzioni GNU/Linux

Si difinisce distribuzione una raccolta di software preconfezionata e pronta all'uso. Le prime nate sono Softlanding Linux System, Slackware (derivata da SLS quindi a prima derivata del mondo) ancora in lento sviluppo e Debian la madre di molte distribuzioni famose (Ubuntu in primis) e ancora oggi in sviluppo molto attivo. Ad oggi le distribuzioni sono tantissime come si può vedere da questa immagine (vi stupirà vedere quante distribuzioni derivano da Ubuntu, diventando quindi derivata di derivata). Le mie prime distribuzioni sono state Redhat 5.0 (non funzionava niente), Mandrake 5.3 (derivata di Redhat molto valida ma ormai defunta) e la mitica e complessa Slackware 7 che mi ha reso il pinguino che sono oggi.

Come è nato GNU/Linux?

In principio fu Unix

Nel lontano 1965 l'informatica inizia ad essere di uso comune inizia quindi a rendersi necessario un sistema operativo in grado di connettere il mondo con semplicità. I Bell Laboratories, di proprietà del noto gestore telefonico AT&T, si impegnano nel progetto Multics che verrà però presto abbandonato in quanto ritenuto troppo complesso. Nel 1969 l'ingegnere Ken Thompson e il matematico Dennis Ritchie, entrambi dipendenti Bell, ci riprovano e scrivono (in assembler ovviamente) Unix (si pronuncia Unics anche per enfatizzare la semplicità rispetto al suo predecessore). Nei primi anni 70, sempre dai nostri amici di cui sopra nasce, il linguaggio C, evoluzione del linguaggio B (a sua volta derivato dal Foltran), e Unix viene riscritto diventando indipendente dalla piattaforma. Pochi anni dopo Unix viene donato alle università diventando quello che è oggi cioè il sistema operativo più usato al mondo.

Minix

Minix ha un ruolo molto importante nella nascita del nostro sistema operativo preferito. Minix è un sistema operativo Unix/Like (che funziona come Unix ma che non vi deriva direttamente) creato per le università e in grado di girare su architettura i386.

Linux Torvalds

Siamo nel 1991 e lo studente finlandese Linus Torvalds si trova a lavorare con Minix. Non è soddisfatto ed intenzionato a scoprire il funzionamento del suo potentissimo 386 decide, partendo dall'emulatore di terminale, di riscriverne il kernel. Passato il divertente inverno finlandese, ad agosto, il kernel è usabile ma dipendente da Minix quindi Linus annuncia la sua nascita sulla newsletter ufficiale di Minix.

Un aneddoto: Linus aveva dato al progetto il nome di Freaks (ibrido, mutante) ma il mantainer del server FTP (dalla serie il server è mio e faccio come voglio io) mise i sorgenti nella directory Linux (Linus UNIX), ribattezzando di fatto il progetto.

GNU/Linux

Il kernel Linux riscuote un buon successo fra gli appassionati e ben presto altri si aggiungono allo sviluppo. Piano piano Linux si stacca da Minix e riesce a lavorare con tutti i tool creati dal progetto GNU e, visto che il kernel Hurd è solo un progetto, per molti anni Linux diventa il kernel ufficioso intorno al quale il progetto GNU porta avanti il proprio sistema operativo.

Il successo e i problemi con il progetto GNU

Più che il nostro kernel cresce più che va a scontrarsi con la varietà dell'hardware per il quale è concepito. Nasce infatti open source ma è stato creato per girare su macchine che di open source hanno poco e niente quindi sempre più parti di Linux diventano closed source e sempre più apporti closed vengono da costruttori di hardware. Con la nascita della GPL 3 (secondo me costruita appositamente per creare problemi a Linux) lo scontro già in essere fra Linux Foundation e FSF diventa insostenibile facendo si che il sistema operativo GNU si allontani sempre di più dal kernel Linux (fino quasi a disconoscerlo).

Il logo

Il logo del kernel Linux è il pinguino TUX (Torvalds UniX). Si narra che dopo essere stato morso allo zoo Linus abbia deciso che il logo del suo kernel doveva essere un pinguino, seduto e rilassato come dopo aver fatto una "bella scopata" (parole sue non mie). Tutto questo si può leggere nella biografia di Torvalds, l'ormai introvabile "Rivoluzionario per caso" (ce l'avevo ma non so che fine ha fatto)

Conclusioni

Spero di aver risposto in maniera esauriente alle nostre domande fondamentali sulla vita, l'universo e tutto quanto.