Free as in Freedom în limba română: Capitolul 1. Printrul fatal
Free as in Freedom în română: Capitolul 2. 2001: Odissea hackerilor
Free as in Freedom în română: Capitolul 3. Portretul hackerului în tinerețe
Free as in Freedom în limba română: Capitolul 4. Desființarea zeului
Free as in Freedom in Romanian: Chapter 5. The Stream of Freedom
Free as in Freedom în română: Capitolul 6. Comuna Emacs
Dilema moral absolută
La miezul nopții, pe 27 septembrie 1983, un mesaj neobișnuit a apărut în grupul Usenet net.unix-wizards, semnat de rms@mit-oz. Mesajul avea un titlu scurt și extrem de tentant: „Noua implementare UNIX”. Dar, în loc de o versiune nouă a Unix, cititorul descoperea un apel:
În această Zi a Recunoștinței, încep să scriu un nou sistem de operare complet compatibil cu Unix, numit GNU (GNU’s Not Unix). Îl voi distribui gratuit tuturor doritorilor. Am mare nevoie de timpul, banii, codul, echipamentele voastre – orice ajutor.
În ochii unui dezvoltator experimentat de Unix, mesajul părea o amestecătură de idealism și o stimă de sine exagerată. Autorul nu se limita doar la a recrea de la zero un întreg sistem de operare, extrem de dezvoltat și puternic, ci dorea să-l îmbunătățească. Sistemul GNU trebuia să conțină toate componentele necesare, cum ar fi un editor de text, un shell de comandă, un compilator și „mai multe alte lucruri”. Se promiteau și funcționalități extrem de atractive, care nu existau în sistemele Unix de atunci: o interfață grafică în limbajul de programare Lisp, un sistem de fișiere rezistent la defecțiuni, protocoale de rețea bazate pe arhitectura rețelei MIT.
„GNU va putea rula programe Unix, dar nu va fi identic cu sistemul Unix,” scria autorul, „vom face toate îmbunătățirile necesare, care au fost așteptate de-a lungul anilor de muncă în diverse sisteme de operare”.
Prezentând reacția sceptică la mesajul său, autorul l-a completat cu o scurtă notă autobiografică sub titlul: „Cine sunt eu?”:
Sunt Richard Stallman, creatorul original al editorului EMACS, unul dintre clonele căruia l-ați întâlnit probabil. Lucrez la Laboratorul de AI al Institutului Tehnologic Massachusetts. Am o vastă experiență în dezvoltarea compilatoarelor, editorilor, depanatoarelor, interpretoarelor de comandă, sistemelor de operare ITS și Lisp Machine. Am implementat suportul pentru ecran, independent de terminale, în ITS, precum și un sistem de fișiere tolerant la defecte și două sisteme de feronțe pentru mașinile Lisp.
Așa s-a întâmplat că proiectul elaborat de Stallman nu a început de Ziua Recunoștinței, așa cum se promisese. Abia în ianuarie 1984, Richard s-a dedicat complet dezvoltării unui software în stil Unix. Pentru un arhitect de sistem de la ITS, era ca și cum ar fi trecut de la construcția unor palate maure la construirea unor centre comerciale suburbane. Totuși, dezvoltarea sistemului Unix oferea și avantaje. ITS, cu toată puterea sa, avea un punct slab - funcționa doar pe computerul PDP-10 de la DEC. La începutul anilor '80, laboratorul a renunțat la PDP-10, iar ITS, pe care hackerii o comparau cu un oraș aglomerat, s-a transformat într-un oraș fantomă. Unix, pe de altă parte, a fost conceput inițial pentru a fi portabil între diferite arhitecturi de calcul, așa că nu avea de ce să se teamă de astfel de probleme. Dezvoltat de cercetătorii de la AT&T, Unix a trecut neobservat prin radarul corporațiilor și și-a găsit un refugiu liniștit în lumea non-profit a centrelor științifice. Având mai puține resurse decât colegii lor hackeri de la MIT, dezvoltatorii Unix și-au adaptat sistemul pentru a funcționa pe un amestec ecletic de echipamente. În principal, pe PDP-11 cu 16 biți, pe care hackerii laboratorului îl considerau nepotrivit pentru sarcini serioase, dar și pe mainframe-uri cu 32 de biți, cum ar fi VAX 11/780. Până în 1983, companii precum Sun Microsystems au creat computere desktop relativ compacte – „stații de lucru”, comparabile ca putere cu vechiul mainframe PDP-10. Pe aceste stații de lucru s-a instalat, de asemenea, omniprezentul Unix.
Portabilitatea Unix a fost asigurată printr-un strat suplimentar de abstrahție între aplicații și hardware. În loc să scrie programe în coduri mașină pentru computere specifice, așa cum făceau hackerii laboratorului în dezvoltarea programelor pentru ITS pe PDP-10, dezvoltatorii Unix au folosit un limbaj de programare de nivel înalt, C, care nu era legat de o platformă hardware specifică. În acest mod, dezvoltatorii s-au concentrat pe standardizarea interfețelor prin care părțile sistemului de operare interacționau între ele. Rezultatul a fost un sistem în care orice parte putea fi refăcută fără a afecta celelalte părți și fără a perturba funcționarea acestora. Astfel, pentru a migra sistemul de la o arhitectură hardware la alta, era suficient să se refacă doar o parte a sistemului, fără a fi necesară rescrierea întregului sistem. Specialiștii au apreciat pe bună dreptate acest nivel fantastic de flexibilitate și comoditate, ceea ce a dus la răspândirea rapidă a Unix în lumea computerelor.
Stallman a decis să creeze sistemul GNU din cauza dispariției ITS, preferatul hackerilor din laboratorul AI. Moartea ITS a fost o lovitură dură pentru ei, inclusiv pentru Richard. Dacă povestea cu imprimanta laser Xerox i-a deschis ochii asupra nedreptății licențelor comerciale, dispariția ITS l-a împins de la repulsia față de software-ul închis la o opoziție activă față de acesta.
Cauzele morții ITS, la fel ca și codul său, se întorceau mult în trecut. Până în 1980, majoritatea hackerilor laboratorului lucrau deja la un sistem Lisp și la sistemul de operare pentru acesta.
Lisp – un limbaj de programare elegant, perfect pentru lucrul cu date ale căror structuri sunt necunoscute dinainte. A fost creat de pionierul cercetărilor în inteligența artificială și creatorul termenului „inteligență artificială”, John McCarthy, care a lucrat la MIT în a doua jumătate a anilor '50. Numele limbajului este o prescurtare de la „LISt Processing” sau „procesarea listelor”. După ce McCarthy a părăsit MIT pentru Stanford, hackerii laboratorului au modificat ceva Lisp, creând dialectul local MACLISP, unde primele 3 litere denotau proiectul MAC, care a dus la înființarea Laboratorului de IA la MIT. Sub conducerea arhitectului de sisteme Richard Greenblatt, hackerii laboratorului au dezvoltat o mașină Lisp – un computer special pentru rularea programelor în limbajul Lisp, precum și un sistem de operare pentru acest computer – de asemenea, scris tot în Lisp.
Până la începutul anilor '80, grupuri concurente de hackeri au înființat două companii de producție și vânzare de mașini Lisp. Compania lui Greenblatt a fost numită Lisp Machines Incorporated sau simplu LMI. Se aștepta să supraviețuiească fără investiții externe și să creeze o „companie de hackeri” pur. Totuși, majoritatea hackerilor s-au alăturat Symbolics, un startup comercial obișnuit. În 1982, aceștia au părăsit complet MIT.
Cei care au rămas puteau fi numărați pe degetele unei singure mâini, așa că programele și mașinile necesită din ce în ce mai mult timp pentru reparații, sau nu erau reparate deloc. Iar ceea ce era și mai rău, potrivit lui Stallman – în laborator au început „schimbări demografice”. Hackerii, care au fost întotdeauna în minoritate, aproape că au dispărut, lăsând laboratorul în întregime în mâinile profesorilor și studenților, a căror atitudine față de PDP-10 era sincer neprietenos.
În 1982, Laboratorul de Inteligență Artificială a primit o înlocuire pentru PDP-10-ul său de 12 ani – DECSYSTEM 20. Aplicațiile scrise pentru PDP-10 au funcționat fără probleme pe noul computer, deoarece DECSYSTEM 20 era, în esență, un PDP-10 actualizat, dar vechiul sistem de operare nu se potrivea deloc – ITS trebuia să fie portat pe noul computer, ceea ce însemna aproape o rescriere completă. Și asta în vreme ce aproape toți hackerii care ar fi putut să se ocupe de asta părăsiseră Laboratorul. Așa că pe noul computer a fost rapid instalat sistemul de operare comercial Twenex. Puținii hackeri care mai rămăseseră la MIT nu aveau decât să se obișnuiască cu acest lucru.
„Fără hackerii care să sprijine crearea și întreținerea sistemului de operare, suntem condamnați”, spuneau angajații facultății și studenții, „avem nevoie de un sistem comercial, sprijinit de vreo companie, pentru ca aceasta să se ocupe de problemele cu acest sistem”. Stallman își amintește că acest argument s-a dovedit a fi o eroare groaznică, dar în acel moment suna convingător.
La început, hackerii vedeau în Twenex o nouă manifestare a corporației autoritare, pe care doreau să o destrame. Chiar și în nume se reflecta aversiunea hackerilor – de fapt, sistemul se numea TOPS-20, indicând continuitatea cu TOPS-10, un alt sistem comercial DEC pentru PDP-10. Dar arhitectural, TOPS-20 nu avea nimic în comun cu TOPS-10. A fost realizat pe baza sistemului Tenex, dezvoltat de compania Bolt, Beranek și Newman pentru PDP-10. Stallman a început să numească sistemul „Twenex” doar pentru a nu-l numi TOPS-20. „Sistemul era departe de soluții de top, așa că nu mă puteam decide să-i spun numele oficial”, își amintește Stallman, „așa că am adăugat litera 'w' în 'Tenex' pentru a face 'Twenex'”. (Acest nume joacă cu cuvântul „twenty”, adică „douăzeci”).
Computerul pe care rula Twenex/TOPS-20 a fost numit ironic „Oz”. Motivul este că DECSYSTEM 20 necesita o mică mașină PDP-11 pentru a funcționa terminalul. Un hacker, la prima vedere a conexiunii PDP-11 la acest computer, a comparat asta cu o prezentare grandioasă a Vrăjitorului din Oz. „Eu sunt marele și teribilul Oz!” a declarat el. „Numai să nu vă uitați la micul și măruntul de care lucrez!”
În sistemul de operare al noului computer nu mai era nimic amuzant. Securitatea și controlul accesului erau integrate in Twenex la un nivel de bază, iar utilitarele și aplicațiile sale au fost, de asemenea, dezvoltate cu un accent pe securitate. Glumele indulgente despre sistemele de securitate ale Laboratorului s-au transformat într-o bătălie serioasă pentru controlul computerului. Administratorii susțineau că fără sistemele de securitate, Twenex va fi instabil și vulnerabil la erori. Hackerii afirmau că stabilitatea și fiabilitatea pot fi obținute mult mai rapid prin editarea codului sursă al sistemului. Dar erau deja atât de puțini în Laboratoriu încât nimeni nu îi asculta.
Hackerii au crezut că ar putea ocoli restricțiile de securitate, acordând tuturor utilizatorilor »privilegii de control« – drepturi sporite care le permit să facă multe din lucrurile interzise utilizatorilor obişnuiţi. Dar în acest caz, orice utilizator putea lua »privilegiile de control« de la oricare alt utilizator, iar acesta nu putea să le recupereze din cauza lipsei drepturilor de acces. Așadar, hackerii au decis să obțină controlul asupra sistemului, luând »privilegiile de control« de la toți, cu excepția lor.
Unele încercări de spargere a parolelor și de lansare a unui debugger în timpul încărcării sistemului nu au avut rezultate. După ce au eșuat în »lovitura de stat«, Stallman a trimis un mesaj tuturor angajaților Laboratorului.
„Până acum, aristocrații au fost învinși”, scria el, „dar acum ei au preluat conducerea, iar încercarea de a lua puterea nu a avut succes”. Richard a semnat mesajul: „Radio Free OZ”, astfel încât nimeni să nu-și dea seama că el a fost autorul. O mască excelentă, având în vedere că toată lumea din Laboratoriu știa despre atitudinea lui Stallman față de sistemele de securitate și batjocurile sale asupra parolelor. Totuși, repulsia lui Richard față de parole era cunoscută de mult dincolo de MIT. Pe computerele Laboratorului, sub contul lui Stallman, se conectau aproape toate sistemele ARPAnet – precursorul internetului din acele vremuri. Un astfel de „tourist” a fost, de exemplu, Don Hopkins, programator din California, care a aflat prin intermediul zvonurilor hackeresti că se poate accesa renumita sistem ITS de la MIT introducând pur și simplu cele trei litere ale inițialelor lui Stallman ca nume de utilizator și parolă.
„Sunt infinit recunoscător MIT pentru că eu și mulți alții am putut folosi liber computerele lor”, spune Hopkins, „acest lucru a însemnat foarte mult pentru noi toți.”
Această politică „turistică” a durat mulți ani, cât timp a existat sistemul ITS, iar conducerea MIT a privit-o cu indiferență. Dar când mașina Oz a devenit principala legătură între Laboratorie și ARPAnet, totul s-a schimbat. Stallman continua să ofere acces la contul său cu login și parolă cunoscute, dar administratorii i-au cerut să schimbe parola și să nu o mai ofere nimănui. Richard, invocând etica sa, a refuzat să lucreze pe mașina Oz.
„Când parolele au început să apară pe computerele Laboratoriei AI, am decis să îmi urmez convingerea că parolele nu ar trebui să existe”, spunea mai târziu Stallman, „iar cum consideram că computerele nu au nevoie de sisteme de securitate, nu trebuia să sprijini aceste măsuri pentru implementarea lor.”
Refuzul lui Stallman de a se supune marii și teribilei mașini Oz arăta că între hackerii și conducerea Laboratoriei exista o tensiune crescândă. Dar această tensiune era doar o umbră palidă a conflictului care se desfășura în interiorul colectivului hacker, care s-a împărțit în două tabere: LMI (Lisp Machines Incorporated) și Symbolics.
Symbolics a primit multe investiții din exterior, atrăgând mulți hackeri din Laboratorie. Aceștia lucrau la sistemul mașinii Lisp atât la MIT, cât și în afara lui. Până la sfârșitul anului 1980, compania angajase 14 angajați din Laboratorie ca și consultanți pentru a dezvolta propria versiune a mașinii Lisp. Ceilalți hackeri, cu excepția lui Stallman, lucrau pentru LMI. Richard a decis să nu se alinieze niciuneia dintre tabere și, așa cum era obiceiul său, a rămas singur.
La început, hackerii angajați de Symbolics continuau să lucreze și la MIT, îmbunătățind sistemul mașinii Lisp. Ei, la fel ca și hackerii de la LMI, utilizau pentru codul lor licența MIT. Aceasta cerea ca modificările să fie returnate la MIT, dar nu obliga MIT să le distribuie. Cu toate acestea, în cursul anului 1981, hackerii au respectat un acord de gentlemen, prin care toate îmbunătățirile lor erau integrate în mașina Lisp de la MIT și distribuite tuturor utilizatorilor acestor mașini. Această situație mai păstra o oarecare stabilitate în colectivul hacker.
Dar pe 16 martie 1982, - Stallman își amintește bine această zi, deoarece a fost ziua lui de naștere - acordul de gentlemen a luat sfârșit. Acesta a avut loc din voința conducerii Symbolics, care dorea astfel să sugrume competitorul său - compania LMI, la care lucrau mult mai puțini hackeri. Conducătorii Symbolics au raționat astfel: dacă LMI are cu mult mai puțini angajați, atunci se dovedește că munca comună asupra mașinii Lisp îi este avantajoasă în mod special, iar dacă se oprește acest schimb de lucrări, LMI va fi distrusă. În acest scop, au decis să abuzeze de litera licenței. În loc să aducă modificări la versiunea MTI a sistemului, pe care LMI putea să o folosească, au început să livreze versiunea Symbolics a sistemului la MTI, pe care o puteau modifica după bunul plac. Rezulta că orice testare și editare a codului mașinii Lisp la MTI mergea doar în favoarea Symbolics.
Ca persoană responsabilă pentru întreținerea mașinii Lisp de la laborator (primele câteva luni - cu ajutorul lui Greenblatt), Stallman a fost furios. Hackerii de la Symbolics au furnizat cod cu sute de modificări care cauzau erori. Considerând aceasta ca un ultimatum, Stallman a deconectat linia de comunicație a Laboratorului cu Symbolics, a jurat că nu va mai lucra niciodată pe mașinile acestei companii și a anunțat că se va alătura lucrării asupra mașinii Lisp de la MTI pentru a susține LMI. „În ochii mei, Laboratorul era o țară neutră, precum Belgia în timpul celui de-al Doilea Război Mondial”, povestește Stallman, „iar dacă Germania invadează Belgia, aceasta declară război Germaniei și se alătură Britaniei și Franței.”
Când liderii Symbolics au observat că ultimele lor inovații apăreau și în versiunea MIT a mașinii Lisp, s-au înfuriat și au început să-i acuze pe hackerii Laboratorului de furt de cod. Dar Stallman nu a încălcat deloc legea dreptului de autor. El a studiat codul oferit de Symbolics și a făcut presupuneri logice despre viitoarele corecturi și îmbunătățiri, pe care le-a implementat din nou pentru mașina Lisp a MIT. Liderii Symbolics nu au crezut asta. Au instalat un program de spionaj pe terminalul lui Stallman, care înregistra tot ce făcea Richard. Astfel, sperau să adune dovezi pentru furtul de cod și să le arate administrației MIT, dar chiar și la începutul anului 1983, nu aveau aproape nimic de arătat. Tot ce aveau era o duzină de locuri în care codul celor două sisteme părea puțin similar.
Când administratorii Laboratorului au arătat dovezile Symbolics lui Stallman, el le-a contestat, spunând că codul era într-adevăr similar, dar nu identic. Și a întors logica conducerii Symbolics împotriva lor: dacă aceste fragmente de cod similar sunt tot ce au reușit să găsească, atunci asta dovedește doar că Stallman, de fapt, nu a furat cod. A fost suficient ca managerii Laboratoriei să aprobe munca lui Stallman, iar el a continuat-o până la sfârșitul anului 1983.
Dar Stallman și-a schimbat abordarea. Pentru a se proteja pe el și proiectul de revendicările Symbolics, a încetat să mai privească codurile lor sursă. A început să scrie cod exclusiv bazându-se pe documentație. Cele mai mari inovații nu le aștepta de la Symbolics, ci le implementa el însuși, adăugând ulterior interfețe pentru compatibilitate cu implementarea Symbolics, bazându-se pe documentația lor. De asemenea, citea lista de modificări din codul Symbolics pentru a înțelege ce erori corectau și le corecta aceste erori pe cont propriu, în alte moduri.
Cele întâmplate i-au întărit lui Stallman determinarea. Creând echivalente ale noilor funcții de la Symbolics, a determinat angajații Laboratorului să susțină versiunea MIT a mașinii Lisp, ceea ce a asigurat un nivel bun de testare și identificare a erorilor. Iar versiunea MIT era complet deschisă pentru LMI. „Voiam să pedepsesc Symbolics cu orice preț,” spune Stallman. Această afirmație arată nu doar că caracterul lui Richard este departe de pacifism, ci și că conflictul din jurul mașinii Lisp l-a afectat profund.
Determinația disperată a lui Stallman poate fi înțeleasă dacă luăm în considerare cum apărea situația pentru el – ca o "distrugere" a "casei" sale, adică a comunității hackerilor și a culturii Laboratorului de Inteligență Artificială. Ulterior, Levy a luat un interviu lui Stallman pe email, iar Richard acolo se compara cu Ishi – ultima persoană cunoscută din tribul indian Yahi, care a fost exterminat în războaiele indiene din anii 1860-1870. Această analogie conferă evenimentelor un caracter epic, aproape mitologic. Hackerii care lucrau la Symbolics vedeau lucrurile într-o lumină oarecum diferită: compania lor nu distrugea și nu extermina, ci doar făcea ceea ce trebuia făcut de multă vreme. Prin mutarea mașinii Lisp în sfera comercială, Symbolics a schimbat abordarea proiectării software-ului – în loc să fie tailor-made după tiparele rigide ale hackerilor, s-au folosit norme mai blânde și mai umane, conforme cu cele ale managerilor. Și pentru ei, Stallman nu era văzut ca un adversar lupte pentru cauză dreaptă, ci ca un purtător de gândire învechită.
Conflictul personal a adăugat și mai mult combustibil focului. Chiar înainte de apariția Symbolics, mulți hackeri se fereau de Stallman, iar acum situația s-a agravat considerabil. „Nu mai eram invitat la ieșirile în Chinatown”, își amintește Richard, „Greinblatt a dat startul obiceiului: când vrei să iei prânzul, îi ocolești pe colegi și îi inviți să vină cu tine, sau le trimiteai un mesaj. Pe undeva, în 1980-1981, nu mai eram invitat. Nu numai că nu mă invitau, dar, așa cum mi-a mărturisit ulterior o persoană, făceau presiuni asupra altora ca nimeni să nu-mi spună despre planurile de prânz.”
Sursa: linux.org.ru

