Liber ca în Libertatea în limba rusă: Capitolul 7. Dilema moralității absolute


Liber ca în Libertatea în limba rusă: Capitolul 7. Dilema moralității absolute

Liber ca în libertate în rusă: capitolul 1. Imprimanta fatală


Free as in Freedom in Russian: Chapter 2. 2001: A Hacker Odyssey


Liber ca în Libertatea în rusă: Capitolul 3. Portretul unui hacker în tinerețe


Liber ca în Libertatea în rusă: capitolul 4. Dezamăgiți-l pe Dumnezeu


Free as in Freedom in Russian: Capitolul 5. Un filtru de libertate


Liber ca în Libertatea în limba rusă: Capitolul 6. Comuna Emacs

Dilema moralității absolute

La douăsprezece și jumătate în noaptea de 27 septembrie 1983, un mesaj neobișnuit a apărut în grupul Usenet net.unix-wizards semnat rms@mit-oz. Titlul mesajului a fost scurt și extrem de atrăgător: „O nouă implementare a UNIX”. Dar în loc de o nouă versiune gata făcută de Unix, cititorul a găsit un apel:

În Ziua Recunoștinței, încep să scriu un nou sistem de operare complet compatibil cu Unix numit GNU (GNU's Not Unix). O voi distribui gratuit tuturor. Am mare nevoie de timpul tău, bani, cod, echipament - orice ajutor.

Pentru un dezvoltator Unix cu experiență, mesajul era un amestec de idealism și ego. Autorul nu s-a angajat doar să recreeze de la zero un întreg sistem de operare, foarte avansat și puternic, ci și 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, precum și „o serie de alte lucruri”. De asemenea, au promis caracteristici extrem de atractive care nu erau disponibile în sistemele Unix existente: o interfață grafică în limbajul de programare Lisp, un sistem de fișiere tolerant la erori, protocoale de rețea bazate pe arhitectura de rețea MIT.

„GNU va putea rula programe Unix, dar nu va fi identic cu sistemul Unix”, a scris autorul, „Vom face toate îmbunătățirile necesare care s-au maturizat de-a lungul anilor de muncă pe diferite sisteme de operare.”

Anticipând o reacție sceptică la mesajul său, autorul l-a completat cu o scurtă digresiune autobiografică sub titlul: „Cine sunt eu?”:

Sunt Richard Stallman, creatorul editorului original EMACS, una dintre clonele pe care probabil le-ați întâlnit. Lucrez la MIT AI Lab. Am o vastă experiență în dezvoltarea de compilatoare, editori, depanatoare, interprete de comenzi, sisteme de operare ITS și Lisp Machine. S-a implementat suport de ecran independent de terminal în ITS, precum și un sistem de fișiere tolerant la erori și două sisteme de ferestre pentru mașinile Lisp.

S-a întâmplat că proiectul complicat al lui Stallman nu a început în Ziua Recunoștinței, așa cum am promis. Abia în ianuarie 1984, Richard s-a aruncat cu capul cap în dezvoltarea de software în stil Unix. Din perspectiva unui arhitect de sisteme ITS, a fost ca și cum ai trece de la construirea de palate maure la construirea de centre comerciale suburbane. Cu toate acestea, dezvoltarea sistemului Unix a oferit și avantaje. ITS, cu toată puterea sa, a avut un punct slab - a funcționat doar pe un computer PDP-10 din DEC. La începutul anilor 80, Laboratorul a abandonat PDP-10, iar ITS, pe care hackerii îl comparau cu un oraș aglomerat, a devenit un oraș fantomă. Unix, pe de altă parte, a fost proiectat inițial cu un ochi către portabilitatea de la o arhitectură de computer la alta, astfel încât astfel de probleme nu l-au amenințat. Dezvoltat de cercetători juniori de la AT&T, Unix a strecurat sub radarul corporativ și a găsit o casă liniștită în lumea non-profit a think tank-urilor. Cu mai puține resurse decât frații lor hackeri de la MIT, dezvoltatorii Unix și-au adaptat sistemul pentru a rula pe o grădină zoologică de hardware disparate. În principal pe PDP-16 pe 11 biți, pe care hackerii Lab l-au considerat nepotrivit pentru sarcini serioase, dar și pe mainframe-uri pe 32 de biți precum 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. Omniprezentul Unix s-a stabilit și el pe aceste stații de lucru.

Portabilitatea Unix a fost asigurată de un strat suplimentar de abstractizare între aplicații și hardware. În loc să scrie programe în codul de mașină al unui anumit computer, așa cum au făcut hackerii Lab când au dezvoltat programe pentru ITS pe PDP-10, dezvoltatorii Unix au folosit limbajul de programare C de nivel înalt, care nu era legat de o anumită platformă hardware. În același timp, dezvoltatorii s-au concentrat pe standardizarea interfețelor prin care părți ale sistemului de operare interacționează între ele. Rezultatul a fost un sistem în care orice piesă putea fi reproiectată fără a afecta toate celelalte părți și fără a le perturba funcționarea. Și pentru a transfera un sistem de la o arhitectură hardware la alta, a fost, de asemenea, suficient să refacem doar o parte a sistemului și nu să o rescrieți în întregime. Experții au apreciat acest nivel fantastic de flexibilitate și comoditate, așa că Unix s-a răspândit rapid în lumea computerelor.

Stallman a decis să creeze sistemul GNU din cauza dispariției ITS, creația preferată a hackerilor AI Lab. Moartea ITS a fost o lovitură pentru ei, inclusiv pentru Richard. Dacă povestea cu imprimanta laser Xerox i-a deschis ochii asupra nedreptății licențelor proprietare, atunci moartea ITS l-a împins de la aversiunea pentru software-ul închis la o opoziție activă față de acesta.

Motivele morții ITS, ca și codul său, merg mult în trecut. Până în 1980, cei mai mulți hackeri ai laboratorului lucrau deja la o mașină Lisp și la un sistem de operare pentru aceasta.

Lisp este un limbaj de programare elegant, perfect pentru a lucra cu date a căror structură este necunoscută în prealabil. A fost creat de pionierul cercetării în domeniul inteligenței artificiale și creatorul termenului de „inteligență artificială” John McCarthy, care a lucrat la MIT în a doua jumătate a anilor '50. Numele limbii este o abreviere pentru „List Processing” sau „list processing”. După ce McCarthy a părăsit MIT pentru Stanford, hackerii Laboratorului au schimbat oarecum Lisp, creându-și dialectul local MACLISP, unde primele 3 litere au reprezentat proiectul MAC, datorită căruia, de fapt, a apărut Laboratorul AI de la MIT. Sub conducerea arhitectului de sistem Richard Greenblatt, hackerii laboratorului au dezvoltat o mașină Lisp - un computer special pentru executarea programelor în Lisp, precum și un sistem de operare pentru acest computer -, de asemenea, scris în Lisp.

La începutul anilor 80, grupuri de hackeri concurente au fondat două companii care produc și vindeau aparate Lisp. Compania lui Greenblatt se numea Lisp Machines Incorporated sau pur și simplu LMI. El spera să se descurce fără investiții externe și să creeze o „companie de hackeri”. Dar majoritatea hackerilor s-au alăturat Symbolics, un startup comercial tipic. În 1982, au părăsit complet MIT.

Cei care au mai rămas puteau fi numărați pe degetele unei mâini, așa că programele și mașinile au durat din ce în ce mai mult să fie reparate sau nu au fost reparate deloc. Și cel mai rău dintre toate, potrivit lui Stallman, „schimbările demografice” au început la Laborator. Hackerii, care anterior fuseseră în minoritate, aproape au dispărut, lăsând Laboratorul la dispoziția deplină a profesorilor și studenților, a căror atitudine față de PDP-10 era deschis ostilă.

În 1982, Laboratorul AI a primit un înlocuitor pentru PDP-12, vechi de 10 ani - DECSYSTEM 20. Aplicațiile scrise pentru PDP-10 au rulat fără probleme pe noul computer, deoarece DECSYSTEM 20 era în esență un PDP actualizat. -10, dar cel vechi sistemul de operare nu era deloc potrivit - ITS trebuia portat pe un computer nou, ceea ce înseamnă rescris aproape complet. Și asta într-un moment în care aproape toți hackerii care ar putea face asta au părăsit Laboratorul. Așa că sistemul de operare comercial Twenex a preluat rapid noul computer. Puținii hackeri care au rămas la MIT nu au putut decât să accepte asta.

„Fără hackeri care să creeze și să întrețină sistemul de operare, suntem condamnați”, au spus membrii facultății și studenții „Avem nevoie de un sistem comercial susținut de o companie, astfel încât să poată rezolva problemele cu acest sistem în sine”. Stallman își amintește că acest argument s-a dovedit a fi o greșeală cruntă, dar la momentul respectiv a sunat convingător.

La început, hackerii au văzut Twenex ca o altă încarnare a unei corporatocrații autoritare pe care doreau să o distrugă. Chiar și numele reflecta ostilitatea hackerilor - de fapt, sistemul a fost numit TOPS-20, indicând continuitatea cu TOPS-10, tot un sistem comercial DEC pentru PDP-10. Dar din punct de vedere arhitectural, TOPS-20 nu avea nimic în comun cu TOPS-10. A fost realizat pe baza sistemului Tenex, pe care Bolt, Beranek și Newman l-au dezvoltat pentru PDP-10. . Stallman a început să numească sistemul „Twenex” doar pentru a evita să-l numească TOPS-20. „Sistemul era departe de soluții de vârf, așa că nu puteam îndrăzni să-l numesc după numele său oficial”, își amintește Stallman, „deci am inserat litera „w” în „Tenex” pentru a-l face „Twenex”. (Acest nume joacă pe cuvântul „douăzeci”, adică „douăzeci”)

Computerul care rula Twenex/TOPS-20 a fost numit în mod ironic „Oz”. Faptul este că DECSYSTEM 20 a necesitat o mașină mică PDP-11 pentru a opera terminalul. Un hacker, când a văzut prima dată PDP-11 conectat la acest computer, l-a comparat cu o performanță pretențioasă a Vrăjitorului din Oz. „Eu sunt marele și teribilul Oz! – a recitat el. „Nu te uita la puii mici la care lucrez.”

Dar nu era nimic amuzant în sistemul de operare al noului computer. Securitatea și controlul accesului au fost integrate în Twenex la un nivel de bază, iar utilitățile aplicației sale au fost, de asemenea, proiectate având în vedere securitatea. Glumele condescendente despre sistemele de securitate ale laboratorului s-au transformat într-o luptă serioasă pentru controlul computerului. Administratorii au susținut că fără sisteme de securitate, Twenex ar fi instabil și predispus la erori. Hackerii au asigurat 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 Laborator încât nimeni nu i-a ascultat.

Hackerii au crezut că ar putea ocoli restricțiile de securitate acordând tuturor utilizatorilor „privilegii de conducere” - drepturi ridicate care le oferă posibilitatea de a face multe lucruri pe care utilizatorului obișnuit îi este interzis să le facă. Dar, în acest caz, orice utilizator ar putea să-și înlăture „privilegiile de conducere” oricărui alt utilizator și nu și le-ar putea returna din cauza lipsei drepturilor de acces. Prin urmare, hackerii au decis să obțină controlul asupra sistemului luând „privilegiile de conducere” tuturor, cu excepția lor.

Ghicirea parolelor și lansarea depanatorului în timpul pornirii sistemului nu au făcut nimic. Eșuând în "lovitură de stat„, Stallman a transmis un mesaj tuturor angajaților Laboratorului.

„Până acum aristocrații au fost învinși”, a scris el, „dar acum au câștigat puterea, iar încercarea de a prelua puterea a eșuat”. Richard a semnat mesajul: „Radio Free OZ” pentru ca nimeni să nu ghicească că era el. O deghizare excelentă, având în vedere că toată lumea din Laborator știa de atitudinea lui Stallman față de sistemele de securitate și de batjocura lui asupra parolelor. Cu toate acestea, aversiunea lui Richard față de parole era cunoscută cu mult dincolo de MIT. Aproape întregul ARPAnet, prototipul internetului acelor vremuri, a accesat computerele Laboratorului sub contul lui Stallman. Un astfel de „turist” a fost, de exemplu, Don Hopkins, un programator din California, care prin gura în gură a hackerului a aflat că poți intra în faimosul sistem ITS de la MIT pur și simplu introducând 3 litere din inițialele lui Stallman ca login și parolă.

„Sunt pentru totdeauna recunoscător că MIT mi-a dat mie și atâtor alți oameni libertatea de a-și folosi computerele”, spune Hopkins, „a însemnat foarte mult pentru noi toți”.

Această politică „turistică” a durat mulți ani cât timp a funcționat sistemul ITS, iar conducerea MIT a privit-o cu condescendență. . Dar când mașina lui Oz a devenit puntea principală de la Laborator la ARPAnet, totul s-a schimbat. Stallman a oferit în continuare acces la contul său folosind o autentificare și o parolă cunoscute, dar administratorii i-au cerut să schimbe parola și să nu o dea nimănui. Richard, invocându-și etica, a refuzat deloc să lucreze la mașina lui Oz.

„Când parolele au început să apară pe computerele AI Lab, am decis să-mi urmez convingerea că nu ar trebui să existe parole”, a spus mai târziu Stallman, „și din moment ce am crezut că computerele nu au nevoie de sisteme de securitate, nu ar fi trebuit să susțin aceste măsuri pentru implementarea acestora. lor. "

Refuzul lui Stallman de a îngenunchea în fața grozavei și groaznice mașini Oz a arătat că tensiunile creșteau între hackeri și superiorii Laboratorului. Dar această tensiune a fost doar o umbră palidă a conflictului care a izbucnit în interiorul comunității hackerilor, care a fost împărțită în 2 tabere: LMI (Lisp Machines Incorporated) și Symbolics.

Symbolics a primit o mulțime de investiții din exterior, ceea ce a atras mulți dintre hackerii laboratorului. Au lucrat la sistemul de mașini Lisp atât la MIT, cât și în afara acestuia. Până la sfârșitul anului 1980, compania a angajat 14 angajați ai laboratorului ca consultanți pentru a dezvolta propria versiune a mașinii Lisp. Ceilalți hackeri, fără să ia în considerare Stallman, au lucrat pentru LMI. Richard a decis să nu ia partid și, din obișnuință, a fost singur.

La început, hackerii angajați de Symbolics au continuat să lucreze la MIT, îmbunătățind sistemul mașinii Lisp. Ei, la fel ca hackerii LMI, au folosit licența MIT pentru codul lor. A cerut ca modificările să fie returnate la MIT, dar nu a cerut ca MIT să distribuie modificările. Cu toate acestea, în cursul anului 1981, hackerii au aderat la un acord de gentleman în care toate îmbunătățirile lor au fost scrise în mașina Lisp a MIT și distribuite tuturor utilizatorilor acelor mașini. Această stare de lucruri a păstrat încă o anumită stabilitate a colectivului de hackeri.

Dar pe 16 martie 1982 - Stallman își amintește bine această zi pentru că era ziua lui - înțelegerea domnului a luat sfârșit. Acest lucru s-a întâmplat la ordinul conducerii Symbolics, ei au vrut astfel să-și sugrume concurentul, compania LMI, care avea mult mai puțini hackeri care lucrează pentru ea. Liderii Symbolics au raționat astfel: dacă LMI are de multe ori mai puțini angajați, atunci se dovedește că munca generală pe mașina Lisp îi este benefică, iar dacă acest schimb de evoluții este oprit, atunci LMI va fi distrus. În acest scop, au decis să abuzeze de litera licenței. În loc să facă modificări la versiunea MIT a sistemului, pe care LMI o putea folosi, au început să furnizeze MIT versiunea Symbolics a sistemului, pe care o puteau edita după cum doreau. S-a dovedit că orice testare și editare a codului de mașină Lisp la MIT a mers doar în favoarea Symbolics.

Ca om responsabil cu întreținerea mașinii Lisp din laborator (cu ajutorul lui Greenblatt în primele luni), Stallman era furios. Hackerii simbolici au furnizat codului sute de modificări care au cauzat erori. Considerând acest lucru un ultimatum, Stallman a întrerupt comunicările Laboratorului cu Symbolics, a promis că nu va mai lucra niciodată la mașinile acelei companii și a anunțat că se va alătura lucrării la mașina MIT Lisp pentru a sprijini LMI. „În ochii mei, Laboratorul era o țară neutră, ca Belgia în al Doilea Război Mondial”, spune Stallman, „și dacă Germania a invadat Belgia, Belgia a declarat război Germaniei și s-a alăturat Marii Britanii și Franței”.

Când directorii Symbolics au observat că ultimele lor inovații încă mai apăreau pe 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. A studiat codul oferit de Symbolics și a făcut presupuneri logice despre remedieri și îmbunătățiri viitoare, pe care a început să le implementeze de la zero pentru mașina Lisp a MIT. Directorii din domeniul simbolicii nu au crezut asta. Au instalat programe spion pe terminalul lui Stallman, care a înregistrat tot ce a făcut Richard. Așa că sperau să adune dovezi ale furtului de cod și să le arate administrației MIT, dar chiar și până la începutul anului 1983 nu era aproape nimic de arătat. Nu aveau decât vreo duzină de locuri în care codul celor două sisteme semăna puțin.

Când administratorii laboratorului i-au arătat lui Stallman dovezile Symbolics, acesta a respins-o, spunând că codul era similar, dar nu același. Și a întors logica managementului Symbolics împotriva lui: dacă aceste grăunte de cod similar sunt tot ceea ce au putut să dezgroape asupra lui, atunci asta dovedește doar că Stallman nu a furat codul de fapt. Acest lucru a fost suficient pentru ca managerii Laboratorului 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 sine și proiectul cât mai mult posibil de afirmațiile Symbolics, a încetat complet să se uite la codurile lor sursă. A început să scrie cod exclusiv bazat pe documentație. Richard nu se aștepta la cele mai mari inovații de la Symbolics, ci le-a implementat el însuși, apoi a adăugat doar interfețe pentru compatibilitate cu implementarea Symbolics, bazându-se pe documentația acestora. De asemenea, a citit jurnalul de modificare a codului Symbolics pentru a vedea ce erori remediau și le-a remediat el însuși în alte moduri.

Ceea ce sa întâmplat a întărit hotărârea lui Stallman. După ce a creat analogi ale noilor funcții Symbolics, el a convins personalul Laboratorului să folosească versiunea MIT a mașinii Lisp, care a asigurat un nivel bun de testare și de detectare a erorilor. Iar versiunea MIT a fost complet deschisă pentru LMI. „Am vrut să pedepsesc Symbolics cu orice preț”, spune Stallman. Această afirmație arată nu numai că personajul lui Richard este departe de a fi pacifist, ci și că conflictul asupra mașinii Lisp l-a atins rapid.

Determinarea disperată a lui Stallman poate fi înțeleasă atunci când luați în considerare cum arăta pentru el - „distrugerea” „căminului” lui, adică comunitatea hackerilor și cultura Laboratorului AI. Ulterior, Levy l-a intervievat pe Stallman prin e-mail, iar Richard s-a comparat cu Ishi, ultimul membru cunoscut al indienilor Yahi, care a fost exterminat în războaiele indiene din anii 1860 și 1870. Această analogie conferă evenimentelor descrise o amploare epică, aproape mitologică. Hackerii care au lucrat pentru Symbolics au văzut acest lucru într-o lumină puțin diferită: compania lor nu a distrus sau exterminat, ci a făcut doar ceea ce ar fi trebuit făcut cu mult timp în urmă. După ce a mutat mașina Lisp în domeniul comercial, Symbolics și-a schimbat abordarea în ceea ce privește proiectarea programelor - în loc să le decupeze după tiparele dureroase ale hackerilor, au început să folosească standarde mai blânde și mai umane ale managerilor. Și ei îl priveau pe Stallman nu ca pe un luptător advers în apărarea unei cauze drepte, ci ca pe un purtător de gândire învechită.

Cearta personală a adăugat combustibil focului. Chiar înainte de apariția Symbolics, mulți hackeri l-au evitat pe Stallman, iar acum situația s-a înrăutățit de multe ori. „Nu mai am fost invitat să merg în excursii în Chinatown”, își amintește Richard, „Greenblatt a început obiceiul: când vrei să iei prânzul, mergi în jurul colegilor și îi inviți cu tine sau le trimiți un mesaj. Undeva prin 1980-1981 au încetat să mă mai sune. Nu numai că nu m-au invitat, dar, după cum mi-a recunoscut ulterior o persoană, au făcut presiuni asupra celorlalți pentru ca nimeni să nu-mi spună despre trenurile planificate pentru prânz.”

Sursa: linux.org.ru

Adauga un comentariu