Cari amici scaccolatori,
oggi mi piacerebbe fare con Voi un po’ di storia dell’informatica e, in maniera particolare la storia semisconosciuta (a parte per Sabayonino) dell’epic fail di
Hurd. Non l’avete mai sentito nominare? Non preoccupatevi, vi riassumo la storia, così che abbiate di che edificare la Vostra anima. Correva l’anno 1990, Zuckenberg faceva la prima elementare e in quel di Boston un signore che non ha molta simpatia per l’igiene (al secolo Richard Stallman) decideva che ne aveva abbastanza sia di Unix che di Windows (allora alla versione 3.0) che del demoniaco Mac.
Pensa che ti ripensa, il barba, ti tira fuori una idea super-ficosa: un OS/Kernel basato su un
microkernel su cui girano i demoni, i driver, ecc a livello user e che facesse sembrare i kernel monolitici degli altri una pacchianata. Allego uno schema per semplificare la comprensione dell’ideona.
I vantaggi erano indubbi: processi perfettamente separati (se ne crasha uno, per dire, gli altri continuano a girare), accesso praticamente diretto alle chiamate di sistema sull’hw, ecc, ecc. Nel maggio 1991 cominciano i lavori (utilizzando il
kernel Mach
come base) che, se il destino non fosse cinico e baro, avrebbero portato al sistema perfetto.
E allora, cos’è successo? Perché, dopo ben
25 anni, il livello di sviluppo di Hurd è fermo a una beta che, per girare appena decentemente, deve essere integrata in un Os Linux e fatta girare su una macchina virtuale (che il supporto hw è penoso)? Semplice, perché l’idea è stata pensata e portata avanti MALE. Stallman, infatti, nel suo idealistico (ed irrealistico) concetto di
purezza open non accettò nessun compromesso né a livello di codice (per dire, non accettare driver di terze parti non open) né a livello di programmatori, lasciando il tutto in mano a pochissimi della Free Software Foundation (il fatto che poi, in quegli stessi anni, passasse da quelle parti un borioso signorotto di nome Torwalds, non portò sicuramente bene al progetto).
I limiti intrinseci al progetto spuntarono fuori praticamente da subito: un delirio da debuggare, con prestazioni, a causa della struttura delle code, decisamente sotto tono e con una ridottissima schiera di sw funzionanti a disposizione. Ma Stalmann, uomo di dura cervice, non si arrese a queste prime avversità e, lui e una ristretta combriccola continuarono, molto lentamente, a sviluppare e a credere in questo progetto. Il problema era che il tempo passava e i risultati stentavano a farsi vedere, per cui l’hyppie Richard si vedeva costretto, roso dall’invidia dell’adozione massiccia (rispetto a Hurd) del kernel Linux, a dichiarazioni di tal fatta: “
There is no operating system called Linux. The OS called Linux is GNU. Linux is a program – a kernel.” (trd. Non c’è nessun sistema operativo di nome Linux. L’OS chiamato Linux è GNU. Linux è un programma – un kernel). Queste parole, però, non fecero cambiare idea a tutta una serie di sviluppatori che si erano inizialmente interessati al progetto Hurd (e che erano rimasti “esteni”), ma che trovavano Linux fruibile fin da subito. Anche le grosse corporation (es IBM, Intel, ecc), visti i limiti ormai evidenti dei sistemi Unix, decisero di dare una chance al finlandese volante.
Come finisce la nostra edificante storia? Male, decisamente, con Stalmann e Torvalds che, periodicamente, se le mandano a dire (vabbè, c’è da dire che entrambi i personaggi sono da prendere con le pinze), Windows e Mac che macinano fatturati da paura e un microkernel che resta il sogno di un idealista o l’incubo di un panzone puzzoso, fate voi.