Codice Libero - Capitolo 10

   

GNU/Linux

Nel 1993 il movimento del software libero si trovò a un bivio. Per chi era incline all’ottimismo, tutti i segnali sembravano confermare il successo della cultura hacker. Wired, nuovo mensile specializzato centrato su tematiche quali la crittografia, Usenet e la libertà nel software, andava letteralmente a ruba. Internet, una volta termine confinato al gergo di hacker e ricercatori, si era fatto strada nel lessico comune. Veniva usato perfino dal presidente Clinton. Il personal computer, un tempo giocattolo per hobbysti, aveva guadagnato una diffusa rispettabilità, garantendo a un’intera generazione di nuovi utenti l’accesso ai programmi realizzati dagli hacker. E anche se il progetto GNU non era ancora riuscito a raggiungere l’obiettivo di un sistema operativo completo di software libero, i più curiosi potevano intanto provare Linux.

Sotto qualunque punto di vista, le notizie erano di segno positivo, o almeno così sembrava. Dopo un decennio di stenti, gli hacker e i loro valori stavano finalmente ottenendo il riconoscimento della società. La gente iniziava a comprenderli.

Ma stavano davvero così le cose? Per i pessimisti, ogni segno di accettazione implicava una contropartita negativa. Certo, improvvisamente essere un hacker faceva moda, ma la cosa poteva considerarsi positiva per una comunità cresciuta nell’alienazione? Sicuro, la Casa Bianca andava tessendo le lodi di Internet, spingendosi al punto di registrare un proprio dominio, whitehouse.gov, ma al contempo prendeva accordi con l’imprenditoria, i fautori della censura e i rappresentanti delle forze dell’ordine nel tentativo di addomesticare la cultura da Far West imperante su Internet. Chiaro, i PC offrivano una potenza sempre maggiore, ma con la trasformazione dei chip in bene di consumo, Intel aveva creato una situazione in cui il potere si era semplicemente trasferito nelle mani dei rivenditori di software proprietario.

Per ogni nuovo utente conquistato alla causa del software libero tramite Linux, ne esistevano centinaia, forse migliaia, che avviavano Windows per la prima volta.

Occorreva infine fare i conti con la curiosa natura dello stesso Linux. Superati in scioltezza problemi di progetto (come accaduto a GNU) e dispute legali (era il caso della BSD), la rapida evoluzione del sistema risultò talmente imprevista, il suo successo così casuale che gli stessi programmatori più addentro nel codice non sapevano che cosa farne. Più simile a una “compilation” che a un vero e proprio sistema operativo, Linux era composto dai pezzi migliori del repertorio hacker: si andava da GCC, GDB e glibc (la nuova libreria in C realizzata dal progetto GNU) fino a X (interfaccia grafica per gli utenti basata su Unix, sviluppata presso il laboratorio d’informatica del MIT) e ad altri strumenti creati dal giro BSD, quali BIND (il Berkeley Internet Naming Daemon, che consente la sostituzione di domini Internet facili da ricordare al posto degli indirizzi IP numerici) e TCP/IP. La colonna portante della creazione era naturalmente il kernel -- a sua volta versione rivisitata e super-potenziata di Minix. Anziché costruire il sistema operativo partendo da zero, Torvalds e l’annesso gruppo di sviluppo in rapida espansione avevano seguito il vecchio adagio di Picasso, “i buoni artisti prendono in prestito, i grandi rubano”. Oppure, come Torvalds stesso interpreterà più tardi la frase, descrivendo il segreto del proprio successo: “Sostanzialmente sono una persona molto pigra a cui piace prendersi il merito di quello che in realtà ha fatto qualcun altro”.[105]

Una simile pigrizia, pur se ammirabile dal punto di vista dell’efficienza, risultò problematica dal punto di vista politico, poiché sottolineava in primo luogo la mancanza di un programma ideologico da parte di Torvalds. Al contrario degli sviluppatori GNU, egli non si era cimentato nella realizzazione di un sistema operativo spinto dal desiderio di offrire ai colleghi hacker uno strumento per lavorare; l’aveva fatto per giocarci lui stesso. Come Tom Sawyer, che imbiancava uno steccato grazie all’aiuto altrui, il genio di Torvalds stava meno nella visione complessiva e più nella capacità di coinvolgere altri hacker per accelerare il processo.

