Linux: la vera storia del sistema operativo che ha cambiato il mondo

Un viaggio dalle origini del movimento del software libero fino alla nascita di Linux. Da progetto personale di Linus Torvalds, ha trasformato la tecnologia a livello globale e reso l’open source protagonista del mondo digitale.
Linux: la vera storia del sistema operativo che ha cambiato il mondo

Alla fine del XX secolo, in un’era dominata dalla frenesia delle dot-com, iniziava a prendere piede una rivoluzione silenziosa. Un nuovo sistema operativo, nato come progetto amatoriale in una camera da letto di Helsinki, si stava affacciando sulla scena mondiale: Linux. Questo software, inizialmente frutto dell’idea di un singolo studente, Linus Torvalds, è diventato rapidamente un fenomeno globale, infiltrandosi nelle roccaforti aziendali e attirando milioni di utenti in ogni continente.

All’inizio degli anni 2000, Linux alimentava server Web in tutto il mondo e persino dispositivi della NASA in orbita. Non era solo un outsider, era l’avanguardia di un nuovo modello di creazione del software, collaborativo e aperto, che avrebbe ridefinito il modo in cui la tecnologia stessa sarebbe stata costruita.

Oggi Linux è onnipresente. Il kernel che anima gli smartphone Android affonda le sue radici direttamente in Linux. Quasi tutti i supercomputer più potenti del mondo e la maggior parte dei server fanno affidamento su di esso. In un altro articolo citavamo “i posti” in cui Linux è utilizzato, anche i più curiosi.

Per comprendere appieno la traiettoria di Linux, è essenziale tornare agli inizi degli anni ’80, quando Richard Stallman diede il via al movimento del software libero, ponendo le basi ideologiche per la creazione di un kernel che avrebbe cambiato il mondo.

Le radici filosofiche: il movimento del software libero

La genesi del software libero va ricercata nell’ambiente collaborativo del laboratorio di intelligenza artificiale del MIT (Massachusetts Institute of Technology) nei primi anni ’80.

L’allora giovane programmatore Stallman, con un’intensa passione per il software, si trovò di fronte a una stampante laser che si era bloccata. Stallman avrebbe risolto il problema modificando il codice della stampante, come aveva fatto in passato con le macchine più vecchie. Tuttavia, questa volta fu diverso: il codice sorgente era bloccato, proprietario e inaccessibile. La sua richiesta di una copia del codice a un ricercatore fu rifiutata, a causa di un accordo di non divulgazione.

Quell’esperienza fu un punto di svolta per Stallman. Determinato a non sentirsi mai più così impotente, egli immaginò un sistema operativo che chiunque potesse studiare, migliorare e condividere, riflettendo lo spirito comunitario che aveva prosperato nella cultura hacker presso i laboratori MIT negli anni ’70. Nel 1983, Stallman annunciò il suo ambizioso progetto su un newsgroup di Internet: avrebbe creato un sistema operativo completo, compatibile con Unix, e lo avrebbe distribuito pubblicamente. Lo chiamò GNU, un acronimo ricorsivo per “GNU’s Not Unix“, unendo umorismo hacker a un messaggio di sfida.

Entro la fine degli anni ’80, il progetto GNU aveva sviluppato la maggior parte di un sistema operativo completo, inclusi strumenti cruciali come il compilatore GCC e l’editor Emacs. Tuttavia, mancava un componente critico: il kernel. Sebbene il team di Stallman avesse iniziato a lavorare su GNU Hurd, i progressi erano lenti e il kernel non raggiunse mai uno stato utilizzabile. La risoluzione di questa lacuna sarebbe arrivata da una fonte inaspettata.

La nascita del kernel Linux: Linus Torvalds e quella sfida personale

Nell’estate del 1991, a Helsinki, in Finlandia, un 21enne studente di informatica di nome Linus Torvalds era solito lavorare con il suo PC in un piccolo appartamento. Torvalds, descritto come timido, curioso e completamente assorto nel suo progetto personale, stava cercando di scrivere il kernel di un nuovo sistema operativo “solo per divertimento”.

