Codice Libero/La comune dell'Emacs
Questo testo è completo. |
Richard Stallman e la crociata per il software libero (2002)
Traduzione dall'inglese di Bernardo Parrella (2002)
◄ | Una piccola pozzanghera di libertà | Una difficile scelta morale | ► |
Il laboratorio di intelligenza artificiale degli anni ’70 era un luogo speciale sotto tutti gli aspetti. Da un lato, il connubio tra progetti d’avanguardia e ricercatori di livello insuperabile gli conferiva una posizione di primo piano nel mondo dell’informatica. Dall'altro, la cultura hacker vigente al suo interno, con le sue politiche anarchiche, gli conferiva un’aurea ribelle. Soltanto più avanti, con l’addio dei migliori ricercatori e delle superstar del software, gli hacker avrebbero compreso quanto fosse unico ed effimero il mondo in cui avevano vissuto un tempo.
"Era una sorta di paradiso terrestre", così Stallman ricorda il laboratorio e l’ethos della condivisione del software, in un articolo del 1998 per la rivista Forbes. "Non ci veniva neppure in mente di non collaborare tra noi"1.
Queste descrizioni mitologiche, per quanto eccessive, sottolineano un fatto importante. Erano in parecchi a ritenere il nono piano dello stabile al 545 di Tech Square come qualcosa di più di un luogo di lavoro. Hacker come Stallman lo consideravano la loro casa.
Nel lessico di quest’ultimo, il termine "casa" riveste un significato del tutto particolare. Con una nota polemica verso i propri genitori, ancora oggi rifiuta di riconoscere come casa propria nessun’altra abitazione precedente alla Currier House, il dormitorio in cui viveva ai tempi di Harvard. Luogo che tra l’altro dovette abbandonare in maniera tragicomica, almeno stando alla sua stessa descrizione. Una volta, parlando dei suoi anni ad Harvard, Stallman disse che il suo unico rimpianto fu di essere stato sbattuto fuori. Non appena gli chiesi cosa avesse provocato quell’episodio, mi resi conto di aver toccato un altro mito della sua vita.
"Ad Harward hanno questa politica: se passi troppi esami, ti chiedono di andartene", mi disse.
Lasciato il dormitorio e senz’alcuna voglia di tornarsene a New York, Stallman seguì la strada già percorsa da Greenblatt, Gosper, Sussman e numerosi altri hacker prima di lui. Dopo essersi iscritto al MIT e aver preso in affitto un appartamento nella vicina Cambridge, ben presto Stallman si rese conto di come il laboratorio di intelligenza artificiale fosse divenuto di fatto la sua dimora. In un intervento del 1986, così ricorda quel periodo:
È probabile che io abbia vissuto al laboratorio più di altri, perché quasi ogni anno per un motivo o per l’altro dovevo trovarmi un nuovo appartamento, e nell’attesa finivo per trascorrere lì qualche mese. Mi ci sono trovato sempre bene, in estate era proprio fresco. Capitava di frequente che qualcuno vi si addormentasse, altro effetto dell’entusiasmo; stai alzato davanti al monitor fino allo stremo delle forze perché non vuoi smettere, e quando sei completamente esausto non fai altro che distenderti sulla superficie morbida e orizzontale più vicina. Un’atmosfera davvero informale2.
Talvolta questa atmosfera casalinga creava dei problemi. Quello che alcuni consideravano alla stregua di dormitorio, per altri non era altro che una specie di ritrovo per "oppiomani elettronici." Nel libro Computer Power and Human Reason, del 1976, Joseph Weizenbaum, ricercatore presso il MIT, non risparmia pesanti critiche ai "vagabondi informatici", nella sua definizione degli hacker che popolavano quei locali. "Vestiti trasandati, capelli sporchi e spettinati, barba lunga, testimoniavano la loro indifferenza al corpo e al mondo circostante" scrive Weizenbaum. "[I vagabondi informatici] vivono, almeno relativamente a questo contesto, soltanto grazie e per il computer." 3
Un quarto di secolo dopo la pubblicazione di quel libro, Stallman rispose alla descrizione dei "vagabondi informatici" di Weizenbaum come se quest’ultimo gli fosse stato di fronte in quel preciso istante. "Vuole che tutti siano dei professionisti, gente che lavora per i soldi e che appena possibile dimentica e abbandona i progetti di cui si occupa", spiega Stallman. "Quello che a lui appare come uno scenario comune, a me sembra una vera tragedia."
E tuttavia, anche la vita dell’hacker non era priva di tali tragedie. Stallman descrive la sua transizione da hacker del fine settimana a ricercatore a tempo pieno nel laboratorio di intelligenza artificiale come una serie di dolorose sventure, che riuscì a superare soltanto grazie all’euforia dell’hacking. Nel suo racconto, il primo di questi episodi risale all’epoca della laurea ad Harvard. Convinto di voler proseguire gli studi in fisica, Stallman si iscrisse subito al MIT. Una scelta naturale che non soltanto gli permetteva di seguire le orme di alcuni grandi studenti del MIT come William Shockley (1936), Richard P. Feynman (1939) e Murray Gell-Mann (1951), ma gli consentiva anche di vivere a meno di tre chilometri dal laboratorio di intelligenza artificiale e dal nuovo computer PDP-10. "Ero attratto dalla programmazione, ma pensavo ancora che avrei potuto coltivare entrambe le cose", ricorda Stallman.
Di giorno a seguire i corsi di laurea e la notte a programmare nei monastici confini del laboratorio di intelligenza artificiale, Stallman era alla ricerca del perfetto equilibrio. Il fulcro di questa frenetica attività stava però nelle uscite settimanali con il gruppo di danze popolari, evento sociale che gli garantiva quantomeno un modico livello di interazione con l’altro sesso. Fu sul finire del primo anno al MIT, tuttavia, che avvenne il disastro. Una ferita al ginocchio lo costrinse a lasciare il gruppo. All’inizio lo considerò un problema temporaneo e dedicò al laboratorio d’intelligenza artificiale l’ulteriore tempo libero distolto alla danza. Ma al termine dell’estate iniziò a preoccuparsi seriamente, col ginocchio ancora dolorante e l’approssimarsi dei nuovi corsi. "Il ginocchio non ne voleva sapere di migliorare", ricorda Stallman, "con la conseguenza che dovetti smettere definitivamente di danzare. Fu un colpo mortale."
Senza né dormitorio né danze, il suo universo sociale finì per implodere. Al pari di un astronauta alle prese con i postumi dell’assenza di gravità, si rese conto di come la sua capacità di interagire con i non-hacker, soprattutto di genere femminile, si fosse atrofizzata in maniera considerevole. Dopo 16 settimane trascorse al laboratorio di intelligenza artificiale, quella fiducia in se stesso lentamente accumulata durante i quattro anni ad Harvard era praticamente scomparsa.
"In pratica mi sentivo svuotato di ogni energia", rammenta Stallman. "Non avevo voglia di far nulla se non quel che mi attirava al momento, non avevo energia per altro. Ero disperato."
Finì presto per ritirarsi ulteriormente dal mondo, dedicandosi unicamente al lavoro nel laboratorio di intelligenza artificiale. Nell’ottobre 1975, abbandonò i corsi al MIT, per non farvi mai più ritorno. Da semplice hobby iniziale, l’attività di hacking era diventata la sua vocazione.
Riflettendo su quel periodo, Stallman considera inevitabile il passaggio da studente a tempo pieno ad hacker a tempo pieno. Prima o poi, così ritiene, quest’ultimo richiamo avrebbe superato ogni altro interesse a livello professionale. "In materie come fisica o matematica, non riuscivo mai a proporre contributi originali", sostiene Stallman riferendosi alle vicissitudini precedenti la ferita al ginocchio. "Sarei stato orgoglioso di fornire contributi allo sviluppo di uno dei due campi, ma non vedevo come avrei potuto farlo. Non sapevo da che parte cominciare. Col software, invece, sapevo già come scrivere cose funzionanti e utili. Il piacere di questa conoscenza mi portò a desiderare di proseguire su questa strada."
Stallman non era certo il primo ad equiparare hacking e piacere. Gran parte di coloro che lavoravano al laboratorio di intelligenza artificiale vantavano un curriculum accademico analogamente incompleto. Molti di loro si erano iscritti a corsi di laurea in matematica o in ingegneria elettrica soltanto per poi abbandonare le proprie ambizioni professionali per la sottile soddisfazione che si ottiene risolvendo problemi mai affrontati prima. Come San Tommaso d’Aquino, noto per aver lavorato talmente a lungo sulle questioni teologiche da avere talvolta delle visioni spirituali, gli hacker raggiungevano stati di trascendenza interiore grazie alla concentrazione mentale e alla spossatezza fisica. Come la maggior parte di loro, Stallman rifiutava l’uso di droghe ma era attirato dallo stato di ebbrezza che si prova dopo 20 ore trascorse a scrivere codice.
Forse l’emozione più piacevole era il senso di appagamento personale. Per Stallman l’arte dell’hacking era qualcosa di naturale. Le lunghe notti passate a studiare quando era bambino, gli permettevano di lavorare a lungo, con poche ore di sonno. Asociale e individualista fin da quando aveva dieci anni, non aveva alcun problema a lavorare in completa solitudine. E in quanto matematico eccellente con capacità innate per la logica e un occhio critico, Stallman riusciva a superare quelle barriere progettuali che facevano dannare gran parte degli hacker.
"Era davvero speciale", ricorda Gerald Sussman, membro di facoltà al MIT ed ex ricercatore presso il laboratorio di intelligenza artificiale. Descrivendolo come "pensatore e progettista acuto", fu Sussman ad assumere Stallman come assistente per un progetto di ricerca a partire dal 1975. Si trattava di un progetto complesso, che richiedeva la creazione di un programma di IA in grado di analizzare i diagrammi dei circuiti. Qualcosa che richiedeva non soltanto un esperto di Lisp, un linguaggio di programmazione realizzato appositamente per applicazioni nel campo dell’intelligenza artificiale, ma anche la piena comprensione di come un essere umano avrebbe affrontato lo stesso problema.
Quando non lavorava a progetti ufficiali come quello di Sussman sul programma automatico di analisi dei circuiti, Stallman si dedicava a progetti personali. Era nel miglior interesse di ciascun hacker contribuire al miglioramento dell’infrastruttura del laboratorio, e uno dei suoi progetti più importanti di quel periodo riguardava l’editor TECO.
Negli anni ’70 il suo impegno in tale progetto appare inestricabilmente connesso alla successiva leadership del movimento del software libero, oltre a rappresentare un passaggio significativo nella storia dello sviluppo dell’informatica, motivo per cui val la pena riassumerlo qui. Nel corso degli anni ’50 e ’60, quando il computer fece la sua prima apparizione nelle aule universitarie, la programmazione costituiva qualcosa di puramente astratto. Per comunicare con la macchina, gli sviluppatori creavano una serie di schede perforate, ognuna delle quali rappresentava un singolo comando software. Tali schede venivano poi passate all’amministratore centrale del sistema, il quale le avrebbe a sua volta introdotte una ad una nella macchina, aspettando che questa ne producesse in uscita una nuova serie, che andava infine decifrata come output dai programmatori. Questa procedura, nota come "elaborazione batch", era tanto noiosa ed estenuante quanto soggetta ad abusi di autorità. Uno dei fattori a monte dell’innata avversione degli hacker per la centralizzazione, stava nel potere conferito ai primi amministratori di sistema cui spettava decidere quali lavori avessero priorità più alta.
Nel 1962 i ricercatori informatici e gli hacker riuniti sotto il progetto MAC del MIT, precursore del laboratorio di intelligenza artificiale, presero a darsi da fare per alleviare quel senso di frustrazione. Il "time sharing" (condivisione di tempo) all’inizio detto "time stealing" (furto di tempo), aveva reso possibile a più programmatori l’uso contemporaneo delle capacità operative di una macchina. L’interfaccia a telescrivente consentiva inoltre la comunicazione non più tramite una serie di fori in una scheda, bensì grazie all’interazione testuale. Il programmatore digitava dei comandi e leggeva poi, riga per riga, il risultato prodotto dalla macchina.
Sul finire degli anni ’60, lo studio dell’interfaccia compì altri passi in avanti. Nel 1968 in un famoso intervento Doug Engelbart, allora ricercatore presso lo Stanford Research Institute, illustrò il prototipo di quella che sarebbe diventata l’interfaccia grafica moderna. Con l’aggiunta di un monitor televisivo e di un puntatore chiamato "mouse", Engelbart mise a punto un sistema ancora più interattivo di quello a condivisione di tempo sviluppato al MIT. Trattando il monitor come una stampante ad alta velocità, tale sistema offriva la possibilità di seguire gli spostamenti del cursore sul video in tempo reale. Tutt’a un tratto l’utente era in grado di posizionare il testo in una parte qualunque dello schermo.
Queste innovazioni non sarebbero arrivate sul mercato prima di altri vent’anni, ma già dagli anni ’70 i monitor stavano iniziando a sostituire le telescriventi come terminali di visualizzazione, dando la possibilità di lavorare a tutto schermo anziché riga per riga.
Uno dei primi programmi a sfruttare tali potenzialità fu appunto TECO. Acronimo per Text Editor and COrrector, si trattava in pratica dell’aggiornamento di un vecchio editor di linea per telescriventi, adattato alla macchina PDP-6 del laboratorio4.
Pur rappresentando un notevole passo avanti rispetto ai primi programmi analoghi, TECO presentava ancora dei difetti. Per creare e modificare un documento, il programmatore doveva inserire una serie di comandi specificando ogni singola operazione di modifica. Si trattava di un processo del tutto astratto. Al contrario degli odierni elaboratori di testi, capaci di aggiornare il testo ogni volta che si preme un tasto, TECO richiedeva di inserire una lunga sequenza di istruzioni seguita da un "end of command" (fine del comando) per poter cambiare una sola frase. Col passar del tempo gli hacker divennero sufficientemente abili da scrivere interi documenti in questa modalità, ma come sottolineò in seguito Stallman il processo richiedeva "uno sforzo mentale simile a quello di una partita a scacchi giocata a occhi bendati." 5
Onde facilitare la procedura, gli hacker del laboratorio di intelligenza artificiale misero a punto un sistema in grado di visualizzare entrambe le modalità ("source" e "display") sullo schermo diviso a metà. Nonostante la mossa innovativa, il passaggio da una modalità all’altra rappresentava pur sempre una gran seccatura.
TECO non era l’unico elaboratore testi a tutto schermo che girava nel mondo informatico di allora. Nel 1976 durante una visita al laboratorio di intelligenza artificiale di Stanford, Stallman si imbattè in un editor chiamato E. Il programma comprendeva una funzione interna grazie alla quale l’utente poteva aggiornare il testo visualizzato dopo aver digitato ogni tasto. Nel lessico della programmazione anni ’70, si può dire che E era uno dei primi rudimentali esempi di software WYSIWYG. Abbreviazione di "what you see is what you get" (quello che vedi è quello che ottieni), il termine stava ad indicare la possibilità, da parte dell’utente, di manipolare il file spostando direttamente il testo prescelto, anziché operare tramite una serie ulteriore di istruzioni. 6
Colpito da quell’idea, al MIT Stallman si mise all’opera per espandere le funzionalità di TECO in maniera analoga. Partì da una funzione nota come Control-R, scritta da Carl Mikkelson e così chiamata per la combinazione dei tasti tramite cui veniva attivata. Tale combinazione consentiva il passaggio dall’abituale modalità di esecuzione astratta a quella più intuitiva operabile tasto dopo tasto. Stallman modificò la funzione in maniera sottile ma sgnificativa, rendendo possibile l’attivazione di altre stringhe di comando, cioè le cosiddette "macro", mediante diverse combinazioni di tasti. Laddove in precedenza l’utente doveva digitare una stringa di istruzioni per poi perderla al momento di passare alla riga successiva, la funzione ideata da Stallman permetteva di salvare su file le macro utilizzate così da richiamarle all’occorrenza. La modifica di Mikkelson aveva elevato TECO al livello di un editor WYSIWYG, quella di Stallman al livello di un editor WYSIWYG programmabile dall’utente. "Si trattò di una vera e propria rivoluzione", sostiene Guy Steele, uno degli hacker allora presenti nel laboratorio di intelligenza artificiale del MIT.
Nel ricordo dello stesso Stallman, l’idea delle macro provocò un’esplosione di innovazioni a catena. "Ognuno costruì la propria serie di comandi per l’editor, ciascuno dei quali attivava le funzioni più comunemente utilizzate", avrebbe successivamente ricordato. "Le macro venivano passate di mano in mano e migliorate, così da ampliarne la portata e l’utilizzo. Gradualmente le raccolte di macro si trasformarono in veri e propri programmi". L’innovazione si rivelò utile per così tante persone, che la inserirono nella loro versione di TECO, tanto che quest’ultimo divenne secondario rispetto alla mania delle macro così generata. "Iniziammo a categorizzarlo mentalmente come un linguaggio di programmazione piuttosto che un elaboratore testi", aggiunge Stallman. "Gli utenti si dilettavano ad affinare il software e a scambiarsi nuove idee."
Due anni dopo quel boom, il tasso di innovazione cominciò a mostrare pericolosi effetti collaterali. La crescita esplosiva aveva fornito una conferma esaltante della validità dell’approccio collaborativo tra gli hacker, conducendo però anche ad un’eccessiva complessità. "Era l’effetto Torre di Babele", sostiene Guy Steele.
Questo effetto minacciava di uccidere lo stesso spirito da cui aveva tratto origine. Il sistema ITS (Incompatible Time Sharing) era stato progettato dagli hacker per facilitare la condivisione delle informazioni e migliorare reciprocamente il lavoro degli altri. Ciò significava essere in grado di sedersi davanti al monitor di un altro programmatore per inserire direttamente commenti e correzioni nel software su cui stava lavorando. "Talvolta la maniera più semplice per mostrare a qualcuno come scrivere o sistemare il codice era semplicemente quella di sedersi al terminale e farlo al posto suo", spiega Steele.
A un certo punto, dopo due anni di applicazioni, le macro iniziarono a mascherare le funzioni stesse del programma. Desiderosi di sfruttare al meglio le nuove funzionalità a tutto schermo, gli hacker avevano personalizzato a tal punto le loro versioni di TECO che, sedendosi davanti al terminale di qualcun altro ci voleva un’ora buona solo per scoprire quali macro eseguissero le diverse operazioni.
Frustrato, Steele si fece carico di risolvere il problema. Raccolse quattro diversi pacchetti di macro e iniziò a compilare un grafico che documentasse i comandi più utili. Fu mentre lavorava all’implementazione dei vari comandi specifici che Steele attrasse l’attenzione di Stallman. "Prese a sbirciare dietro le mie spalle, chiedendomi cosa stessi facendo", rammenta.
Per Steele, hacker tranquillo che raramente si era trovato ad interagire con Stallman, il ricordo è ancora palpabile. Osservare un hacker al lavoro da dietro le spalle costituiva un’attività comune in quel laboratorio. Stallman, incaricato della gestione di TECO, definì "interessante" l’idea di Steele e decise di condurla rapidamente in porto.
"Come mi piace sostenere, io curai il primo 0,001 per cento dell’implementazione e Stallman si occupò del resto", ricorda Steele con un sorriso.
Il nome per il nuovo progetto, Emacs, venne scelto dallo stesso Stallman. Abbreviazione di "editing macros", stava a indicare la trascendenza evolutiva avvenuta nel corso di quei due anni dall’esplosione delle macro. Approfittava inoltre di un vuoto nel lessico della programmazione interna. Notando la mancanza nel sistema ITS di programmi che iniziavano con la lettera "E", la scelta di Emacs ne rese possibile l’identificazione tramite la sola lettera iniziale. Ancora una volta la brama degli hacker per la massima efficienza aveva centrato l’obiettivo7.
Mentre lavoravano allo sviluppo di un sistema standard per i comandi macro, Stallman e Steele dovettero fare alcune acrobazie politiche. Con la creazione di un programma standard, Stallman si poneva in chiara violazione di uno dei comandamenti dell’etica hacker: "promuovi la decentralizzazione". E contemporaneamente minacciava di ostacolare la flessibilità che aveva inizialmente alimentato l’esplosiva innovazione di TECO.
"Da una parte stavamo cercando di ricreare una serie uniforme di comandi, dall’altra volevamo mantenerli aperti salvaguardando l’importanza della programmabilità", puntualizza Steele.
Per risolvere il problema, Stallman, Steele e i colleghi David Moon e Dan Weinreib decisero allora di limitare tale standardizzazione alle istruzioni WYSIWYG che controllavano la visualizzazione del testo sul monitor. Il resto del progetto Emacs avrebbe conservato l’estensibilità a piacimento dei comandi.
Stallman si trovava però di fronte a un nuovo rompicapo: se gli utenti avessero apportato modifiche senza comunicarle al resto della comunità, l’effetto Torre di Babele sarebbe semplicemente riemerso altrove. Rifacendosi alla dottrina hacker sulla condivisione delle innovazioni, Stallman inserì nel codice sorgente una dichiarazione che ne stabiliva le modalità d’utilizzo. Ciascuno era libero di modificare e ridistribuire il codice a condizione di informare gli altri sulle ulteriori estensioni ideate. E scelse come soprannome "Emacs Commune" (la comune dell’Emacs). Così come TECO era divenuto qualcosa di più di un semplice elaboratore testi, Emacs era diventato qualcosa di più di un semplice programma. Per Stallman si trattava di un contratto sociale. In uno dei primi appunti relativi al progetto, ne descrisse in dettaglio i termini. "L’EMACS", scrisse, "viene distribuito sulla base della condivisione comune, ovvero ogni miglioramento deve essere ritrasmesso a me che provvederò a incorporarlo nelle successive redistribuzioni." 8
Non tutti accettarono quel contratto. Il ritmo esplosivo dell’innovazione proseguì per tutto il decennio, dando vita a una miriade di programmi simili all’Emacs con diversi livelli di compatibilità tra loro. Alcuni indicavano la relazione con l’originale progetto di Stallman tramite nomi ironicamente ricorsivi: Sine (Sine is not Emacs), Eine (Eine is not Emacs), Zwei (Zwei was Eine initially). In quanto devoto esponente dell’etica hacker, Stallman non vide alcun motivo per bloccare questa ventata innovativa ricorrendo a pressioni legali. E tuttavia, il fatto che qualcuno decidesse di appropriarsi di software appartenente all’intera comunità, per poi modificarlo e dargli un nuovo nome, dimostrava una palese mancanza di stile.
Tale comportamento si affiancava ad altri sviluppi negativi in atto nella comunità hacker. La decisione di Brian Reid del 1979 di inserire "bombe a tempo" all’interno di Scribe, consentendo così alla Unilogic di limitare l’accesso al software da parte di utenti non-paganti, rappresentò un oscuro presagio per Stallman. "Lo ritenne l’evento peggiore, addirittura nazista, in cui si fosse mai imbattuto", ricorda Reid. Pur avendo raggiunto successivamente una certa notorietà in quanto co-ideatore della gerarchia "alt" su Usenet, Reid afferma che deve ancora farsi perdonare quella decisione del 1979, almeno agli occhi di Stallman: "secondo lui, tutto il software dovrebbe essere libero e l’idea di far pagare un programma andrebbe considerata un crimine contro l’umanità." 9
Pur se impossibilitato a fare alcunché per impedire quella manovra di Reid, Stallman riuscì a ridimensionare altri comportamenti ritenuti contrari all’etica hacker. In qualità di gestore centrale del codice per la "comune" dell’Emacs, iniziò a utilizzare quella posizione di potere a scopo politico. Nella fase finale del conflitto con gli amministratori del laboratorio d’informatica sulla questione delle password, Stallman lanciò uno "sciopero del software"10, rifiutandosi di fornire allo staff di quel laboratorio le ultime versioni di Emacs fino a quando non avessero eliminato il sistema di sicurezza dai computer del laboratorio. La mossa non migliorò molto la crescente reputazione di estremista acquisita da Stallman, raggiunse però l’obiettivo prefissato: gli aderenti alla comune si sarebbero fatti sentire a difesa dei valori base degli hacker.
"Parecchia gente ce l’aveva con me sostenendo che li stessi tenendo in ostaggio o ricattando, e sotto certi aspetti avevano ragione", avrebbe raccontato in seguito Stallman al giornalista Steven Levy. "Avevo lanciato un’operazione violenta nei loro confronti perché ritenevo fossero costoro ad agire violentemente contro tutti gli altri in senso più generale." 11
Col passare del tempo, Emacs si trasformò in un veicolo per la diffusione dell’etica hacker. La flessibilità di cui lo avevano dotato Stallman e gli altri hacker non soltanto incoraggiava la collaborazione ma anzi la imponeva. Gli utenti che non si aggiornavano sullo sviluppo del software o che non inviavano a Stallman i propri contributi, correvano il rischio di rimanere tagliati fuori dalle ultime novità. E queste erano tutt’altro che poca cosa. A vent’anni dalla sua creazione, gli utenti avevano modificato Emacs per consentirne l’impiego in molti ambiti — come foglio di calcolo, calcolatrice, database, browser Web — al punto che gli ultimi sviluppatori, per rappresentarne l’ampia versatilità, adottarono l’immagine di un lavandino in cui l’acqua fuoriesce. "Era questa l’idea che volevamo comunicare", spiega Stallman. "La quantità di funzioni al suo interno è allo stesso tempo meravigliosa e terrificante."
I contemporanei di Stallman nel laboratorio di intelligenza artificiale si mostrano più benevoli. Hal Abelson, laureando al MIT, già collaboratore di Stallman negli anni ’70 e successivamente membro del direttivo della Free Software Foundation, descrive l’Emacs come "una creazione assolutamente brillante". Consentendo ai programmatori di aggiungere nuove librerie e funzioni senza mettere sottosopra il sistema, secondo Abelson, Stallman aprì la strada verso futuri progetti analoghi su larga scala. "La struttura si dimostrò sufficientemente robusta da permettere l’aperta collaborazione da parte di persone di ogni parte del mondo", aggiunge. "Non mi risulta che questo sia mai stato fatto prima." 12
Analoga l’ammirazione espressa da Guy Steele. Attualmente ricercatore presso la Sun Microsystems, ricorda Stallman soprattutto come "brillante programmatore con la capacità di generare notevoli quantità di codice sostanzialmente privo di errori." Pur tra le rispettive incompatibilità caratteriali, i due collaborarono abbastanza a lungo da permettere a Steele di apprezzare la profondità dello stile di Stallman nella programmazione. Ne rammenta in particolare un episodio specifico verso la fine degli anni ’70, quando lavorarono assieme alla stesura della funzione "pretty print", per la stampa del codice. Inizialmente concepita da Steele, tale funzione veniva attivata dall’ennesima combinazione di tasti che riformattava il codice sorgente in modo da risultare più leggibile e occupare meno spazio, esaltandone ulteriormente le qualità WYSIWIG. Un’opzione sufficientemente strategica da attrarre l’attivo interesse di Stallman, e non ci volle molto perché i due ne progettassero insieme una versione migliorata.
"Una mattina ci sedemmo davanti al monitor", ricorda Steele. "Io ero alla tastiera e lui di fianco. Non aveva problemi a lasciarmi digitare, ma era lui a suggerirmi cosa fare."
La sessione durò 10 ore. Durante tutto quel tempo, aggiunge Steele, né lui né Stallman fecero alcuna pausa, e nemmeno avviarono qualche breve conversazione. Alla fine erano riusciti a ridurre il codice per la funzione di stampa a meno di 100 righe. "Per tutto quel tempo, le mie dita erano rimaste sulla tastiera", ricorda Steele, "ma erano le idee di entrambi a fluire sullo schermo. Lui mi diceva cosa digitare, e io procedevo."
La lunghezza della sessione si rese evidente quando finalmente Steele uscì dal laboratorio. Una volta fuori dall’edificio al 545 di Tech Square, rimase sorpreso di trovarsi circondato dal buio della notte. Come programmatore Steele era abituato a maratone analoghe. Eppure stavolta c’era qualcosa di diverso. Quel lavoro con Stallman lo aveva costretto a bloccare ogni stimolo esterno per concentrare tutte le sue energie mentali sull’unico obiettivo che avevano davanti. Ripensando a quella circostanza, Steele sostiene di aver considerato la forza mentale di Stallman esilarante e terrificante al tempo stesso. "Il mio primo pensiero subito dopo fu questo: è stata una grande esperienza, molto intensa, ma non avrei mai voluto ripeterla in vita mia."
Note
- ↑ Si veda Josh McHugh, "For the Love of Hacking", ForbTes, 10 agosto 1998. http://www.forbes.com/forbes/1998/0810/6203094a.html
- ↑ Si veda Stalman (1986)
- ↑ Si veda Joseph Weizenbaum, Computer Power and Human Reason: From Judgment to Calculation, W. H. Freeman, 1976, p. 116.
- ↑ Secondo il Jargon File, originariamente l’acronimo TECO stava per Tape Editor and Corrector. http://www.tuxedo.org/~esr/jargon/html/entry/TECO.html
- ↑ Si veda Richard Stallman, "EMACS: The Extensible, Customizable, Display Editor", annotazione interna per il laboratorio di intelligenza artificiale (1979). Una versione HTML aggiornata di questa nota, dalla quale ho tratto la citazione, è disponibile online: http://www.gnu.org/software/emacs/emacs-paper.html.
- ↑ Si veda Richard Stallman, "Emacs the Full Screen Editor" (1987). http://www.lysator.liu.se/history/garb/txt/87-1-emacs.txt
- ↑ http://www.lysator.liu.se/history/garb/txt/87-1-emacs.txt
- ↑ Si veda Stallman (1979): #SEC34.
- ↑ In un’intervista del 1996 per la rivista online MEME, Stallman definì incresciosa la vendita di Scribe, ma esitò nel fare il nome di Reid. "Il problema fu che nessuno censurò o punì quello studente per quanto aveva combinato", sostenne Stallman. "Come conseguenza, altre persone furono tentate di seguirne l’esempio." Si veda MEME 2.04. http://memex.org/meme2-04.html
- ↑ Si veda Steven Levy, Hackers, Penguin USA, 1984, p. 419.
- ↑ Ibid.
- ↑ In questo capitolo ho scelto di concentrarmi maggiormente sul significato sociale dell’Emacs piuttosto che su quello legato al software. Per saperne di più in tal senso, raccomando la nota di Stallman del 1979. Consiglio in particolare la sezione denominata "Research Through Development of Installed Tools" (#SEC27). Non soltanto risulta comprensibile per il lettore non-tecnico, ma mette altresì in evidenza la stretta interconnessione tra la filosofia politica e quella relativa allo sviluppo del software nella concezione di Stallman. Quanto segue è un breve estratto: L’EMACS non avrebbe potuto vedere la luce tramite un processo di attenta progettazione, poiché simili procedure raggiungono l’obiettivo preposto soltanto nel caso questo risulti visibile e sia auspicabile fin dall’inizio. Né il sottoscritto ne altri potevamo immaginare un elaboratore testi estendibile prima di averlo realizzato, e nessuno avrebbe potuto apprezzarne il valore prima di averlo utilizzato sul campo. L’EMACS esiste perché mi sentivo libero di inserirvi miglioramenti ridotti e unici lungo una strada la cui direzione era impossibile da intravedere.