Il fatto che Torvalds, assieme ai suoi, fosse riuscito laddove altri avevano fallito suscitava domande scomode: che cosa rappresentava esattamente Linux? Si poteva forse considerare la manifestazione di quella filosofia del software libero articolata per primo da Stallman nel Manifesto GNU? O era semplicemente un amalgama di buoni programmi che qualunque utente, ugualmente motivato, avrebbe potuto assemblare sul proprio sistema casalingo?

Verso la fine del 1993, un numero crescente di utenti Linux iniziavano a propendere verso quest’ultima ipotesi, dando così vita a variazioni private sul tema. Si fecero anche abbastanza coraggiosi da imbottigliare e rivendere le proprie varianti -- o “distribuzioni” -- ad altri appassionati di Unix. Con risultati a dir poco alterni.

“Non si profilava ancora all’orizzonte l’arrivo di Red Hat e delle altre distribuzioni commerciali”, ricorda Ian Murdock, allora studente d’informatica presso la Purdue University. “Sfogliando qualche rivista dedicata al mondo Unix ci si imbatteva in tutti quegli annunci formato biglietto da visita che pubblicizzavano ‘Linux’. Gran parte delle aziende si dedicavano a quelle operazioni nottetempo, non vedendo nulla di sbagliato nell’integrazione del prodotto finale con qualche stringa di codice realizzato in proprio.”

Murdock, programmatore Unix, rammenta di essere rimasto “travolto” da Linux poco tempo dopo averlo prelevato e installato per la prima volta sul PC di casa. “Era davvero divertente”, sostiene. “Decisi subito di farmi coinvolgere.” Un entusiasmo che tuttavia iniziò a smorzarsi per via di quell’esplosione di distribuzioni malamente realizzate. Avendo deciso che il modo migliore di farsi coinvolgere consisteva nel costruirne una versione priva di additivi, Murdock buttò giù un elenco dei migliori strumenti di software libero disponibili con l’intento di inserirli nella distribuzione personale. “Volevo qualcosa che fosse davvero all’altezza del nome Linux”, spiega Murdock.

Nel tentativo di “suscitare qualche interesse”, illustrò le proprie intenzioni in vari ambiti su Internet, compreso il newsgroup di Usenet comp.os.linux. Uno dei primi messaggi di risposta giunse da rms@ai.mit.edu. Da buon hacker Murdock riconobbe immediatamente quell’indirizzo. Si trattava di Richard M. Stallman, fondatore del progetto GNU, colui che da sempre egli considerava “l’hacker degli hacker”. Notando l’indirizzo nella posta in arrivo, ne rimase sconcertato. Perché mai Stallman, già leader di un progetto personale per un sistema operativo, avrebbe dovuto interessarsi alle idee di Murdock per Linux?

“Il messaggio diceva che la Free Software Foundation seguiva da vicino la crescita di Linux ed era interessata alla possibile realizzazione di un sistema analogo. In pratica, considerava i nostri obiettivi in linea con la loro filosofia.”

Quel messaggio rappresentava un completo dietro-front da parte di Stallman. Fino al 1993 si era accontentato di tenere il naso fuori dagli affari della comunità Linux. Anzi, nel 1991 aveva completamente ignorato il sistema operativo rinnegato in occasione della sua prima apparizione sullo scenario della programmazione Unix. Dopo aver ricevuto la prima notifica di un sistema operativo simile a Unix in grado di girare su PC, Stallman disse di aver delegato a un amico il compito di esaminarlo. Ricorda Stallman: “Mi fu poi spiegato che il software era modellato sulla base del System V, una versione inferiore di Unix, e che non poteva essere adattato ad altre piattaforme”.