La sua motivazione era una combinazione di curiosità e sfida ai limiti preesistenti: Torvalds era affascinato dal sistema operativo Unix sin dalla lettura del libro di Andrew Tanenbaum, “Operating Systems Design and Implementation“.

Linus Torvalds non ha usato direttamente Unix perché all’inizio degli anni ’90 era costoso e poco accessibile: le versioni commerciali richiedevano licenze onerose, e le università avevano accesso solo a versioni limitate. Unix, inoltre, era complesso: il codice sorgente era molto ampio e difficile da modificare per un singolo sviluppatore.

Da Minix a Linux

Minix nasce nel 1987 come progetto di Tanenbaum, docente di informatica presso l’Università di Amsterdam. L’obiettivo principale era didattico: creare un sistema operativo compatto, semplice e facilmente comprensibile dagli studenti, per insegnare come funzionano i sistemi operativi reali come Unix. Minix non era pensato per l’uso commerciale, ma come strumento educativo, con codice sorgente chiaro e modulare che permettesse agli studenti di capire concetti fondamentali come gestione dei processi, file system, gestione della memoria, comunicazione tra processi.

In un altro articolo abbiamo spiegato perché Minix è il sistema operativo più diffuso al mondospoiler, Intel ha integrato una versione modificata di Minix nei suoi chipset, utilizzandolo per gestire operazioni a basso livello come la gestione del Management Engine. L’integrazione ha portato Minix a essere presente su miliardi di dispositivi, rendendolo di fatto il sistema operativo più utilizzato su scala planetaria. Interessante notare che lo stesso Tanenbaum non era a conoscenza di questa integrazione fino a quando non è stata resa pubblica dalla comunità hacker (mandandolo su tutte le furie…!).

Torvalds era frustrato dalle limitazioni di Minix: il sistema soffriva delle rigide restrizioni imposte da Tanenbaum, che lo aveva reso minimalista e poco propenso a miglioramenti esterni.

Durante le calde settimane dell’estate 1991, Linus lavorò a tempo pieno, scrivendo codice per controllare la CPU, la memoria e il disco, ovvero il cuore di un nuovo kernel. Non aveva un grandioso piano di dominazione mondiale o l’intenzione di realizzare il sogno di Stallman; ammise in seguito di aver avviato il progetto per liberare il potenziale del suo processore Intel 386 e per avere un sistema simile a Unix da poter eseguire a casa. Era, inizialmente, una sfida personale, un’avventura da “geek”.

Alla fine di agosto 1991, il kernel di Linus iniziò a funzionare a dovere. Poteva eseguire alcuni programmi GNU di base, avendo Linus portato la shell Bash e il compilatore GCC. Era primitivo, ma funzionale.

Rilascio del kernel Linux e nascita della collaborazione aperta

A questo punto, molti hacker avrebbero continuato a lavorare in privato. Invece, Torvalds assunse una decisione storica che avrebbe alterato il corso della storia del software: si rivolse al mondo intero per ottenere feedback sulla sua “creatura”.

Il 25 agosto 1991, gli utenti del gruppo Usenet comp.os.minix, l’allora ritrovo online degli entusiasti di Minix, videro apparire un nuovo intrigante messaggio. La comunicazione di Torvalds appariva umile e autoironica: “Ciao a tutti voi che usate Minix. Sto creando un sistema operativo gratuito, solo un hobby, non sarà grande e professionale come GNU“. Ne parliamo anche nell’articolo celebrativo sul compleanno di Linux.

Spiegò che il suo progetto era in fase di sviluppo da aprile e stava prendendo forma, invitando gli altri partecipanti a condividere riscontri su ciò che apprezzavano o meno in Minix, poiché il suo kernel gli somigliava in qualche modo. Si firmò semplicemente, come se fosse un comune annuncio di progetto studentesco.

