Linux, un nome, un Kernel, sono passati ben 34 anni, ma vale la pena ricordare perché il 5 ottobre del 1991, è una data importantissima per il kernel Linux.

Introduzione: il contesto prima del 5 ottobre 1991
Prima di addentrarci nel 5 ottobre, serve capire le condizioni al contorno.
- Linus Torvalds, studente ventunenne di informatica all’Università di Helsinki, stava lavorando su un progetto “da hobby” di kernel Unix‑like per macchine Intel 386.
- Egli implementava il suo lavoro inizialmente su un sistema MINIX (il sistema didattico di Andrew Tanenbaum), usando MINIX come ambiente di sviluppo.
- Il modello era pragmatico: non puntava a qualcosa di grandioso sin da subito, ma a far “funzionare qualcosa” per sé stesso e poi condividerlo. In un famoso annuncio del 25 agosto 1991 scrisse che non prometteva che il progetto sarebbe diventato grande o professionale come GNU.
- Il 17 settembre 1991 Torvalds pubblicò la versione 0.01 su un server FTP (FUNET, rete universitaria finlandese). Questa versione conteneva il sorgente, ma era più che altro un “proof of concept” — non era neanche autonomamente eseguibile, richiedeva il supporto di componenti esterni (MINIX) per compilarlo o testarlo.
Detto ciò, arriviamo al 5 ottobre 1991.
Il 5 ottobre 1991: rilascio di Linux 0.02
Questa fatidica data arriva, con anche un singolare messaggio di rilascio che cambierà per sempre la storia dei sistemi operativi, soprattutto quelli open source e liberi.
Il messaggio di rilascio
In quel giorno Torvalds inviò un messaggio al newsgroup comp.os.minix con oggetto “Free minix-like kernel sources for 386‑AT”.
Nel suo annuncio scrisse (tradotto e adattato): “Come ho accennato un mese fa, sto lavorando a una versione libera di un kernel in stile minix per computer AT‑386. Finalmente ha raggiunto uno stadio in cui è utilizzabile (anche se quanto lo sia dipende da cosa vuoi), e sono disposto a mettere in circolazione i sorgenti per una distribuzione più ampia. È solo la versione 0.02 (+1 patch molto piccola già) ma ho fatto funzionare con essa bash / gcc / make / sed / compress, etc.”

Torvalds disse poi che: “Il codice completo del kernel è fornito, poiché non è stato usato codice Minix. Le sorgenti delle librerie sono solo parzialmente libere, così non possono essere distribuite al momento.”
Con quel rilascio, Torvalds gettò il guanto: 0.02 è la prima versione “ufficiale” di Linux che può essere utilizzata, anche se con limiti e in un suo rifacimento di storia, Torvalds dice che 0.01 non fu mai annunciata ampiamente perché non era soddisfatto dello stato di quella versione.
Caratteristiche tecniche e limiti iniziali
Qualcosa che chi lavora con kernel dovrebbe apprezzare: 0.02 funzionava, almeno in alcune configurazioni. Questo è il salto che differenzia “codice di prova” da “software che può essere provato da altri”.
Tuttavia, aveva ancora vincoli significativi:
- Dipendenza da MINIX / ambiente esterno: non era ancora un kernel completamente autonomo: in molte operazioni si appoggiava a componenti esterni.
- Scarsa portabilità: era progettato per architettura 386 (e cloni AT). Torvalds esplicitamente scrisse che non supportava altre architetture o dischi fuori da AT.
- Uso parziale di librerie non libere: Mentre il kernel era completamente libero (senza codice Minix), le librerie attorno erano “parzialmente libere” questo limitava la redistribuzione.
- Dimensioni e codice cancellato: C’è un interessante retroscena: le versioni 0.02 fino alla 0.10 sono in gran parte perdute. A quell’epoca era prassi cancellare le vecchie versioni dai server FTP prima di caricare le versioni nuove.
In sostanza, 0.02 fu un passo fondamentale: funzionante, condivisibile, ma ancora embrionale.
Retroscena, scelte e filosofia in gioco
Come tutte le storie sul software libero, anche la creazione del Kernel Linux è tutt’altro che immune da curiosi retroscena.
Il salto psicologico
Come in molti progetti complessi, c’è una soglia psicologica fra “lo sviluppo mio privato” e “rendere pubblico qualcosa che altri possono usare, criticare, rompere”. Torvalds lo aveva già oltrepassato con il rilascio di 0.01, ma con 0.02 confermò il salto: “ecco il mio kernel, mettiamolo in rete”.

Questo passo porta con sé rischi: altri vedranno bug, falle, criticheranno architetture. Serve humilità ingegneristica per accettare che il tuo lavoro è insufficiente, e resistenza per continuare a migliorarne l’ossatura.
Licenza, condivisione e controllo
All’inizio Linux non fu rilasciato sotto la GNU GPL. Torvalds inizialmente usò una licenza da lui stesso scritta che limitava la redistribuzione commerciale e solo con il rilascio della versione 0.12, nel 1992, si optò per la licenza GNU GPL (con la famosa frase “or later”) una decisione che avrebbe reso Linux uno dei pilastri del movimento del software libero.
La scelta della licenza è una mossa strategica: dichiarare “codice libero, ma con restrizioni” all’inizio, mantenere controllo fin quando il progetto non è più stabile e diffuso, e poi aprirsi completamente ed è una transizione che richiede fiducia nella comunità e capacità di leadership eTorvalds prese quella decisione con lungimiranza.
Collaborazione e contributi per il kernel Linux
Subito dopo 0.02, l’interesse crebbe. Persone che usavano MINIX o che leggevano comp.os.minix cominciarono a dare feedback, inviare patch, suggerimenti. Linux inizia a uscire dall’ambito “il lavoro di un singolo studente” per diventare un progetto collaborativo.