Il rapporto dell’amico era corretto. Costruito per girare su macchine basate sul 386, Linux era fermamente radicato in quelle piattaforme a basso costo. Quel che l’amico mancò di segnalare, tuttavia, fu il notevole vantaggio che Linux godeva in quanto unico sistema operativo liberamente modificabile presente sul mercato. In altri termini, mentre Stallman trascorse i tre anni successivi ad ascoltare i problemi riportati dal gruppo che lavorava su HURD, Torvalds andava conquistandosi quei programmatori che in seguito avrebbero rivisitato il sistema così da adattarlo ad altre piattaforme.

Nel 1993, l’incapacità del progetto GNU di produrre un kernel funzionante causò problemi all’interno sia dello stesso progetto sia del movimento del software libero più in generale. Nel marzo di quell’anno un articolo a firma Simson Garfinkel apparso sul mensile Wired descriveva il progetto GNU come “impantanato”, nonostante il successo dei numerosi strumenti realizzati fino a quel momento.[106] Quanti operavano all’interno del progetto e dell’annessa struttura non-profit, la Free Software Foundation, ricordano uno stato d’animo ancora più abbattuto di quanto non trasparisse nell’articolo di Garfinkel. “Personalmente in quel periodo ero consapevole dell’esistenza di una finestra di opportunità per l’introduzione di un nuovo sistema operativo”, sostiene Chassell. “Ma una volta richiusa tale finestra, la gente avrebbe perso interesse. Fu esattamente quel che accadde.”[107]

Molto si è detto sui guai che afflissero il progetto GNU nel periodo 1990-1993. Mentre qualcuno getta ogni colpa su Stallman, secondo Eric Raymond, tra i primi aderenti al gruppo di lavoro sull’Emacs GNU e successivamente critico nei confronti dello stesso Stallman, si trattò chiaramente di un problema istituzionale. “La FSF divenne arrogante”, afferma Raymond. “L’obiettivo della sua attività si spostò dalla realizzazione di un sistema operativo pronto per la produzione alle ricerche sui sistemi possibili.” Ancor peggio, “credeva che nulla di quanto avveniva al di fuori avrebbe mai potuto toccarla”.

Murdock, persona meno interessata alle faccende interne del progetto GNU, offre una prospettiva più giudiziosa. “Credo che in parte del problema fosse che erano diventati un po’ troppo ambiziosi e avevano buttato via inutilmente un sacco di soldi”, sostiene Murdock. “A cavallo tra gli anni '80 e '90 andavano forte i micro-kernel. Purtroppo questo ha coinciso con l’avvio del loro sistema operativo. Alla fine si trovarono sotto il peso di un bagaglio eccessivamente pesante e sarebbe occorso troppo lavoro per disfarsene.”

Per spiegare il ritardo, Stallman cita una serie di questioni. Le azioni legali della Lotus e della Apple si rivelarono delle distrazioni politiche che, unite all’impossibilità di digitare da parte sua, gli resero difficile aiutare coloro che lavoravano su HURD. Menziona inoltre lo scarso livello di comunicazione tra le varie aree del progetto GNU. “Fu davvero duro far funzionare l’ambiente del ‘debugging’”, ricorda. “E le persone che a quel tempo gestivano il GDB sembravano restie a cooperare.” Tuttavia Stallman ritiene che per lo più si trattò di un errore di valutazione da parte di tutti i membri del progetto, lui compreso, sulle difficoltà insite nell’espansione del micro-kernel Mach in un kernel Unix a tutto tondo.

“Pensavo: bene, la parte [del Mach] che deve comunicare con la macchina ha già superato la fase di debugging”, così Stallman ricorda in un discorso del 2000 i problemi della squadra di lavoro su HURD. “Grazie a quest’avvio veloce, dovremmo farcela in fretta. E invece successe che il debugging di questi programmi asincroni multithread si dimostrò assai complicato. C’erano bug di tempificazione che massacravano i file; non è stato molto piacevole. Di conseguenza ci vollero molti, molti anni per produrre una versione buona da sottoporre al primo vero test.”[108]

