Home » Linus Torvalds e la storia del free software: da Unix a Linux

Linus Torvalds e la storia del free software: da Unix a Linux

Linus and not Linux. Iniziamo l’articolo con questa contraddizione. In logica una contraddizione è un enunciato(una frase) sempre falsa. La storia di un “recente” sistema operativo e del suo creatore.

Categorie Computer Science · Inside IT · Programmazione · Senza categoria · Software

Fine anni sessanta – inizio anni settanta: il sistema operativo UNIX è in gestazione nei AT&T Bell Labs, scritto con basi di programmazione in C. Successivamente l’intero sistema operativo sarà riscritto da Ken Thompson e Dennis Ritchie in linguaggio C per facilitarne il porting e la manutenzione. Con questo tipo di background Unix è diventato il sistema operativo più affidabile per gli amministratori aziendali, enti scolastici e università.

Ciò nonostante a causa di alcune controversie con l’anti-trust: ad esempio viene impedito a UNIX di diffondersi ulteriormente nelle aziende e in altre istituzioni. I suoi sviluppatori e i suoi tanti sostenitori in pieno spirito dell’epoca erano stati influenzati anche dai temi sociali di quegli anni – erano gli anni dei figli dei fiori – , un periodo di grandi ideali. Rivoluzioni. Autorità contestate, amore libero, movimenti hippie a tutto spiano influenzarono anche la filosofia di Unix che si riteneva dovesse essere distribuito liberamente.

In effetti tale concezione, tale filosofia ha più a che fare con lo spirito dell’epoca che con il sistema operativo. Tant’è, e non a caso, che anni dopo in tale ottica negli anni Ottanta, un eccentrico programmatore diventato poi il guru del free software Richard Stallman, iniziò a lavorare ad una alternativa libera a Unix.

Linus Torvalds, il papà di Linux

Linus Torvalds, figlio di Nils, un giornalista televisivo e radiofonico e di Anna redattrice all’ufficio esteri della Finnish News Agency in quegli anni entrambe attivisti del Partito Comunista. Nasce ad Helsinki, Finlandia il 28 dicembre del 1969. Il suo bisnonno, un contadino povero della città di Vaasa(Finlandia) aveva sei figli, due dei quali riusciranno a laurearsi.

Uno dei due è Leo Waldemar Tornqvist, l’uomo che ha il merito di aver avvicinato Linus alla trigonometria prima e al computer poi. Leo, il nonno materno, era professore di statistica all’università di Helsinki. Nel 1981, quando Linus aveva appena 11 anni, Leo comprò uno dei primi home-computer, computer da poco commercializzati al grande pubblico e pensati esclusivamente per uso domestico, dell’epoca il famoso e glorioso Commodore Vic-20.

Una caratteristica di questi computer era quella di non aver bisogno di nessun assemblaggio. Rapidamente lo si collegava alla televisione, se si era fortunati a colori e lo si accendeva, et voilà  era pronto per l’uso. Siccome una delle poche cose che era possibile fare con questi home-computer era la programmazione in Basic, Leo nonno di Linus, riusciva con tale linguaggio di prog rammazione a fare molte delle cose che aveva fatto con i grandi computer(Mainframe) dell’università.

Così nonno Torvalds scriveva i listati dei programmi su carta non trovandosi a suo agio a batterli al pc, lasciando a Linus il compito di digitarli sul Commodore Vic-20. Con il passare del tempo Linus imparò a scrivere programmi da solo, e uno dei primi e più semplici programmi in linguaggio BASIC che scrisse, fu il seguente:

10 PRINT “CIAO”

20 GOTO 10

Ad Helsinki frequenta la scuola superiore presso la Norssen High, dove ottiene ottimi risultati nelle materie scientifiche. Terminato il liceo inizia la sua carriera universitaria e si iscrive al Corso di Studi in Informatica alla Facoltà di scienze matematiche e fisiche. Insieme ad un altra matricola suo collega di studi, tale Lars, aderiscono alla Spektrum, un associazione di studenti di lingua svedese. Associazione composta da tutti studenti di scienze dure: fisica, chimica, biologia, matematica.

linus torvalds linux

I primi pc