In una postilla finale aggiunse una riga: “sì, è libero da qualsiasi codice di Minix e ha un file system multi-threaded. Non è portatile, usa il task switching del 386 ecc. e probabilmente non supporterà mai nulla di diverso dai dischi rigidi AT, dato che è tutto ciò che ho“. Era una dichiarazione onesta che rifletteva l’allora modesto ambito del progetto e le limitazioni hardware.

Fedele alla sua parola, Torvalds rilasciò la prima versione del suo kernel, la release 0.01, a metà settembre 1991. Caricò il codice sorgente su un server FTP per i primi tester. Inizialmente, Linus semplicemente informò la dozzina di persone che lo avevano contattato che potevano scaricare Linux 0.01.

Il nome stesso, Linux, fu una sorta di “incidente”. Torvalds aveva chiamato il suo progetto “Freax“, una combinazione di “Free”, “Freak” e la “X” di Unix, ma l’amministratore FTP, Ari Lemmke, trovò “Freax” sciocco e etichettò la directory pub/OS/Linux. Il nome “Linux” rimase, con sorpresa e lieve imbarazzo di Torvalds.

Il codice era grezzo, ma funzionava. Con quel tranquillo rilascio, Linus aprì la porta a un mondo di co-sviluppatori per plasmare ciò che sarebbe venuto dopo. Una volta varcata quella soglia, non ci fu più ritorno.

L’evoluzione rapida e la convergenza GNU/Linux

Per tutto il 1991 e il 1992, Linux crebbe a un ritmo vertiginoso. I contributi iniziarono a fluire, prima a gocce, poi a cascata: correzioni di bug, driver di dispositivi, patch per aggiungere funzionalità. Torvalds rilasciava aggiornamenti frequentemente, spesso diverse volte in una singola settimana, incorporando qualsiasi patch inviata che avesse senso.

Questo stile di sviluppo, che in seguito sarebbe stato soprannominato “release early, release often” (rilascia presto, rilascia spesso), divenne una pietra angolare dell’approccio open source.

L’inventore del kernel Linux si dimostrò anche un leader pragmatico e accomodante, fidandosi dei contributori più solerti. Il suo approccio aperto, veloce e decentralizzato poteva sembrare caotico, ma funzionava, e Linux migliorò rapidamente con ogni rilascio. All’inizio del 1992, Linux stava guadagnando attenzione come kernel veloce e gratuito.

La vera potenza di Linux emerse quando fu combinato con gli strumenti e le utilità del progetto GNU, come il compilatore, la shell e le librerie, trasformandosi in un sistema operativo completamente funzionante. Il progetto GNU di Stallman aveva impiegato anni a costruire tutto tranne il kernel, la parte che interagisce direttamente con l’hardware. Linus, nel frattempo, aveva scritto proprio quel pezzo mancante.

Il suo kernel Linux colmò quindi la lacuna che GNU non aveva mai colmato. Il risultato fu qualcosa che nessuno dei due avrebbe potuto realizzare da solo: un sistema operativo Unix-like completamente libero, costruito da due persone diverse che perseguivano obiettivi differenti, ma che si allinearono al momento giusto. Per questo motivo, proprio per rivendicare il ruolo di Stallman e l’importanza del concetto di software libero, in molti insistono sull’importanza di chiamare il sistema operativo nel suo complesso GNU/Linux.

È una polemica senza fine, che perdura da decenni, ma che Torvalds ha spesso derubricato. Lui stesso ha sempre chiamato Linux semplicemente Linux e sono tante le distribuzioni Linux che fanno altrettanto. L’importante è “dare merito a chi lo merita“, ha sempre sottolineato.

Controversie, licenze e “Desktop Wars”

Non tutti erano impressionati dal lavoro di Linus Torvalds. A gennaio 1992, scoppiò un acceso dibattito proprio tra Torvalds e il suo ispiratore, il professor Andrew Tanenbaum. Tanenbaum criticò Linux per il suo kernel monolitico, definendolo “un gigantesco passo indietro negli anni ’70“.

