| Parte II Cap I - Linux, un codice condivisibile |
|
|
|
|
Un codice condivisibile Il più noto fra i primi protagonisti della storia del software libero è certamente Richard Marshall Stallman, "l'ultimo degli hacker" come ama definirsi. Lavorò per anni presso il laboratorio di Intelligenza Artificiale del M.I.T. (Massachusets Institute of Technology), dove gli era stato offerto un posto di programmatore sistemista. E qui, dal 1971 al 1983, aveva ingaggiato un'infaticabile battaglia per un sistema "aperto" a tutti gli utenti, contro l'utilizzo obbligatorio di codici di accesso e contro i segreti dei sistemi di sicurezza. La sua convinzione sulla non utilità e, anzi, sulla dannosità di non diffondere il codice di controllo della macchina, basata su premesse insieme etiche e funzionali, trovava una continua conferma nei molti problemi quotidiani connessi all'utilizzo dei computer e di altra strumentazione elettronica.
L'esempio più noto, che dimostrò come i principi della proprietà intellettuale costituissero un vincolo all'efficienza impedendo di risolvere un fastidiosissimo inconveniente, riguardò il caso della stampante laser Xerox, che messa generosamente a disposizione del Laboratorio di Intelligenza Artificiale dalla stessa azienda, si fermava in continuazione.1 Per ovviare ai frequenti guasti, Stallman aveva pensato di modificare il programma, per attuare, in un modo più veloce, un pronto intervento cooperativo senza aspettare l'addetto della Xerox. Stallman aveva risolto un problema analogo “aprendo” il software di controllo della stampante: pur non riuscendo a impedire l’inceppamento della carta, egli inserì nel programma un comando che ordinava di verificare periodicamente i vari meccanismi e inviarne relazione al computer centrale del laboratorio. Per esser certo che la negligenza di qualcuno non danneggiasse tutta una serie di stampe in corso, Stallman aggiunse inoltre un comando che notificava l’eventuale blocco della stampante a ogni utente con una stampa in attesa. Poiché tale nota raggiungeva proprio coloro che avevano maggior necessità di risolvere il problema, esistevano buone probabilità che ciò avvenisse in tempi brevi. Come per ogni soluzione, quella di Stallman era indiretta ma elegante. Non risolveva la parte meccanica del problema, però ci andava vicino chiudendo il cerchio informativo tra utente e macchina. In termini di programmazione, la soluzione di Stallman traeva vantaggio dall’intelligenza amplificata che sosteneva la rete locale nel suo complesso. Se ricevevi quel messaggio, non potevi dare per scontato che qualcun altro avrebbe risolto il problema,2 spiega Stallman, sottolineando la logica applicata in quell’occasione. Questo tipo di soluzioni indirette rappresentavano una sorta di marchio del laboratorio di intelligenza artificiale e dei programmatori originari che lo popolavano. Anzi, i migliori tra costoro disdegnavano lo stesso termine programmatore, preferendo invece l’appellativo gergale di hacker. Una qualifica professionale che indicava uno spettro di attività alquanto ampio: qualsiasi cosa compresa tra il caos creativo e il miglioramento di software e sistemi esistenti. Per essere un hacker, bisognava accettare la filosofia secondo cui la scrittura di un programma era soltanto l’inizio. Stava poi nella capacità di migliorarlo la vera prova di abilità per un hacker. Questa filosofia costituiva il motivo principale che spingeva aziende come la Xerox a seguire la politica di donare macchine e programmi a quelle entità che costituivano il terreno abituale degli hacker. Se questi ultimi riuscivano a migliorarne il software, tali migliorie sarebbero state riutilizzate dalle stesse aziende, incorporandole nelle nuove versioni dei programmi destinate al mercato commerciale. Nella terminologia imprenditoriale, gli hacker rappresentavano una sorta di capitale comunitario, un’unità aggiuntiva per la ricerca e lo sviluppo disponibile a costi minimi. Fu grazie a questa filosofia del dare e del ricevere che quando Stallman isolò il difetto di carta inceppata nella stampante laser Xerox, non si fece certo prendere dal panico. Semplicemente, si mise alla ricerca di un modo per aggiornare le vecchie procedure ed adattarle al nuovo sistema. Condizione essenziale per l'attuazione della nuova procedura era la conoscenza del codice sorgente della macchina, ma la Xerox, diversamente dal passato, negò l'accesso a quel codice, in quanto protetto dal copyright. La macchina non sembrava essere dotata di alcun software, almeno nulla che i programmatori fossero in grado di leggere. Fino ad allora, la maggioranza delle aziende riteneva una forma di cortesia la pubblicazione in formato testuale dei codici sorgenti che documentavano i singoli comandi su cui era basato il comportamento della macchina. In questo caso, la Xerox aveva fornito i file in formato precompilato, ovvero binario. I programmatori erano liberi di aprirli, ma a meno che non fossero degli esperti nel decifrare sequenze infinite di zero e di uno, il testo finale sarebbe rimasto una sfilza di caratteri incomprensibili. Inizialmente il fatto che la Xerox avesse deciso di non condividere i propri sorgenti non provocò alcun fastidio. Mentre andava alla ricerca di quei files, Stallman sostiene di non essersi minimamente preoccupato di contattare la Xerox: Ci avevano già regalato la stampante, perché mai importunarli ancora? Quando però si accorse che i files non comparivano da nessuna parte, Stallman iniziò a farsi sospettoso. Dal punto di vista dell’industria del software nel suo complesso, la stampante rappresentava un campanello d’allarme. Il software era divenuto un bene talmente prezioso che le aziende non sentivano la necessità di diffonderne i sorgenti, soprattutto quando la loro pubblicazione significava offrire ai potenziali concorrenti la possibilità di duplicare qualche programma a costi irrisori. Dal punto di vista di Stallman, la stampante era una sorta di cavallo di Troia. Dopo un decennio di tentativi falliti, il software sotto proprietà privata, o proprietario, aveva messo piede nel laboratorio di intelligenza artificiale grazie al più subdolo dei metodi. Vi era entrato sotto le mentite spoglie di un regalo. Il mondo esterno con le sue regole stava ponendo serie barriere al lavoro della comunità degli hacker e progressivamente ne incrinava anche i valori ideali, rendendo i suoi membri più sensibili a comportamenti strumentali. Così, quando anche il laboratorio di Intelligenza Artificiale, con il rischio dei tagli dei finanziamenti, dovette adeguarsi a quelle richieste di sicurezza che imponevano di limitare e controllare il libero collegamento ai calcolatori del laboratorio, e quando si interruppe la consuetudine della condivisione libera delle risorse della macchina, costruito dagli stessi programmatori e basato su un'architettura aperta, Stallman lasciò il M.I.T.. Il rifiuto opposto a una qualsiasi richiesta per il codice sorgente, decise Stallman, rappresentava non soltanto il tradimento della missione scientifica che aveva alimentato lo sviluppo del software a partire dalla fine della Seconda Guerra Mondiale, ma anche una violazione della regola aurea, il fondamento morale che imponeva di non fare ad altri quello che non vorresti fosse fatto a te. Abbandonando il suo lavoro di programmatore sistemista al M.I.T., Stallman si pose come primo obiettivo lo sviluppo di un sistema operativo compatibile con lo Unix di AT&T (American Telephone and Telegraph, Inc.), il sistema operativo allora più diffuso nel mondo dei minicalcolatori. Nel giorno del Ringraziamento del 1983 attraverso Arpanet3 comunicò alla comunità hacker e agli interessati allo sviluppo del software libero la decisione di lasciare il M.I.T. per impegnarsi nella realizzazione del nuovo sistema operativo Unixcompatibile. Stallman battezzò il nuovo sistema operativo con l'acronimo GNU, come "Gnu is Not Unix".4 Stallman impose per GNU un requisito fondamentale, destinato a giocare un ruolo centrale nel mondo del software libero: essere open source. Il software sorgente, prima di essere utilizzato, deve essere compilato, ossia tradotto nel codice eseguibile o codice di macchina, un'innumerevole sequenza di "uno" e di "zero", che la macchina è in grado di interpretare. Il software proprietario viene generalmente venduto in formato eseguibile, per rendere praticamente impossibile la sua interpretazione e la sua modifica in funzione delle esigenze del suo utilizzatore. Viceversa, i programmi open source, proprio perché disponibili in forma simbolica, che un programmatore riesce facilmente ad interpretare, sono veramente "open", nel senso che possono essere letti, corretti e trasformati in funzione di specifiche esigenze. Per portare a compimento il progetto GNU, nel 1985 Stallman costituì la FSF (Free Software Foundation), un'organizzazione no profit basata su contributi volontari in lavoro e in denaro. Gli aderenti alla FSF possono offrire come proprio contributo sia lavoro per la scrittura di codice o documentazione, sia denaro offerto come donazione o sottoscrizione, e godere degli sgravi fiscali come tutti i contributi in beneficenza. La costituzione di questa istituzione rispondeva all'esigenza pratica di finanziare lo sviluppo di GNU, e raccogliere attorno al progetto un insieme permanente di professionisti programmatori in grado di svolgere con continuità e a tempo pieno attività di programmazione e assistenza tecnica. Oggi la FSF occupa a tempo pieno alcuni programmatori e tecnici, oltre ad alcuni impiegati che gestiscono l'attività organizzativa. Oltre a programmatori e tecnici, si raccolgono intorno alla fondazione volontari ed appassionati che grazie ad Internet hanno possibilità di tenersi aggiornati sull'attività e collaborare anche a distanza.
Etica hacker e copyleft
Le ragioni e i vantaggi connessi alla libertà del software richiamano i principi dell'etica hacker, un'etica che non é mai stata formalizzata in alcun documento ufficiale, ma che è stata spontaneamente e variamente applicata e condivisa. In breve essi si possono così sintetizzare: - Il diritto alla libera circolazione del software e alla sua duplicazione rimandano al principio generale che tutta l'informazione deve essere libera con grande beneficio per il sistema sociale nel suo complesso. La condivisione dell'informazione é un bene potente e positivo per la crescita sociale e della democrazia, una difesa contro controlli dall'alto e pericoli tecnocratici. Esso dà all'utilizzatore l'opportunità di interagire con il prodotto e di controllarlo. Aiuta a stimolare lo sviluppo della conoscenza e a diffonderla. In senso ampio, quindi, può favorire il processo di partecipazione contribuendo a formare un membro della comunità o un cittadino più preparato. - La rivoluzione digitale e la diffusione dei calcolatori, rendendo più semplice lo scambio di informazione, possono apportare un beneficio generale. Un libero scambio di informazioni, soprattutto quando si traduce in uno strumento importante come un programma per computer, promuove una maggiore creatività complessiva. Si eviterebbe, così, di sprecare tempo, risorse, energie per replicare quello che altri già fanno, cioè di perdere tempo per reinventare la ruota. - Il modo migliore per favorire il libero scambio delle informazioni è quello di promuovere un apprendimento diffuso e qualificato attraverso sistemi "aperti", che non pongano barriere fra il lavoro e l'informazione. Nella tradizione e nell'etica degli hacker le barriere alla circolazione dell'informazione costituiscono pesanti limiti alla conoscenza e, nel divieto di accesso all'artefatto, cioè al programma, viene individuato un ostacolo alla creatività e alla libera espressione del pensiero. - La libertà di modificare il software richiama l'imperativo del buon inventore artigiano di metterci le mani per capire il funzionamento delle cose e per migliorarle. - Il piacere e il divertimento sono un importante incentivo alla programmazione. Il computer non é solo uno strumento funzionale per facilitare compiti ripetitivi, ma anche un mezzo per estendere l'immaginazione personale. La flessibilità dei programmi, le loro possibilità di evoluzione costituiscono una sfida continua per chi li usa in modo intelligente. - Le possibilità di innovazione continua offrono un contributo alla crescita dell'intelligenza e allo sviluppo della professionalità, a differenza di procedure routinarie che sono, invece, vere e proprie barriere. In sostanza, ad un'organizzazione del lavoro burocratica si vuole contrapporre un'organizzazione interattiva e creativa, a un'organizzazione sociale basata su status e ruoli definiti dal reddito o dalla collocazione sociale, si contrappone una comunità di eguali basata sul merito.
In teoria, il livello massimo della libertà con cui può essere distribuito il software è quello che corrisponde alla denominazione di "pubblico dominio", che da molti anni è spesso adottata nella comunità degli informatici. Un prodotto software di pubblico dominio può anche essere utilizzato per la realizzazione di software proprietario, cosi come è avvenuto anche per molti programmi liberi che essendo distribuiti con licenze permissive sono stati trasformati in prodotti chiusi e proprietari. Tuttavia, Stallman non ritenne opportuno rendere GNU di pubblico dominio, anche se quella soluzione avrebbe consentito la massima diffusione del prodotto: un programma completamente libero avrebbe rischiato di estinguersi e di limitarsi ad un'entusiasmante esperienza creativa, una volta che le sue varianti fossero state utilizzate per un uso proprietario. In un certo senso il fine di una diffusione quantitativa senza preservare il contenuto e trascurando le modalità della diffusione avrebbe costituito un ostacolo alla creazione del software libero e alla costruzione di una comunità di liberi programmatori.
La scelta fu quella di proteggere il prodotto con un tipo nuovo di licenza, formalmente denominata G.P.L. (General Public Licence) ma scherzosamente chiamata "copyleft".5 Ognuno può modificare e distribuire il prodotto, ma non si possono apporre restrizioni individuali sul prodotto redistribuito. Il copyleft, che Stallman chiama anche "permesso d'autore", consente a chi acquista un programma di utilizzarlo in un numero indefinito di copie, di modificarlo a suo piacimento, di distribuirlo nella forma originale o modificata, gratuitamente o a pagamento, alle sole condizioni di distribuirlo in formato sorgente e di imporre a chiunque acquisisca il prodotto di firmare lo stesso tipo di contratto.
Un sistema condivisibile
Nell'arco di circa sette anni, la FSF realizzò un'enorme mole di programmi, tanto che nel 1990 il sistema GNU era quasi completo. Paradossalmente mancava ancora il "kernel" o "nucleo", ossia l'insieme dei programmi di base che consentono la gestione delle risorse fondamentali, come l'unità di calcolo e la memoria centrale. Il nucleo era certamente la parte più importante di GNU, ma la sua realizzazione era stata rinviata in attesa della promessa liberalizzazione come software libero di un micronucleo, sviluppato dalla Carnegie Mellon University e successivamente ampliato dall'Università dello Utah. Fortunatamente a questo punto una nuova storia e un nuovo protagonista si intrecciano e portano a compimento l'iniziativa di Stallman.
Storia di Linux
Linux è nato nel freddo della Finlandia, figlio di un giovane appassionato di informatica e della voglia di migliorare un sistema che non corrispondeva pienamente alle sue aspettative. Nel 1990 Linus Torvalds, allora ventenne studente di informatica dell'Università di Helsinki che si diletta a programmare il calcolatore trascurando lo studio, decide di comprarsi un calcolatore nuovo. Ovviamente, gli elaboratori della classe del gigantesco "mainframe" dell'Università su cui ha imparato a programmare, sono fuori dalla sua disponibilità finanziaria di studente, mentre il vecchio Commodore attaccato al televisore, che usa a casa da tempo, non gli consente di andare oltre il programmino giocattolo. I nuovi personal computer che montano il microprocessore Intel 386 sembrano rappresentare un ottimo compromesso fra costo e prestazioni, ma il sistema operativo che su di essi viene installato, il vecchio DOS (Disk Operating System) di Microsoft, non gli consente di sviluppare software di alto livello, non permettendo, in particolare, di programmare "processi" concorrenti, ossia i moduli software fatti per operare in parallelo. L'ideale sarebbe stato installare sul personal computer il tradizionale Unix, uno dei più diffusi nel mondo, ma i 5.000 dollari di costo lo rendono inaccessibile. Così, Linus decide di scrivere da solo, partendo da Minix, un sistema operativo didattico realizzato da uno dei geni dell’informatica, Andrew Tanenbaum, molto diffuso nelle Università, il nucleo di un nuovo sistema operativo, un clone di Unix, per dotare il personal computer delle funzionalità di base di un elaboratore di fascia alta.
Lo fece in maniera particolare, in quanto (...)non ha mai cercato di riscrivere Linux da zero. È invece partito riutilizzando codici e idee riprese da Minix, piccolo sistema operativo per macchine 386 assai simile a Unix. Alla fine il codice Minix è scomparso oppure è stato completamente riscritto – ma per il tempo che è rimasto lì presente è servito come impalcatura per l'infante che sarebbe infine divenuto Linux. 6 Nella primavera del 1991 il nucleo del nuovo sistema operativo, versione 0.01, é pronto. Gestisce i file, ossia i documenti, e il file system, ossia l'organizzazione gerarchica dei documenti in cartelle con la stessa logica di Unix, è dotato della funzionalità di emulazione di un terminale e contiene alcuni driver di base per pilotare le unità periferiche. Sostituendo la consonante finale del proprio nome con la "x" di Unix e adottando il pinguino come suo simbolo, Linus battezza il suo prodotto "Linux", e fa così una prima scelta felice. Ancora più felice e importante è la seconda scelta, quella di diffondere il nuovo sistema operativo su Internet, mettendolo a disposizione di chiunque sia interessato a utilizzarlo, senza chiedere altra contropartita oltre alla collaborazione per migliorarlo ed espanderlo. Il suo invito è raccolto da centinaia di giovani programmatori in tutto il mondo, che nell'arco di pochi anni, in un telelavoro collettivo guidato da quello splendido organizzatore che si è rivelato Linus, trasformano un interessante prototipo scientifico in una vera e propria linea di prodotti industriali. Piano piano diventa sempre più grande, fino ad attirare l’attenzione di aziende ed Università. Nacque un fenomeno quasi di costume, con una enorme ed imprevista partecipazione del popolo degli informatici, che si strutturarono per la prima volta in comunità a partire dal basso. Grazie alla possibilità di effettuare ogni tipo di modifica grazie alla struttura aperta data al codice, nacquero un numero enorme di distribuzioni alternative personalizzate, cioè delle versioni realizzate dagli utenti sulla base delle loro necessità e desideri, delle quali alcune continuano ancora adesso ad avere un buon successo anche commerciale.
La reale diversità di Linux da tutti gli altri sistemi operativi o software allora disponibili però risiede nel suo essere stato sviluppato con modalità totalmente innovative e particolari. Difatti, fino ad allora, lo stile di programmazione seguito era definito “a cattedrale”,7 in quanto era concepito per la progettazione di grandi e strutturate architetture, nelle quali era stato previsto ogni dettaglio fin dalla fase progettuale, e dove non erano previste grandi migliorie in fase di sviluppo, e men che meno cambi di rotta o di porzioni di codice. Lo sviluppo quindi proseguiva secondo una tabella di marcia abbastanza rigida e formalizzata, ed era portato avanti esclusivamente dai “sacerdoti” addetti alla costruzione, nel silenzio e nel segreto totali. Solo a realizzazione finita gli utenti potevano vedere il risultato, e non veniva incoraggiata alcuna forma di collaborazione da parte loro. Invece, (...) la comunità Linux assomigliava a un grande e confusionario bazaar, pullulante di progetti e approcci tra loro diversi (...). Un bazaar dal quale soltanto una serie di miracoli avrebbe potuto far emergere un sistema stabile e coerente. Il fatto che questo stile bazaar sembrasse funzionare, e anche piuttosto bene, mi colpì come uno shock. Mentre imparavo a prenderne le misure, lavoravo sodo non soltanto sui singoli progetti, ma anche cercando di comprendere come mai il mondo Linux non soltanto non cadesse preda della confusione più totale, ma al contrario andasse rafforzandosi sempre più a una velocità a malapena immaginabile per quanti costruivano cattedrali.8 Inoltre, l'importanza tributata ad ogni singolo utente era nettamente maggiore di quanto fatto antecedentemente, in quanto non si trova più la figura del semplice utilizzatore, mero fruitore di una tecnologia della quale non comprende altro se non l'applicazione pratica, e che comunque non ha potere decisionale su nulla, bensì si evolve nella figura del co-sviluppatore: Coltivati in maniera appropriata, gli utenti possono trasformarsi in co-sviluppatori. (...) molti utenti sono essi stessi degli hacker. Ed essendo i sorgenti disponibili a tutti, possono diventare degli hacker molto efficaci. Qualcosa di tremendamente utile per ridurre il tempo necessario al debugging. Con un po' d'incoraggiamento, ogni utente è in grado di diagnosticare problemi, suggerire soluzioni, aiutare a migliorare il codice in maniera impensabile per una persona sola. 9
Un co-sviluppatore in pratica è colui al quale chiedere “dritte” su come far funzionare al meglio un programma, chiedere come realizzare un'interfaccia più facile ed intuitiva da utilizzare, ed anche colui il quale grazie ad ore ed ore di utilizzo è in grado di fornire informazioni su tutti i problemi ed i bug che il progetto presenta, consentendo di scovarli e correggerli in tempi decisamente minori rispetto a quando solo il programmatore si occupa della sua creatura. Inoltre, alcuni di questi utenti spingeranno talmente in là la propria collaborazione da fornire codice per integrare determinate funzioni o aggiungerne di nuove. Diventano un elemento indispensabile per la velocizzazione ed il funzionamento di un progetto, quasi paritetici rispetto agli sviluppatori, che si ritrovano affiancati nel loro lavoro da svariati volontari qualificati.
La chiave del successo del fenomeno Linux risiede nella struttura aperta data al codice, che non veniva più fornito in un unico pacchetto non modificabile, ma in moduli separati e pressoché indipendenti, da comporre per ottenere l’effetto desiderato o, alternativamente, da modificare a mano qualora se ne avvertisse la necessità. Inoltre, tramite un sistema di attribuzione della proprietà di eventuali sviluppi e programmi, consente a chi vuole di “colonizzare” un angolo del sistema operativo, e di apportare modifiche e migliorie che potranno essere condivise con tutta la comunità degli utilizzatori. Gli altri sistemi non prevedevano assolutamente una possibilità del genere, e questo decretò il successo di questo esperimento, tanto che adesso sono a disposizione quantità incredibili di software liberamente modificabili e spesso anche gratuiti da poter utilizzare e modificare a piacimento.
In realtà ritengo che la mossa più scaltra e consequenziale di Linus non sia stata la costruzione del kernel di Linux in sé, bensì la sua invenzione del modello di sviluppo di Linux. Quando ho espresso questo mio pensiero in sua presenza, sorridendo ha ripetuto con calma quel che va spesso affermando: “Praticamente sono una persona molto pigra cui piace prendersi il merito di quel che sono gli altri a fare”. 10
Un elemento determinante per il successo di Linux, o, a discrezione del lettore, un segno dei tempi che andavano cambiando, è stato il contemporaneo sviluppo della rete Internet, che proprio in quegli anni stava attraversando la sua prima, esplosiva fase di sviluppo, cominciando ad interessare non più le ristrette fasce accademiche e militari ma cominciando ad interessare anche le utenze private e domestiche. Le possibilità di comunicazione insite in questo mezzo non sfuggirono al giovane Linus, anzi, gran parte del suo tentativo iniziale di modificare Minix risiedono proprio nella scarsa attitudine al collegamento di quel particolare sistema operativo. In un certo senso, quindi Linux è un figlio della grande rete, sia in quanto nato da un tentativo di connettervisi, sia in quanto la rete stessa diede contributi incalcolabili in termini di possibilità di scambio di dati ed informazioni tra i vari partecipanti ai progetti.
Sempre utilizzando le parole di Raymond, possiamo affermare che Linux è stato il primo progetto a proporre lo sforzo cosciente e coronato da successo verso l'utilizzo del mondo intero come fucina di talenti. Non ritengo una combinazione il fatto che la gestazione di Linux sia coincisa con la nascita del World Wide Web, e che Linux si sia lasciato alle spalle l'infanzia negli stessi anni 1993-1994 che hanno visto il decollo dei provider locali e l'esplosione dell'interesse di massa per Internet. Linus è stata la prima persona ad aver imparato come giocare secondo le nuove regole rese possibili dalla diffusione di Internet.11 La nascita di internet come medium globale Forse un giorno valuteremo Internet come una delle più importanti invenzioni dell'uomo, perché mai nella storia dell'umanità è stato disponibile uno strumento così efficace per la diffusione delle conoscenze e la crescita del sapere. Internet è il frutto di due miracoli. Il primo è il miracolo tecnologico del collegamento simultaneo di milioni di calcolatori. Il secondo è il miracolo di un'invenzione molto complessa ed importante nata fuori della logica del mercato, della competizione e della gerarchia.
Un'analisi attenta della sua storia mostra infatti che Internet, oltre che madre è stata anche figlia del software libero. Mi limito a riportare due esempi importanti. Quando la rete conteneva “solamente” migliaia di nodi, i router, le apparecchiature incaricate di “recapitare” sul nostro PC le informazioni richieste, erano configurati a mano. Ciò significa che il programmatore di un router doveva impostare a mano una infinità di dati ed indirizzi per la trasmissione di ogni singolo pacchetto,12 sia in uscita che in entrata. Oggi, con milioni di nodi e milioni di indirizzi diversi, questa soluzione non è più attuabile. E le soluzioni ideate per configurare automaticamente i router sono il frutto di un'intelligenza collettiva di livelli qualitativi e quantitativi così elevati da indurre alla convinzione che quelle soluzioni molto difficilmente sarebbero potute nascere nell'ambito di una sola azienda, anche molto importante.
Un secondo esempio importante è rappresentato dal noto meccanismo del World Wide Web, la ragnatela che avvolge il mondo, quello che consente ad un utilizzatore che stia leggendo una pagina proveniente dagli Stati Uniti di "cliccare" su una parola sottolineata e ottenere istantaneamente e automaticamente un'altra pagina, proveniente da una qualunque altra località del mondo. Questo meccanismo semplice e immediato è stato sviluppato dal CERN13di Ginevra ed è così semplice da poter essere insegnato a chiunque in pochi minuti. Ha clamorosamente migliorato la fruibilità della Rete, determinando la sua attuale diffusione in ogni strato della popolazione. La Rete è stata progettata da migliaia di ricercatori e programmatori di tutto il mondo mettendo in comune un enorme patrimonio di intelligenze, conoscenze, risorse. 1 E' indicativo il fatto che il capitolo che parla di questo evento abbia come frase di intestazione una citazione dell'Odissea: Temo i greci, anche se portano doni 2 R. Stallman, Codice libero, Apogeo 2002 3 Advanced Research Project Agency (ARPA), dà il via nel 1968 alla prima rete mondiale di computer. 4 Che sta a significare: GNU non è lo Unix di AT&T, non è quindi proprietario, ma ha le stesse funzionalità ed è compatibile con quello. 5 Gioco di parole: la traduzione letterale suona come "copia di sinistra"; viene tradotto scherzosamente anche come “diritto di copia” 6 Raymond E. La cattedrale e il bazaar 1998 7 In realtà questa definizione deriva da uno scritto successivo “La cattedrale ed il bazaar” di E. Raymond, ma essendo diventato un classico la definizione viene comunemente applicata anche retroattivamente. 8 Raymond E. La cattedrale e il bazaar 1998 9 Raymond E. Op. Cit. 10 Raymond E. Op cit 11 Raymond E. Op. Cit. 12 Unità di trasmissione mediante la quale un messaggio viene suddiviso in parti per essere inviato. In pratica rappresenta un blocco di dati di formato standard, che sarà poi ricomposto con tutti gli altri per formare il messaggio originale. Si è reso necessario utilizzare una strategia del genere per ottimizzare al massimo le trasmissioni, ed evitare che files molto grandi andassero perduti. Così facendo, la perdita di uno o più pacchetti è più facilmente recuperabile di quelle dell'intero file. 13 Conseil European pour la Recherché Nucleaire |
| < Prec. | Pros. > |
|---|