Qualunque sia il motivo, o i motivi, il concomitante successo del gruppo del kernel Linux non fece altro che accentuare una situazione già tesa. Certo, quel kernel era stato diffuso sotto la licenza GPL ma, come fece notare lo stesso Murdock, la volontà di considerare Linux come un sistema operativo di puro software libero era tutt’altro che unanime. Verso la fine del 1993, la popolazione totale degli utenti Linux da una dozzina o poco più di entusiasti del Minix aveva raggiunto una cifra compresa tra le 20.000 e le 100.000 unità.[109] Quello che una volta pareva poco più di un hobby stava trasformandosi in un mercato pronto per essere sfruttato. Al pari di Winston Churchill che osservava le truppe sovietiche entrare a Berlino, Stallman provò un comprensibile miscuglio di emozioni quando giunse il momento di celebrare la “vittoria” di Linux.[110]

Pur se in ritardo per partecipare alla festa, Stallman esercitava ancora parecchia influenza. Non appena la FSF annunciò il prestito di denaro e sostegno morale al progetto di Murdock, piovvero altre offerte di supporto. Murdock chiamò il nuovo progetto Debian -- contrazione del suo nome e di quello della moglie, Deborah -- e nel giro di un paio di settimane la prima distribuzione era cosa fatta. “Quasi da un giorno all’altro, [il sostegno di Richard] catapultò Debian da quel piccolo progetto interessante a qualcosa cui l’intera comunità doveva prestare attenzione”, spiega Murdock.

Nel gennaio 1994, egli diffuse il “Manifesto Debian”. Redatto nello spirito del “Manifesto GNU” stilato da Stallman un decennio prima, sottolineava l’importanza di lavorare a stretto contatto con la Free Software Foundation. Scriveva Murdock:

La Free Software Foundation gioca un ruolo estremamente vitale nel futuro di Debian. Per il semplice fatto che la stessa ne curerà la distribuzione, viene trasmesso al mondo il messaggio che Linux non è un prodotto commerciale e mai dovrebbe diventarlo, ma ciò non significa che non sarà mai in grado di competere in ambito commerciale. Invito chi non fosse d’accordo a razionalizzare il successo di GNU Emacs e GCC, i quali, pur non rientrando nell’ambito del software commerciale, hanno comunque avuto un forte impatto sul mercato.

È giunto il momento di concentrarsi sul futuro di Linux anziché sull’obiettivo distruttivo di arricchirsi alle spese dell’intera comunità Linux e del suo futuro. Può darsi che lo sviluppo e la distribuzione di Debian non siano la risposta ai problemi delineati in questo Manifesto, ma spero che finiranno almeno per attirare sufficiente attenzione su tali problemi in modo che sia possibile risolverli positivamente.[111]

Poco dopo la diffusione del Manifesto, la Free Software Foundation avanzò la prima importante richiesta. Stallman voleva che Murdock chiamasse la sua distribuzione “GNU/Linux”. All’inizio, sostiene Murdock, Stallman aveva proposto il termine “Lignux” -- “ossia Linux con GNU al centro” -- ma una rapida verifica su Usenet e in diversi ambiti hacker avevano suscitato un tale subisso di fischi da convincere Stallman a optare per il meno bizzarro GNU/Linux.

Anche se qualcuno ha bollato quel tentativo di aggiungere il prefisso “GNU” come una tardiva richiesta di riconoscimento, Murdock lo intese in maniera diversa. Ripensandoci, egli lo vide come uno sforzo per allentare la crescente tensione tra il progetto GNU e gli sviluppatori del kernel Linux. “Si andava delineando una divisione”, rammenta Murdock. “E Richard ne era chiaramente preoccupato.”

La divisione più profonda, aggiunge Murdock, riguardava glibc. Acronimo per GNU C Library, glibc è il pacchetto che consente ai programmatori di fare delle “chiamate di sistema” direttamente al kernel. Nel periodo 1993-1994, glibc si rivelò un problematico collo di bottiglia nello sviluppo di Linux. Considerato l’elevato numero di nuovi utenti decisi ad aggiungere nuove funzioni al kernel, i gestori glibc all’interno del progetto GNU si trovarono rapidamente sommersi dai loro suggerimenti. Frustrati dai ritardi e dalla crescente reputazione del progetto GNU di essere una palla al piede, alcuni sviluppatori Linux proposero la creazione di un “fork” -- ovvero, di una C Library specifica per Linux e parallela a glibc.