Linus, ferocemente protettivo, ribatté che Minix era “brain damaged” (letteralmente “danneggiato nel cervello”). Con quell’espressione intendeva criticare alcune limitazioni progettuali e implementative del sistema operativo. Voleva intendere che Minix era ottimo per imparare, ma non adatto a diventare un sistema operativo completo e potente. Da qui, d’altra parte, scaturì la motivazione per creare Linux, più flessibile, scalabile e libero dalle restrizioni di Minix.

Rendendosi conto che la sua licenza restrittiva iniziale stava ostacolando la collaborazione, Linus prese un’altra decisione cruciale: passò Linux alla GNU General Public License (GPL) di Richard Stallman. Questo garantì che Linux sarebbe sempre rimasto libero e, cosa fondamentale, lo rese legalmente compatibile con la vasta libreria di strumenti GNU. Il “corpo” (GNU) aveva finalmente trovato il suo “cuore” (Linux).

Con il kernel stabilizzato, la comunità affrontò una nuova sfida: renderlo utilizzabile. Questo diede il via alle cosiddette “Desktop Wars“. Un gruppo di sviluppatori creò KDE, un desktop grafico potente e raffinato, ma fu costruito su un toolkit di programmazione chiamato QT, la cui licenza non era considerata completamente libera da Stallman e dal progetto GNU.

In risposta, il progetto GNU avviò il proprio sforzo: GNOME. Fu un riflesso diretto dell’idealismo intransigente di Stallman, un desktop costruito con uno stack software puramente libero. Questa rivalità tra il pragmatico KDE e l’idealista GNOME fu intensa e stimolò anni di incredibile innovazione nel cercare di rendere Linux user-friendly.

La promozione a progetto professionale e l’adozione commerciale

Tutto questo progresso caotico e decentralizzato fu finalmente concettualizzato dal filosofo hacker Eric S. Raymond nel suo saggio del 1997 dal titolo “The Cathedral and the Bazaar“.

Egli contrappose lo sviluppo software tradizionale, top-down (“La Cattedrale“), al modello aperto e peer-to-peer di Linux (“Il Bazaar“). Raymond coniò la “Legge di Linus“: “given enough eyeballs all bugs are shallow” (con abbastanza occhi, tutti i bug sono superficiali).

La legge implica che:

  1. Più persone guardano il codice, più facile è individuare errori e problemi.
  2. Il software open source beneficia di una comunità ampia che testa, controlla e corregge il codice continuamente.
  3. La qualità e la sicurezza del software aumentano proporzionalmente al numero di sviluppatori e utenti che lo analizzano.

Con la chiusura del decennio, il “Bazaar” descritto da Raymond (che peraltro faceva riferimento all’uso di Linux in luogo di GNU/Linux come questione di storicità) era destinato a diventare un grande business. Un’azienda chiamata Red Hat aveva iniziato a impacchettare Linux in una distribuzione facile da installare.

L’approccio unico promosso da Red Hat risiedeva nel modello di business: davano il software gratuitamente e vendevano servizi di supporto e certificazione. Nel 1999, l’IPO di Red Hat fu un successo clamoroso a Wall Street. Il progetto amatoriale di Torvalds aveva ufficialmente raggiunto il successo su vasta scala.

Riconoscimento istituzionale e conflitti legali

Il mondo stava prestando grande attenzione a Linux. Nel 2000, arrivò la convalida definitiva: IBM  annunciò che avrebbe investito 1 miliardo di dollari in Linux. Questa mossa segnalò alle aziende di tutto il mondo che Linux era pronto per lavori seri e mission-critical.

Ma la crescita vorticosa di Linux, risvegliò il gigante Microsoft: regina indiscussa del software, vide il sistema operativo di Torvalds come una minaccia diretta. La famosa dichiarazione dell’allora CEO dell’azienda Steve Ballmer – “un cancro che si attacca, in senso di proprietà intellettuale, a tutto ciò che tocca” – era una dichiarazione di guerra a Linux e a tutto ciò che rappresentava.