L’adolescente Torvalds, come tutti i suoi contemporanei aveva avuto diversi home-computer, i primi PC per uso domestico. Il primo fu quello ereditato dal nonno materno Leo, il già citato Commodore Vic-20. Seguì il Commodore C64, una sorta di upgrade del Vic-20 proseguendo poi con un Amiga. I Commodore computer in quegli anni in Europa e in Italia diventarono molto popolari e hanno avuto il merito di avvicinare tantissimi degli adolescenti dell’epoca all’informatica. In quel periodo informatico ogni macchina era dotata di un proprio specifico e a volte embrionale sistema operativo che andava dai più rudimentali ai più avanzati per l’epoca. Tra i PC IBM compatibili dominava il DOS.

n’altra macchina comprata con i propri risparmi fu il Sinclair QL, uno dei primi personal computer a 32 bit, come sistema operativo aveva Q-DOS scritto per quel computer e con un BASIC molto avanzato. Tra le migliori caratteristiche del Sinclair QL campeggiava la capacità di lavorare in multitasking, cioè riusciva ad eseguire più programmi contemporaneamente. Possedeva un microprocessore Motorola 68000 il quale era a 16 bit ma poteva gestire spazi di indirizzamenti a 32 bit, il che ne faceva un processare a 32 bit a tutti gli effetti.

linus torvalds linux

Il servizio di leva

Terminato il primo anno accademico frequentato con profitto grazie al tempo dedicato esclusivamente allo studio della programmazione, ai corsi universitari e alle letture preferite, decise di non procrastinare ulteriormente e che fosse venuto il momento di affrontare uno degli obblighi più inviso ai giovani adulti di quel periodo storico, cioè svolgere il servizio militare. Gli si presentarono due possibilità: “fare il servizio civile che durava un anno o fare il militare che durava otto mesi”.

Scelse la seconda, diventando Ufficiale dell’Esercito Finlandese, nonostante questa scelta gli costasse fare 90 giorni in più di servizio rispetto allo svolgimento come soldato semplice, senza tener conto del duro addestramento della scuola ufficiali. L preparazione dei graduati tra le tante attività includeva lunghe marce in giro per la Lapponia carico di armi. Dulcis in fundo ore e ore passate a sciare per poi doversi infine accampare all’addiaccio. Insomma un duro corso di sopravvivenza. La destinazione ultima del sottotenente Torvalds fu nel corpo dell’artiglieria con il compito di controllore di fuoco.

Linus Torvalds, Linux e il free software

Linus Torvalds conobbe Richard Stallman assistendo a una conferenza tenutasi nel 1991 al Politecnico di Helsinki. Richard Stallman nasce a New York nel 1953. Inizia a lavorare nel laboratorio di intelligenza artificiale del MIT(Massachusetts Institute of Technology) nel 1971 dove entrò a far parte di una comunità scientifica in cui lo scambio del software era tradizione.

Nel lontano 1984 inizia a lavorare ad un alternativa a Unix. Il progetto prese il nome di GNU(GNU è un acronimo ricorsivo e sta per ”GNU is not Unix” ) e lanciò una scommessa: un’offerta di programmi informatici che possano essere liberamente usati, copiati e distribuiti gratis. Un approccio rivoluzionario in un epoca di monopoli in cui il concetto di software libero basato sulla idea della libera condivisione era visto di cattivo occhio.

Stallman è il padre del Free Software. Un software è libero ad alcune condizioni:

  • chi lo usa è libero di utilizzare il programma per qualsiasi scopo;
  • l’utente ha la libertà di modificare il programma secondo i propri scopi(ma per questo è necessario l’accesso al codice sorgente);
  • l’utente ha la libertà di distribuire copie del programma, gratuitamente o dietro compenso;
  • si ha la libertà di distribuire versioni modificate del programma, così che la comunità possa fruire dei miglioramenti apportati.

“Free” si riferisce alla libertà e non al prezzo: vendere copie di un programma non contraddice il concetto di software libero.

Linux, forse, non occuperebbe il posto che oggi occupa nella computer science se non fosse esistito il concetto di software open source. Uno degli obiettivi principali di GNU era quello di sviluppare un sistema operativo, e siccome all’epoca non esisteva un kernel Unix-like decisero di progettarne uno da zero che sarebbe stato un kernel libero (Hurd, nome del kernel) del nuovo sistema operativo.

To be continued…