Mondo linux

Il 7 maggio 2008 pubblicai un post su un forum http://forum.eeepc.it Parlavo di Linux e della sua nascita. Lo ripropongo qui

Sto ricompilando il system sulla mia gentoo ed ho molto tempo per cui provo a descrivere la storia in estrema sintesi di linux, nel forum ho visto molto interesse, curiosità, ma anche confusione.

La filosofia Linux è profondamnete diversa da quella a cui siamo abituati. Intanto linux dovrebbe chiamarsi GNU/linux, e vedremo che non è una differenza solo semantica.
La leggenda dice che tutto nasce in un laboratorio del MIT, si usava unix e si era comprata una nuova stampante di rete posta in fondo ad un corridoio, la macchina aveva un imbarazzante problema, ogni tanto s'inceppava la carta, per cui tu credevi di aver stampato, andavi a prendere il documento e vedevi che era tutto fermo. Un geniale programmatore del MIT pensò: nessun problema, che ci vuole a scrivere un programmino che si accorga del problema ed avverta tutti gli utenti collegati che la carta si è inceppata, in modo che uno degli utenti vada  sbloccarla, liberando tutti? Bisognava avere i sorgenti del driver per aggiungere una manciata di righe al codice, per cui si telefona al produttore e si chiede e quello ti risponde: mi dispiace ma il codice è segreto. Come mi hai venduto un pacco? Voglio migliorarlo e tu mi dici non si può, ho comprato la macchina, ma quello che ci posso fare lo decidi tu. E' pazzesco pensa il geniale programmatore. E' come comprare un'automobile, ma poter andare da Roma a Bologna, se vuoi andare a Milano devi chiedere il permesso e forse ti sarà dato. Così il nostro programmatore si dimette dal MIT e pensa di costruire un sistema che permetta al suo possessore di farne ciò che vuole. Nascono le quattro libertà:
* Libertà di eseguire il programma, per qualsiasi scopo (libertà 0).
* Libertà di studiare come funziona il programma e adattarlo alle proprie necessità (libertà 1). 
L'accesso al codice sorgente ne è un prerequisito.
* Libertà di ridistribuire copie in modo da aiutare il prossimo (libertà 2).
* Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio (libertà 3).
L'accesso al codice sorgente ne è un prerequisito.
E' nato il progetto GNU, così chiama il progetto il suo fondatore il geniale Richard Stallmann (http://it.wikipedia.org/wiki/Richard_Stallman), GNU è il simpatico animale simile ad una mucca smile ma è anche acronimo ricorsivo per “GNU's Not Unix”; (GNU Non è Unix) e si pronuncia “gh-nu“ (con la g dura).
http://www.gnu.org/home.it.html 
Insomma si trattava di costruire un sistema che non fosse un marchio registrato, come unix, ma che facesse girare gli applicativi unix e/o funzionasse come unix. Naturalmente bisognava creare un editor per scrivere i programmi nasce EMACS, chiamarlo editor è un eufemismo fa tutto anche il caffè smile, poi occorreva un compilatore, nasce GCC, e poi un debugger GDB, tutto opera di Stallman sia in eterno ringraziato smile Poi in tanti lo si arrichisce di programmi: una shell, anzi tante shell visto che sono libero di farmi la mia e modificare quelle che ci sono se non mi piacciono, e poi tutto. Manca solo un kernel, Stallman aveva pensato ad un bel kernel HURD, ma per tanti motivi non è pronto, per fortuna uno studente, Linus Torvalds, ne ha fatto uno: si chiama Linux. E' nato per gioco ed in tanti hanno collaborato a renderlo più completo ed efficiente. E' libero nel senso delle quattro libertà. Si adotta quello, a Stallman non piace lo voleva modulare, ma linux è pronto. 
Si parte è nato Linux o meglio GNU/Linux. 
E partono le distribuzioni. Ognuno vuole il suo linux: io lo voglio pulito ed efficiente nasce Slackware, io lo voglio facile, efficiente per poterci lavorare in modo professionale ecco Red Hat, io lo voglio libero, senza pacchetti proprietari, efficiente, sicuro e solido ecco Debian, io lo voglio semplice con configurazioni grafiche ecco prima Mandrake o Suse, poi tutto. In linux i programmi si compilano, ma è un pò scomodo ci vuole qualcosa di più semplice: ecco rpm (Red-Hat e derivate) o apt (Debian è derivate). Insomma una distribuzione linu è un kernel (propriamente linux)+la shell+ambiente grafico (ce ne è un milione)+script+utility grafiche+applicazioni varie. 
Naturalmente ognuno si fa le sue e questo comporta una confusione infernale, perchè io posso prendere un programma, aggiungere funzioni in una libreria, che poi rilascio, ma che potrebbe essere incompatibile con quella che tu hai installato. Apt e Rpm tentano di "risolvere l'inferno delle dipendenze". Per qualcuno tutto è troppo confuso, ma per me è libertà, la libertà di sceglier quello che faccio e monto sul mio computer. In realtà come vedete non è scritto da nessuna parte la parola gratuito, posso vendere quello che voglio a patto di rispettare le 4 libertà, cioè chi compra ha il codice sorgente e ci può fare quello che vuole. "Free as in freedom not as in free beer". Da li nasce un mondo. 
Benvenuti i commenti, le osservazioni e le critiche Free as freedom smile