Un elemento importante: Torvalds aveva già predisposto un modello meritocratico (chi fa patch e contributi utili merita spazio). Questo è fondamentale per un progetto che vuole crescere in modo distribuito la struttura gerarchica centralizzata non sarebbe stata compatibile con la rapidità della contribuzione globale.
Perché 0.02 e non versioni tipo 1.0 subito del Kernel Linux?
È utile pensare la normale strategia dell’ingegneria del software: non si va in produzione con un codice che “magari funziona”. Serve maturazione, iterazione, test, feedback. Torvalds rimase con la versione “0.x” per anni, segno che non intendeva barare con versioni “perfette” uscenti troppo presto.
Questo approccio ha permesso che il kernel si costruisse gradualmente, senza aspettative irrealistiche, e incoraggiando gli altri a partecipare, piuttosto che dover essere spettatori.
Dopo il 5 ottobre: evoluzione e implicazioni
Dopo 0.02, il passo successivo fu rapido:
- A dicembre 1991 uscì la versione 0.11, prima versione “self‑hosted” (cioè compilabile su un sistema che già eseguiva Linux).
- Con 0.12 nel 1992 arrivò il rilascio sotto GNU GPL.
- Il kernel continuò a crescere: 0.95, 0.96, 0.97, 0.98, 0.99 fino alla 1.0 (rilasciata nel marzo 1994)
- Nel 1994 il kernel raggiunse più di 170.000 righe di codice e assunse uno status di “versione stabile” reale.

In prospettiva, il 5 ottobre 1991 è un punto spartiacque: da lì il “progetto di studente” diventa “nucleo collaborativo di sistema operativo”. È anche la data ufficiale che Wikipedia e molte fonti citano come rilascio di Linux 0.02.
Puoi tracciare una “linea di battaglia” del kernel da lì: miglioramenti di scheduler, gestione della memoria, moduli, driver, architetture multiple e tutto quel che serve per un kernel moderno; le prime battaglie furono su stabilità, compatibilità hardware, modularità, gestione concorrente, interfacce e API stabili.
Analisi critica: cosa sappiamo per certo, cosa è mito, che lezioni tecniche possiamo trarre
Tra le leggende tipo “i driver non sono un problema su Linux” (spoiler spesso lo sono più che su Windows, uso ambedue gli ecosistemi…) e che va più veloce (spoiler: in linea di massima gli OS Linux vanno più veloci, ma se non sono ottimizzati non è così semplice…), esistono non pochi scenari “mitologici” riguardanti la nascita del kernel Linux.
Certezze vs miti
Breve analisi dei miti e dei fatti che circolano da decenni sulla nascita di Linux:
- Certezza: 0.02 è effettivamente la prima versione che Torvalds annunciò come “usabile” e che includeva binari utensili (bash, gcc, make, etc.).
- Mito: alcune versioni della linea 0.x sono perdute (specialmente fino a 0.10) questo è riportato da fonti come Computer History Wiki.
- Mito o incertezza: spesso si legge che 0.02 “girava da sola” senza MINIX e in realtà non era completamente autonomo nelle sue prime iterazioni. Ha ancora dipendenze esterne. (Molte fonti lo dicono chiaramente).
- Certezza: Torvalds non disse nulla di 0.01 in modo formale nel newsgroup e ammise lui stesso che quella versione non fu grandemente annunciata.

Lezioni tecniche e filosofiche
Tutta questa storia sulla nascita del Kernel Linux che ancora oggi gestisce server e telefoni ha insegnato qualcosa:
- Iterazione rapida + feedback esterno: Il rilascio di 0.02 non attende la perfezione: è un’esposizione verso la comunità. Questo è centrale nel paradigma open source e nello sviluppo kernel moderno.
In altri termini: “rendi visibile lo stato intermedio, così che altri possano aiutare a plasmare la direzione”. - Mantenere il codice sorgente sopra ogni cosa: Torvalds fornì il sorgente del kernel senza includere Minix ed evitare dipendenze chiuse o “black box” è vitale per l’evoluzione.
- Modularità e fondazione stabile minima: All’inizio il kernel era piccolo, focalizzato su pochi componenti critici (gestione processi, file system, driver minimi). Non cercò di fare “tutto subito”. Questo è un principio evergreen: meglio avere un cuore stabile e piccolo che un “monolite fragile”.
- Licenza strategica. Il passaggio da una licenza restrittiva verso la GPL è un’arma strategica: attira collaboratori, protegge la libertà del progetto e rende difficile l’appropriazione commerciale senza reciprocità.
- Gestione delle versioni e cancellazioni. La prassi di cancellare versioni precedenti è inquietante con gli occhi moderni: rendere tracce storiche è utile per audit, comprensione retrospettiva, debugging storico e studi accademici.
- Leadership tecnica e comunità meritocratica. Il ruolo di Torvalds non fu solo “scrittore di codice”: gestore delle patch, coordinatore, integratore. Un buon progetto open source ha bisogno di occhi critici, visione, e coordinamento.
Conclusione: importanza storica del 5 ottobre 1991
Il rilascio del kernel Linux 0.02 segna l’atto di nascita “pubblico” del progetto Linux come software con cui altri potevano giocare, sperimentare, contribuire ed è un giorno simbolico: il giorno in cui il progetto fa il salto dall’essere un esperimento personale a una risorsa comunitaria.
Dal punto di vista del design e della filosofia del software, quel giorno rappresenta la vittoria degli approcci iterativi e collaborativi sull’assicurarsi che “tutto funzioni bene prima del primo rilascio”. È una pietra miliare nella storia del software libero.