Nel mondo hacker, i “fork” costituiscono un fenomeno interessante. Nonostante l’etica hacker consenta a ogni programmatore di fare quel che vuole con il codice di un certo programma, la maggioranza degli hacker preferisce inserire le proprie innovazioni all’interno di un file centrale o “tree” (albero) per assicurarne la compatibilità con i programmi altrui. Operare il “fork” di glibc in questo primo stadio dello sviluppo di Linux avrebbe significato perdere il contributo di centinaia, se non forse migliaia, di sviluppatori. Il che avrebbe inoltre ampliato l’incompatibilità tra Linux e il sistema GNU che Stallman e gli altri del gruppo GNU speravano ancora di realizzare.

In qualità di leader del progetto GNU, nel 1991 Stallman aveva già sperimentato i nefasti effetti di un “fork”. Un gruppo di sviluppatori Emacs, che lavoravano per un’azienda chiamata Lucid, rimasero indispettiti dal suo rifiuto di re-integrare i loro cambiamenti nel codice di GNU Emacs. Il relativo “fork” diede così vita a una versione parallela, Lucid Emacs, provocando pesanti ripercussioni.[112]

Murdock spiega che Debian stava portando a un analogo “fork” nel codice di glibc, così da motivare Stallman a insistere per l’aggiunta del prefisso GNU quando Debian fu pronto per la distribuzione. “Gradatamente la situazione venne ricomposta. Eppure in quel periodo la preoccupazione era che la comunità Linux si considerasse qualcosa di diverso da quella GNU, e ciò poteva sfociare in una netta spaccatura.”

Stallman conferma il ricordo di Murdock. Aggiunge anzi che si andavano profilando dei “fork” tutte le più importanti componenti di GNU. All’inizio sostiene di aver considerato tali “fork” come vino prodotto da uva acerba. Contrariamente alle dinamiche rapide e informali del gruppo al lavoro sul kernel Linux, coloro che mantenevano il codice GNU tendevano a una maggiore lentezza e circospezione nell’inserire cambiamenti che avrebbero potuto danneggiare le prestazioni del programma a lungo termine. Non dimostravano inoltre alcuna remora a criticare pesantemente il codice altrui. Col passar del tempo, tuttavia, Stallman iniziò a percepire nelle e-mail degli sviluppatori Linux una certa mancanza di considerazione per il progetto GNU e i suoi obiettivi.

“Avevamo scoperto che coloro che si consideravano utenti Linux non erano interessati al progetto GNU”, sostiene Stallman. “Dicevano, ‘Perché mai dovrei impegnarmi a perseguire queste mete? Non m’importa nulla del progetto GNU. Per me funziona. E se funziona per me e per gli altri utenti Linux, non ci interessa altro’. E questo sorprendeva, considerando che essi usavano una variante del sistema GNU, eppure non se ne preoccupavano. Non avrebbero potuto essere meno interessati.”

Mentre c’era chi valutava la definizione di Linux come “variante” del progetto GNU una sorta di appropriazione politica, Murdock, già devoto alla causa del software libero, considerò invece ragionevole la richiesta di Stallman di chiamare GNU/Linux la versione di Debian. “Mirava più al mantenimento dell’unità che a guadagnare dei meriti”, sostiene Murdock.

Subito dopo seguirono altre richieste di natura più tecnica. Nonostante Murdock si fosse dimostrato conciliante sulle questioni politiche, rimase fermo sulle proprie posizioni quando si trattò di affrontare il modello di sviluppo del software vero e proprio. Quel che era iniziato come una dimostrazione di solidarietà sfociò presto nella replica delle polemiche interne tipiche di altri progetti GNU.

“Certo mi sono spesso trovato in disaccordo con le sue posizioni”, dichiara Murdock con un sorriso. “In tutta onestà, non è affatto facile lavorare con Richard.”