Quella dichiarazione, largamente fuori luogo, risale al 1° giugno 2021 e fu rilasciata da Ballmer nel corso di un’intervista con il Chicago Sun-Times, quotidiano di Chicago (USA).

Così Microsoft lanciò una campagna FUD (Fear, Uncertainty, and Doubt), pubblicando studi per dimostrare che il proprio sistema operativo Windows era più economico e migliore di Linux.

La vera minaccia, tuttavia, doveva ancora arrivare. Nel 2003, una società chiamata SCO Group citò in giudizio IBM chiedendo un risarcimento da un miliardo di dollari. L’accusa era esplosiva: codice Unix proprietario, di cui SCO affermava di essere proprietaria, era stato copiato illegalmente nel kernel Linux. Era una minaccia esistenziale: se SCO avesse vinto, Linux avrebbe potuto restare impantanato in battaglie legali per anni, o peggio, essere costretto a pagare royalties su ogni installazione.

Quella storica vertenza legale si trasformò in una battaglia per l’anima stessa dell’open source e del software libero. L’intera comunità si mobilitò e, dopo anni di brutale guerra legale, i giudici detterò ragione a IBM e alla comunità Linux. Il pinguino era salvo.

La maturazione e l’ubiquità silenziosa di Linux

Dal crogiolo di conflitti del quale abbiamo appena sommariamente parlato, emerse una nuova visione. Nel 2004, un imprenditore tecnologico sudafricano di nome Mark Shuttleworth fondò Canonical. Il suo obiettivo era creare una versione di Linux che rispondesse direttamente alla campagna FUD di Redmond. La chiamò Ubuntu, una parola africana che significa “umanità verso gli altri“. Linux avrebbe dovuto essere facile da installare e usare per tutti.

Dopo essere sopravvissuto ad attacchi aziendali e battaglie legali, il progetto Linux aveva bisogno di maturare. Nel 2007, nacque la Linux Foundation, un’organizzazione no-profit neutrale.

Assunse il ruolo di custode del progetto, ospitando la sua infrastruttura e impiegando Torvalds e altri sviluppatori chiave come Greg Kroah-Hartman, che oggi mantiene il kernel stabile.

Tra i membri della fondazione figurano i più grandi nomi della tecnologia: Google, Oracle, Intel, Amazon e, in un’ironia finale e sorprendente, uno dei suoi maggiori contributori oggi è Microsoft. Il vecchio nemico, sotto la guida di Satya Nadella con una visione molto più ampia, si è unito alla rivoluzione. Forte anche del ruolo rivestito dall’open source per il funzionamento della piattaforma cloud Azure.

Nel 2020, con una dichiarazione rimasta negli annali, l’ex presidente Microsoft Brad Smith dichiarò: “ci eravamo sbagliati sull’open source“, mettendo una pietra tombale sull’esternazione infelice di Ballmer.

Sebbene “Linux desktop” non abbia mai sfondato, Linux ha ottenuto una vittoria molto più grande, e senza confini. Come spiegato in apertura, il progetto di Torvalds nato nel 1991 è diventato la spina dorsale invisibile del mondo digitale. Alimenta i server di Google, Facebook e Amazon; fa funzionare quasi tutti i 500 supercomputer più veloci del mondo; si trova nelle smart TV, nelle auto e fa funzionare la Borsa di New York. E attraverso Android (il sistema operativo Google usa il kernel Linux…), è nelle tasche di miliardi di persone.

La rivoluzione non è avvenuta rovesciando il sistema, ma costruendo le fondamenta per un nuovo mondo. È una storia che dimostra come persone appassionate, condividendo codice senza paletti, possano cambiare lo status quo. Anche dalla cameretta di uno studente di Helsinki.

Ti consigliamo anche

Link copiato negli appunti