Libero come in Libertà in russo: capitolo 7. Il dilemma della moralità assoluta


Libero come in Libertà in russo: capitolo 7. Il dilemma della moralità assoluta

Libero come in Libertà in russo: capitolo 1. Stampante fatale


Libero come in Libertà in russo: capitolo 2. 2001: Hacker Odyssey


Libero come in Libertà in russo: capitolo 3. Ritratto di un hacker in gioventù


Libero come in Libertà in russo: capitolo 4. Debunk God


Libero come in libertà in russo: capitolo 5. Flusso di libertà


Libero come in Libertà in russo: capitolo 6. Comune di Emacs

Il dilemma della moralità assoluta

Alle dodici e mezza della notte del 27 settembre 1983, nel gruppo Usenet net.unix-wizards apparve un messaggio insolito firmato rms@mit-oz. Il titolo del messaggio era breve ed estremamente allettante: “Una nuova implementazione di UNIX”. Ma invece di una nuova versione già pronta di Unix, il lettore ha trovato una chiamata:

Questo Ringraziamento, sto iniziando a scrivere un nuovo sistema operativo completamente compatibile con Unix chiamato GNU (GNU's Not Unix). Lo distribuirò liberamente a tutti. Ho davvero bisogno del tuo tempo, denaro, codice, attrezzatura... qualsiasi aiuto.

Per uno sviluppatore Unix esperto, il messaggio era un misto di idealismo ed ego. L'autore non solo si è impegnato a ricreare da zero un intero sistema operativo, molto avanzato e potente, ma anche a migliorarlo. Si supponeva che il sistema GNU contenesse tutti i componenti necessari come un editor di testo, una shell di comandi, un compilatore e “una serie di altre cose”. Promettevano anche caratteristiche estremamente interessanti che non erano disponibili nei sistemi Unix esistenti: un'interfaccia grafica nel linguaggio di programmazione Lisp, un file system tollerante agli errori, protocolli di rete basati sull'architettura di rete del MIT.

"GNU sarà in grado di eseguire programmi Unix, ma non sarà identico al sistema Unix", ha scritto l'autore, "apporteremo tutti i miglioramenti necessari che sono maturati negli anni di lavoro su vari sistemi operativi".

Anticipando una reazione scettica al suo messaggio, l'autore lo ha integrato con una breve digressione autobiografica sotto il titolo: "Chi sono io?":

Sono Richard Stallman, creatore dell'editor EMACS originale, uno dei cloni di cui probabilmente ti sei imbattuto. Lavoro al MIT AI Lab. Ho una vasta esperienza nello sviluppo di compilatori, editor, debugger, interpreti di comandi, sistemi operativi ITS e Lisp Machine. Implementato il supporto dello schermo indipendente dal terminale in ITS, nonché un file system tollerante agli errori e due sistemi di finestre per macchine Lisp.

Il caso volle che l'intricato progetto di Stallman non iniziasse il Giorno del Ringraziamento, come promesso. Fu solo nel gennaio 1984 che Richard si tuffò a capofitto nello sviluppo di software in stile Unix. Dal punto di vista di un architetto di sistemi ITS, è stato come passare dalla costruzione di palazzi moreschi alla costruzione di centri commerciali suburbani. Tuttavia lo sviluppo del sistema Unix ha offerto anche dei vantaggi. L'ITS, nonostante tutta la sua potenza, aveva un punto debole: funzionava solo su un computer PDP-10 della DEC. All'inizio degli anni '80, il Laboratorio abbandonò il PDP-10 e l'ITS, che gli hacker paragonarono a una città frenetica, divenne una città fantasma. Unix, d'altra parte, è stato originariamente progettato con un occhio alla portabilità da un'architettura di computer all'altra, quindi tali problemi non lo hanno minacciato. Sviluppato dai ricercatori junior dell'AT&T, Unix è scivolato sotto il radar aziendale e ha trovato una casa tranquilla nel mondo no-profit dei think tank. Con meno risorse dei loro fratelli hacker del MIT, gli sviluppatori Unix adattarono il loro sistema per funzionare su uno zoo di hardware disparato. Principalmente sul PDP-16 a 11 bit, che gli hacker del laboratorio consideravano inadatto per compiti seri, ma anche su mainframe a 32 bit come il VAX 11/780. Nel 1983, aziende come Sun Microsystems avevano creato computer desktop relativamente compatti – “workstation” – paragonabili in potenza al vecchio mainframe PDP-10. Anche l'onnipresente Unix si stabilì su queste workstation.

La portabilità di Unix era fornita da un ulteriore livello di astrazione tra applicazioni e hardware. Invece di scrivere programmi nel codice macchina di un computer specifico, come facevano gli hacker del Lab quando sviluppavano programmi per ITS sul PDP-10, gli sviluppatori Unix utilizzavano il linguaggio di programmazione C di alto livello, che non era legato a una piattaforma hardware specifica. Allo stesso tempo, gli sviluppatori si sono concentrati sulla standardizzazione delle interfacce attraverso le quali le parti del sistema operativo interagiscono tra loro. Il risultato è stato un sistema in cui qualsiasi parte poteva essere riprogettata senza influenzare tutte le altre parti e senza interromperne il funzionamento. E per trasferire un sistema da un'architettura hardware a un'altra, bastava anche rifare solo una parte del sistema, e non riscriverla interamente. Gli esperti hanno apprezzato questo fantastico livello di flessibilità e praticità, quindi Unix si è diffuso rapidamente in tutto il mondo dei computer.

Stallman decise di creare il sistema GNU a causa della scomparsa di ITS, il frutto preferito degli hacker del laboratorio AI. La morte di ITS è stata un duro colpo per loro, incluso Richard. Se la storia della stampante laser Xerox gli ha aperto gli occhi sull'ingiustizia delle licenze proprietarie, la morte di ITS lo ha spinto dall'avversione al software chiuso all'opposizione attiva ad esso.

Le ragioni della morte di ITS, come il suo codice, risalgono al passato. Nel 1980, la maggior parte degli hacker del Lab stava già lavorando su una macchina Lisp e su un relativo sistema operativo.

Lisp è un linguaggio di programmazione elegante, perfetto per lavorare con dati la cui struttura non è nota in anticipo. È stato creato dal pioniere della ricerca sull’intelligenza artificiale e creatore del termine “intelligenza artificiale” John McCarthy, che lavorò al MIT nella seconda metà degli anni ’50. Il nome della lingua è l'abbreviazione di “LIST Processing” o “list Processing”. Dopo che McCarthy lasciò il MIT per Stanford, gli hacker del Lab cambiarono in qualche modo Lisp, creando il suo dialetto locale MACLISP, dove le prime 3 lettere stavano per il progetto MAC, grazie al quale, di fatto, apparve il Laboratorio AI del MIT. Sotto la guida dell'architetto di sistema Richard Greenblatt, gli hacker del laboratorio hanno sviluppato una macchina Lisp - un computer speciale per eseguire programmi in Lisp, nonché un sistema operativo per questo computer - anch'esso, ovviamente, scritto in Lisp.

All'inizio degli anni '80, gruppi concorrenti di hacker avevano fondato due società che producevano e vendevano macchine Lisp. L'azienda di Greenblatt si chiamava Lisp Machines Incorporated, o semplicemente LMI. Sperava di fare a meno degli investimenti esterni e di creare una pura “società di hacker”. Ma la maggior parte degli hacker si è unita a Symbolics, una tipica startup commerciale. Nel 1982 lasciarono completamente il MIT.

Quelli che restavano si contavano sulle dita di una mano, così i programmi e le macchine impiegavano sempre più tempo per essere riparati, o non venivano riparati affatto. E quel che è peggio, secondo Stallman, è che nel Laboratorio cominciarono i “cambiamenti demografici”. Gli hacker, che prima erano in minoranza, sono quasi scomparsi, lasciando il Laboratorio a completa disposizione di insegnanti e studenti, il cui atteggiamento nei confronti del PDP-10 è stato apertamente ostile.

Nel 1982, l'AI Lab ricevette un sostituto per il suo PDP-12 vecchio di 10 anni: il DECSYSTEM 20. Le applicazioni scritte per il PDP-10 funzionavano senza problemi sul nuovo computer, perché il DECSYSTEM 20 era essenzialmente un PDP aggiornato -10, ma il vecchio sistema operativo non era affatto adatto - ITS ha dovuto essere portato su un nuovo computer, il che significa quasi completamente riscritto. E questo in un momento in cui quasi tutti gli hacker che avrebbero potuto farlo hanno lasciato il Laboratorio. Così il sistema operativo commerciale Twenex ha rapidamente preso il sopravvento sul nuovo computer. I pochi hacker rimasti al MIT non potevano che accettarlo.

"Senza hacker in grado di creare e mantenere il sistema operativo, siamo condannati", hanno affermato docenti e studenti. "Abbiamo bisogno di un sistema commerciale supportato da qualche azienda in modo che possa risolvere da sola i problemi con questo sistema." Stallman ricorda che questa argomentazione si rivelò un errore crudele, ma all'epoca sembrava convincente.

Inizialmente gli hacker vedevano Twenex come un’altra incarnazione di una corporatocrazia autoritaria che volevano spezzare. Anche il nome rifletteva l'ostilità degli hacker: infatti il ​​sistema si chiamava TOPS-20, indicando continuità con TOPS-10, anch'esso un sistema DEC commerciale per il PDP-10. Ma dal punto di vista architettonico, TOPS-20 non aveva nulla in comune con TOPS-10. È stato realizzato sulla base del sistema Tenex, sviluppato da Bolt, Beranek e Newman per il PDP-10. . Stallman cominciò a chiamare il sistema “Twenex” proprio per evitare di chiamarlo TOPS-20. “Il sistema era lontano dalle soluzioni di fascia alta, quindi non potevo osare chiamarlo con il suo nome ufficiale”, ricorda Stallman, “così ho inserito la lettera ‘w’ in ‘Tenex’ per renderlo ‘Twenex’”. (Questo nome gioca sulla parola “twenty”, cioè “venti”)

Il computer che eseguiva il Twenex/TOPS-20 era ironicamente chiamato "Oz". Il fatto è che DECSYSTEM 20 richiedeva una piccola macchina PDP-11 per far funzionare il terminale. Un hacker, quando vide per la prima volta il PDP-11 collegato a questo computer, lo paragonò ad una pretenziosa interpretazione del Mago di Oz. “Io sono il grande e terribile Oz! – recitò. "Basta non guardare le piccole cose su cui sto lavorando."

Ma non c'era niente di divertente nel sistema operativo del nuovo computer. La sicurezza e il controllo degli accessi sono stati integrati in Twenex a livello base e anche le sue utilità applicative sono state progettate pensando alla sicurezza. Le battute condiscendenti sui sistemi di sicurezza del laboratorio si sono trasformate in una seria battaglia per il controllo del computer. Gli amministratori hanno sostenuto che senza sistemi di sicurezza, Twenex sarebbe instabile e soggetto a errori. Gli hacker hanno assicurato che la stabilità e l'affidabilità potrebbero essere raggiunte molto più velocemente modificando il codice sorgente del sistema. Ma erano già così pochi nel Laboratorio che nessuno li ascoltava.

Gli hacker pensavano di poter aggirare le restrizioni di sicurezza dando a tutti gli utenti "privilegi di guida" - diritti elevati che danno loro la possibilità di fare molte cose che all'utente medio non è consentito fare. Ma in questo caso, qualsiasi utente potrebbe togliere i “privilegi di guida” a qualsiasi altro utente e non potrebbe restituirli a se stesso a causa della mancanza di diritti di accesso. Pertanto, gli hacker hanno deciso di prendere il controllo del sistema togliendo i “privilegi di guida” a tutti tranne che a se stessi.

Indovinare le password e avviare il debugger durante l'avvio del sistema non ha fatto nulla. Avendo fallito"colpo di stato", Stallman ha inviato un messaggio a tutti i dipendenti del Laboratorio.

“Finora gli aristocratici erano stati sconfitti”, scrive, “ma ora hanno preso il sopravvento e il tentativo di prendere il potere è fallito”. Richard ha firmato il messaggio: "Radio Free OZ" in modo che nessuno sospettasse che fosse lui. Un ottimo travestimento, considerando che nel Laboratorio tutti conoscevano l'atteggiamento di Stallman nei confronti dei sistemi di sicurezza e la sua presa in giro delle password. Tuttavia, l'avversione di Richard per le password era nota ben oltre il MIT. Quasi tutta ARPAnet, il prototipo di Internet di quei tempi, accedeva ai computer del Laboratorio tramite l’account di Stallman. Un tale “turista” fu, ad esempio, Don Hopkins, un programmatore californiano, che attraverso il passaparola degli hacker apprese che si poteva entrare nel famoso sistema ITS del MIT semplicemente inserendo 3 lettere delle iniziali di Stallman come login e password.

"Sarò per sempre grato che il MIT abbia dato a me e a tante altre persone la libertà di usare i propri computer", afferma Hopkins, "Ha significato molto per tutti noi".

Questa politica "turistica" è durata per molti anni mentre viveva il sistema ITS e la direzione del MIT la guardava con condiscendenza. . Ma quando la macchina di Oz divenne il ponte principale dal Laboratorio ad ARPAnet, tutto cambiò. Stallman forniva ancora l'accesso al suo account utilizzando login e password conosciuti, ma gli amministratori gli chiedevano di cambiare la password e di non darla a nessun altro. Richard, citando la sua etica, si rifiutò del tutto di lavorare sulla macchina di Oz.

“Quando le password iniziarono ad apparire sui computer del Laboratorio AI, decisi di seguire la mia convinzione che non dovessero esistere password”, disse in seguito Stallman, “e poiché credevo che i computer non avessero bisogno di sistemi di sicurezza, non avrei dovuto sostenere queste misure per implementare loro. "

Il rifiuto di Stallman di inginocchiarsi davanti alla grande e terribile macchina di Oz dimostrava che le tensioni tra gli hacker ed i superiori del Laboratorio stavano crescendo. Ma questa tensione era solo una pallida ombra del conflitto che infuriava all'interno della stessa comunità hacker, divisa in due campi: LMI (Lisp Machines Incorporated) e Symbolics.

Symbolics ha ricevuto molti investimenti dall’esterno, cosa che ha attirato molti hacker del Lab. Hanno lavorato sul sistema della macchina Lisp sia al MIT che al di fuori di esso. Entro la fine del 1980, l'azienda assunse 14 dipendenti del laboratorio come consulenti per sviluppare la propria versione della macchina Lisp. Il resto degli hacker, escluso Stallman, lavorava per la LMI. Richard decise di non schierarsi e, per abitudine, rimase per conto suo.

Inizialmente, gli hacker assunti da Symbolics continuarono a lavorare al MIT, migliorando il sistema della macchina Lisp. Loro, come gli hacker della LMI, hanno utilizzato la licenza del MIT per il loro codice. Richiedeva che le modifiche venissero restituite al MIT, ma non richiedeva che il MIT distribuisse le modifiche. Tuttavia, nel 1981, gli hacker aderirono ad un gentleman's agreement in cui tutti i miglioramenti venivano scritti nella macchina Lisp del MIT e distribuiti a tutti gli utenti di quelle macchine. Questo stato di cose ha comunque preservato una certa stabilità del collettivo hacker.

Ma il 16 marzo 1982 - Stallman ricorda bene questo giorno perché era il suo compleanno - il gentleman's agreement terminò. Ciò è avvenuto per volere della direzione della Symbolics, che voleva strangolare la sua concorrente, la società LMI, che aveva molti meno hacker al suo servizio. I leader di Symbolics hanno ragionato in questo modo: se LMI ha molti meno dipendenti, si scopre che il lavoro complessivo sulla macchina Lisp le è vantaggioso e se questo scambio di sviluppi viene interrotto, LMI verrà distrutta. A tal fine hanno deciso di abusare della lettera della licenza. Invece di apportare modifiche alla versione MIT del sistema, che LMI poteva utilizzare, iniziarono a fornire al MIT la versione Symbolics del sistema, che potevano modificare come volevano. Si è scoperto che qualsiasi test e modifica del codice macchina Lisp al MIT è andato solo a favore di Symbolics.

In qualità di responsabile della manutenzione della macchina Lisp del laboratorio (con l'aiuto di Greenblatt per i primi mesi), Stallman era furioso. Gli hacker di Symbolics hanno fornito codice con centinaia di modifiche che hanno causato errori. Considerando questo un ultimatum, Stallman interruppe le comunicazioni del Laboratorio con la Symbolics, giurò di non lavorare mai più sulle macchine di quell'azienda e annunciò che si sarebbe unito al lavoro sulla macchina Lisp del MIT per supportare la LMI. “Ai miei occhi, il Laboratorio era un paese neutrale, come il Belgio durante la seconda guerra mondiale”, afferma Stallman, “e se la Germania avesse invaso il Belgio, il Belgio avrebbe dichiarato guerra alla Germania e si sarebbe unito a Gran Bretagna e Francia”.

Quando i dirigenti della Symbolics notarono che le loro ultime innovazioni erano ancora presenti sulla versione del MIT della macchina Lisp, si arrabbiarono e iniziarono ad accusare gli hacker del laboratorio di aver rubato il codice. Ma Stallman non ha violato affatto la legge sul copyright. Ha studiato il codice fornito da Symbolics e ha fatto ipotesi logiche su correzioni e miglioramenti futuri, che ha iniziato a implementare da zero per la macchina Lisp del MIT. I dirigenti della Symbolics non ci credevano. Installarono uno spyware sul terminale di Stallman, che registrava tutto ciò che faceva Richard. Speravano quindi di raccogliere prove del furto del codice e di mostrarle all'amministrazione del MIT, ma già all'inizio del 1983 non c'era quasi nulla da mostrare. Tutto quello che avevano erano una dozzina circa di posti in cui il codice dei due sistemi sembrava un po' simile.

Quando gli amministratori del laboratorio mostrarono le prove di Symbolics a Stallman, questi le confutò, affermando che il codice era simile, ma non uguale. E gli rivoltò contro la logica della gestione della Symbolics: se questi granelli di codice simile sono tutto ciò che sono riusciti a scovare su di lui, allora ciò dimostra solo che Stallman non ha effettivamente rubato il codice. Ciò bastò perché i responsabili del Laboratorio approvassero il lavoro di Stallman, che lo continuò fino alla fine del 1983. .

Ma Stallman cambiò approccio. Per proteggere il più possibile se stesso e il progetto dalle affermazioni di Symbolics, ha smesso completamente di guardare i loro codici sorgente. Ha iniziato a scrivere codice esclusivamente sulla base della documentazione. Richard non si aspettava le più grandi innovazioni da Symbolics, ma le ha implementate lui stesso, quindi ha aggiunto solo le interfacce per compatibilità con l'implementazione di Symbolics, basandosi sulla loro documentazione. Ha anche letto il registro delle modifiche al codice di Symbolics per vedere quali bug stavano risolvendo e ha risolto questi bug lui stesso in altri modi.

Ciò che accadde rafforzò la determinazione di Stallman. Dopo aver creato analoghi delle nuove funzioni Symbolics, ha convinto il personale del Laboratorio a utilizzare la versione MIT della macchina Lisp, che ha garantito un buon livello di test e rilevamento degli errori. E la versione del MIT era completamente aperta alla LMI. “Volevo punire la Symbolics ad ogni costo”, spiega Stallman. Questa affermazione dimostra non solo che il carattere di Richard è tutt'altro che pacifista, ma anche che il conflitto sulla macchina Lisp lo ha toccato nel vivo.

La disperata determinazione di Stallman può essere compresa se si considera come gli sembrava: la "distruzione" della sua "casa", cioè la comunità hacker e la cultura dell'AI Lab. Levy in seguito intervistò Stallman via e-mail e Richard si paragonò a Ishi, l'ultimo membro conosciuto del popolo indiano Yahi, che fu sterminato durante le guerre indiane degli anni '1860 e '1870 dell'Ottocento. Questa analogia conferisce agli eventi descritti una portata epica, quasi mitologica. Gli hacker che lavoravano per Symbolics la vedevano sotto una luce leggermente diversa: la loro azienda non distruggeva né sterminava, ma faceva solo ciò che avrebbe dovuto essere fatto molto tempo fa. Dopo aver spostato la macchina Lisp nel campo commerciale, Symbolics ha cambiato il suo approccio alla progettazione dei programmi: invece di tagliarli secondo gli schemi irriducibili degli hacker, hanno iniziato a utilizzare standard di manager più morbidi e umani. E consideravano Stallman non un avversario che combatteva in difesa di una giusta causa, ma un portatore di un pensiero antiquato.

Anche i conflitti personali hanno aggiunto benzina sul fuoco. Anche prima dell'avvento di Symbolics, molti hacker evitavano Stallman, e ora la situazione è peggiorata più volte. “Non ero più invitato a fare gite a Chinatown”, ricorda Richard, “Greenblatt ha lanciato l'abitudine: quando vuoi pranzare, vai in giro con i tuoi colleghi e li inviti con te, oppure mandi loro un messaggio. Da qualche parte nel 1980-1981 hanno smesso di chiamarmi. Non solo non mi hanno invitato, ma, come mi ha ammesso più tardi una persona, hanno fatto pressione sugli altri affinché nessuno mi informasse dei treni previsti per il pranzo”.

Fonte: linux.org.ru

Aggiungi un commento