Nel 1996, Murdock, dopo aver ottenuto il diploma di laurea alla Purdue, decise di passare ad altri le redini del progetto Debian. Ne aveva già ceduto le responsabilità gestionali a Bruce Perens, hacker meglio conosciuto per aver lavorato su Electric Fence, una utility Unix diffusa sotto la GPL. Al pari di Murdock, Perens era un programmatore Unix innamoratosi di GNU/Linux non appena divennero chiare le capacità del programma. E come Murdock, Perens aderiva al piano politico di Stallman e della Free Software Foundation, pur se da lontano.

“Ricordo che dopo la diffusione del Manifesto GNU, GNU Emacs e GCC, lessi un articolo in cui si diceva che Stallman lavorava come consulente per Intel”, dice Perens, ricordando il suo primo attrito con Stallman sul finire degli anni ’80. “Gli scrissi per chiedergli come potesse sostenere il software libero da un parte ed essere stipendiato da Intel dall’altra. Mi rispose dicendo, ‘Lavoro come consulente per la produzione di software libero’. Si dimostrò molto educato e chiaro, ritenni la risposta perfettamente sensata.”

Nelle vesti di sviluppatore responsabile di Debian, tuttavia, Perens considerava con sgomento le battaglie tra Murdock e Stallman sulle questioni tecniche. Nell’assumersi la responsabilità del progetto, prese la decisione di prendere le distanze dalla Free Software Foundation. “Decisi che non avremmo aderito allo stile micro-gestionale di Richard”, ricorda.

Secondo Perens, Stallman fu colto alla sprovvista da tale decisione, ma ebbe la saggezza di adeguarvisi. “Lasciò calmare le acque e poi mi inviò un messaggio dicendo che avevamo davvero bisogno di instaurare qualche tipo di relazione. Ci chiese di usare il nome GNU/Linux, senza aggiungere altro. Mi andava bene così. Presi unilateralmente la deliberazione finale, e tutti tirarono un sospiro di sollievo.”

Col passar del tempo, Debian si guadagnò la reputazione di versione hacker di Linux, assieme a Slackware, altra distribuzione molto diffusa fondata nello stesso periodo, 1993-1994. Al di fuori del regno dei sistemi di ambito hacker, Linux andava comunque conquistando spazio nel mercato Unix. In North Carolina, un’azienda Unix che si faceva chiamare Red Hat si apprestava a un rilancio concentrato su Linux. Ne era responsabile Robert Young, l’ex-redattore di Linux Journal, che nel 1994 aveva chiesto a Linus Torvalds se non avesse qualche rimpianto per aver diffuso il kernel sotto GPL. La risposta di Torvalds ebbe un impatto “profondo” sulla considerazione di Linux da parte dello stesso Young. Anziché cercare un modo per aprirsi un varco nel mercato GNU/Linux tramite le tradizionali strategie del software, egli iniziò a considerare il possibile scenario di un’azienda che adottasse il medesimo approccio di Debian -- costruire, cioè, un sistema operativo composto interamente da programmi di software libero. Cygnus Solutions, la società fondata da Michael Tiemann e John Gilmore nel 1990, stava già concretizzando le vendite di software libero basato su funzioni di qualità e aperto alla personalizzazione. Perché non lanciare Red Hat verso una strategia analoga a quella di GNU/Linux?

“Nella tradizione scientifica occidentale si usa salire sulle spalle dei giganti”, afferma Young, facendo eco alle parole di Torvalds e prima ancora di Sir Isaac Newton. “In campo imprenditoriale questo significa che non occorre reinventare la ruota man mano che si progredisce. La bellezza del modello [GPL] sta nell’aver reso il codice di pubblico dominio.[113] Per un rivenditore indipendente che voglia costruire applicazioni, per esempio un modem-dialer, be’, che senso avrebbe cercare inventarlo dal nulla? Basta rubare PPP da Red Hat Linux e usarlo all’interno della propria configurazione. Se si ha bisogno di strumenti grafici, non è il caso di mettersi a scrivere una libreria grafica propria. Basta scaricare GTK. Improvvisamente abbiamo la possibilità di riutilizzare il meglio di quanto già esiste. E altrettanto improvvisamente il punto focale di un rivenditore di applicazioni si sposta dalla gestione del software alla riscrittura di programmi specificamente tagliati sulle esigenze dei propri utenti.”

Young non era certo l’unico manager attratto dall’efficienza imprenditoriale del software libero. Verso la fine del 1996, gran parte delle aziende Unix si stavano svegliando, fiutando le potenzialità offerte dal codice in fase di fermentazione. Il settore Linux era ancora lontano un anno o due dall’esplosione commerciale, ma quelli più vicini alla comunità hacker ne avvertivano i primi sentori: stava per succedere qualcosa di grande. Il chip Intel 386, Internet e il World Wide Web avevano colpito il mercato con una serie di ondate mostruose, e Linux -- assieme a una sfilza di programmi analoghi in termini di accessibilità del codice e permissività delle licenze -- si annunciava come l’ondata più grande di tutte.

Per Ian Murdock, il programmatore corteggiato da Stallman e poi rimasto deluso dal suo stile micro-gestionale, tale ondata appariva sia come un adeguato tributo sia come una giusta punizione per colui che aveva speso così tanto tempo nel fornire un’identità al movimento del software libero. Come molti entusiasti di Linux, Murdock aveva letto i messaggi originali. Aveva seguito l’ammonimento iniziale di Torvalds per il quale Linux era “soltanto un hobby”. Aveva anche letto l’ammissione dello stesso Torvalds fatta ad Andrew Tanenbaum, creatore di Minix: “Se il kernel GNU fosse stato pronto la primavera scorsa, non mi sarei neppure preso la briga di dar vita al mio progetto”.[114] Come molti altri, Murdock era perfettamente consapevole delle buone opportunità sprecate. Sapeva inoltre che l’eccitazione di poter cogliere nuove opportunità trasudava dalla stessa linfa vitale di Internet.

“Fu divertente trovarsi coinvolti in quel primo periodo di Linux”, ricorda Murdock. “Offriva qualcosa da fare e, contemporaneamente, un buon modo di passare il tempo. Tornando indietro a leggere quei vecchi scambi [su comp.os.minix], se ne ricava un’impressione generale: ecco qualcosa con cui poter giocare finché non sarà pronto HURD. La gente era in trepida attesa. È buffo, ma sotto molti aspetti credo che Linux non sarebbe mai arrivato a esistere se si fosse giunti al veloce completamento di HURD.”

Comunque sia, alla fine del 1996 posizioni tipo “che cosa sarebbe accaduto se...” apparivano abbondantemente superate. Che lo si chiami Linux oppure anche GNU/Linux, gli utenti avevano chiaramente espresso la propria opinione. Quella finestra di 36 mesi si era chiusa, nel senso che anche se il progetto GNU avesse partorito il kernel HURD, con tutta probabilità nessuno, al di fuori della comunità hacker più stretta, se ne sarebbe accorto. Il primo sistema operativo di software libero analogo a Unix era arrivato, e si stava imponendo ovunque. Tutto quello che rimaneva da fare agli hacker era sedersi e attendere che la prossima grossa ondata si infrangesse sulla loro testa. Compresa quella irsuta di un tale Richard M. Stallman.

Pronti o meno che fossero.



[105] Torvalds ha fatto quelle affermazioni in parecchi contesti diversi. Finora tuttavia la citazione più nota è quella che troviamo nel saggio di Eric Raymond, “La cattedrale e il bazaar” (maggio 1997). http://www.apogeonline.com/openpress/doc/cathedral.html

[106] Si veda Simson Garfinkel, “Is Stallman Stalled?”, Wired (marzo 1993).

[107] La preoccupazione di Chassel relativa alla “finestra” di 36 mesi per un nuovo sistema operativo non è limitata unicamente al progetto GNU. All’inizio degli anni '90, la versione libera della Berkeley Software Distribution venne bloccata dalla azione intentata dagli Unix System Laboratories, che mirava a limitare la diffusione di software derivato dalla BSD. Anche se parecchi utenti di prodotti derivati tipo FreeBSD e OpenBSD li considerano effettivamente superiori a GNU/Linux in termini sia di prestazioni che di sicurezza, il loro numero complessivo rimane minimo rispetto al totale della popolazione di GNU/Linux. Per saperne di più sull’analisi del successo di quest’ultimo in relazione ad altri sistemi operativi di software libero, si veda il saggio dell’hacker neozelandese Liam Greenwood, “Why is Linux Successful” (1999). http://www.freebsddiary.org/linux.php

[108] Si veda l’intervento presso il Maui High Performance Computing Center.

In una serie di e-mail, ho chiesto a Stallman che cosa volesse dire con il termine “bug di temporizzazione”. Egli rispose che “errori di temporizzazione” era il modo migliore per sintetizzare il problema e per offrire inoltre una chiara spiegazione tecnica su come errori di questo tipo possano ostacolare il funzionamento di un sistema operativo:

“Errori di temporizzazione” possono verificarsi in sistemi asincroni in cui processi eseguiti in parallelo possono in teoria avere un ordine qualsiasi e uno di questi possibili ordini crea problemi.

Immagina che il programma A esegua X e quello B esegua Y e che X e Y siano brevi routine che esaminano e aggiornano la stessa struttura di dati. Può accadere, anche se di rado, che lo scheduler faccia girare A fino ad eseguire la metà di X, e quindi faccia partire B, che esegue Y. Così Y sarà eseguito per intero, mentre X lo sarà solo a metà. Poiché esse aggiornano la medesima struttura di dati, interferiranno l’una con l’altra. Per esempio X, che forse ha già esaminato la struttura di dati, non noterà che c’è stato un cambiamento. Ci sarà quindi un errore non riproducibile, poiché dipende da fattori casuali (cioè da quando lo scheduler decide quale programma fare girare e per quanto tempo).

Per impedire errori di questo tipo occorre usare un dispositivo di blocco, per assicurarsi che X e Y girino contemporaneamente. I programmatori di sistemi asincroni conoscono l’importanza di tali dispositivi, ma a volte non si accorgono della necessità di porne uno in un determinato luogo o in una specifica struttura di dati. Così il programma contiene un errore di temporizzazione.

[109] Le cifre sulla popolazione di utenti GNU/Linux appaiono piuttosto discordanti, motivo per cui ho scelto un margine così ampio. Il totale di 100.000 è ripreso dal sito di Red Hat “Milestones”: http://www.redhat.com/about/corporate/milestones.html.

[110] Questa analogia con Winston Churchill mi è venuta in mente prima di ricevere dallo stesso Stallman un analogo commento non richiesto:

La Seconda Guerra Mondiale e la determinazione necessaria per vincerla rappresentano importanti ricordi della mia fanciullezza. Affermazioni come quella di Churchill, “Li combatteremo per terra e per mare... non ci arrenderemo mai”, rimangono scolpite nella mia memoria.



[111] Si veda Ian Murdock, “A Brief History of Debian”, (6 gennaio 1994): Appendix A, “The Debian Manifesto”. http://www.debian.org/doc/manuals/project-history/apA.html

[112] Jamie Zawinski, ex-programmatore presso la Lucid poi a capo del gruppo di sviluppo di Mozilla, gestisce un sito web che documenta il “fork” avvenuto tra la Lucid e GNU Emacs, sotto il titolo di “The Lemacs/FSFmacs Schism”. http://www.jwz.org/doc/lemacs.html

[113] L'espressione “pubblico dominio” viene qui usata in maniera poco corretta da Young. Di pubblico dominio significa non protetto da copyright. Per definizione i programmi sotto GPL sono tutelati da copyright.

[114] La citazione è ripresa dalla “flame war”, assai pubblicizzata, avvenuta tra Torvalds e Tanenbaum dopo il lancio iniziale di Linux. Nel difendere la propria scelta di un kernel monolitico non-adattabile, Torvalds sostiene di aver iniziato a lavorare su Linux per saperne di più sul suo nuovo PC 386. “Se il kernel GNU fosse stato pronto la primavera scorsa, non mi sarei neppure preso la briga di dar vita al mio progetto.” Si veda “Il dibattito tra Tanenbaum e Torvalds” in Open Sources, Apogeo, 1999, p. 237.


<  indietro   |  sommario  |   avanti  >