Slobodní ako v Slobode v ruštine: Kapitola 7. Dilema absolútnej morálky


Slobodní ako v Slobode v ruštine: Kapitola 7. Dilema absolútnej morálky

Zadarmo ako vo Freedom in Russian: Chapter 1. The Fatal Printer


Zadarmo ako vo Freedom in Russian: Chapter 2. 2001: A Hacker Odyssey


Zadarmo ako v Slobode v ruštine: Kapitola 3. Portrét hackera v mladosti


Zadarmo ako v Slobode v ruštine: Kapitola 4. Odhaľte Boha


Voľný ako v Slobode v ruštine: Kapitola 5. Pramienok slobody


Zadarmo ako v Freedom in Russian: Kapitola 6. Emacs Commune

Dilema absolútnej morálky

O pol dvanástej v noci 27. septembra 1983 sa v skupine Usenet net.unix-wizards objavila nezvyčajná správa s podpisom rms@mit-oz. Názov správy bol krátky a mimoriadne lákavý: „Nová implementácia UNIX“. Ale namiesto nejakej pripravenej novej verzie Unixu čitateľ našiel volanie:

Na Deň vďakyvzdania začínam písať nový, plne Unix kompatibilný operačný systém s názvom GNU (GNU's Not Unix). Budem ho voľne distribuovať všetkým. Naozaj potrebujem váš čas, peniaze, kód, vybavenie – akúkoľvek pomoc.

Pre skúseného unixového vývojára bola správa zmesou idealizmu a ega. Autor sa nielen zaviazal znovu vytvoriť celý operačný systém, veľmi pokročilý a výkonný, ale aj vylepšiť. Systém GNU mal obsahovať všetky potrebné komponenty, ako je textový editor, príkazový shell, kompilátor, ako aj „množstvo iných vecí“. Sľubovali aj mimoriadne atraktívne funkcie, ktoré neboli dostupné v existujúcich unixových systémoch: grafické rozhranie v programovacom jazyku Lisp, súborový systém odolný voči chybám, sieťové protokoly založené na sieťovej architektúre MIT.

„GNU bude môcť spúšťať unixové programy, ale nebude identická so systémom Unix,“ napísal autor, „urobíme všetky potrebné vylepšenia, ktoré dozreli v priebehu rokov práce na rôznych operačných systémoch.“

Autor očakávajúc skeptickú reakciu na jeho posolstvo doplnil ho krátkou autobiografickou odbočkou pod nadpisom: „Kto som?“:

Som Richard Stallman, tvorca pôvodného editora EMACS, jedného z klonov, s ktorým ste sa už pravdepodobne stretli. Pracujem v laboratóriu MIT AI Lab. Mám bohaté skúsenosti s vývojom kompilátorov, editorov, debuggerov, interpreterov príkazov, operačných systémov ITS a Lisp Machine. Implementovaná podpora obrazovky nezávislej od terminálu v ITS, ako aj súborový systém odolný voči chybám a dva okenné systémy pre stroje Lisp.

Stalo sa, že Stallmanov zložitý projekt nezačal na Deň vďakyvzdania, ako bolo sľúbené. Až v januári 1984 sa Richard bezhlavo vrhol do vývoja softvéru v štýle Unix. Z pohľadu architekta systémov ITS to bolo ako prejsť od budovania maurských palácov k budovaniu predmestských nákupných centier. Vývoj unixového systému však ponúkal aj výhody. ITS mal pri všetkej svojej sile slabú stránku – fungoval iba na počítači PDP-10 od DEC. Začiatkom osemdesiatych rokov laboratórium opustilo PDP-80 a z ITS, ktoré hackeri prirovnávali k rušnému mestu, sa stalo mesto duchov. Na druhej strane Unix bol pôvodne navrhnutý s ohľadom na prenosnosť z jednej počítačovej architektúry do druhej, takže mu takéto problémy nehrozili. Unix, vyvinutý mladými výskumníkmi z AT&T, skĺzol pod korporátny radar a našiel tichý domov v neziskovom svete think-tankov. S menšími zdrojmi ako ich hackerskí bratia na MIT, vývojári Unixu prispôsobili svoj systém tak, aby bežal na zoo rôznorodého hardvéru. Hlavne na 10-bitovom PDP-16, ktorý Lab hackeri považovali za nevhodný pre vážne úlohy, ale aj na 11-bitových sálových počítačoch ako VAX 32/11. Do roku 780 spoločnosti ako Sun Microsystems vytvorili relatívne kompaktné stolové počítače – „pracovné stanice“ – výkonovo porovnateľné so starým mainframom PDP-1983. Na týchto pracovných staniciach sa usadil aj všadeprítomný Unix.

Unixová prenosnosť bola zabezpečená ďalšou vrstvou abstrakcie medzi aplikáciami a hardvérom. Namiesto písania programov v strojovom kóde konkrétneho počítača, ako to robili hackeri Lab pri vývoji programov pre ITS na PDP-10, vývojári Unixu použili programovací jazyk C na vysokej úrovni, ktorý nebol viazaný na konkrétnu hardvérovú platformu. Vývojári sa zároveň zamerali na štandardizáciu rozhraní, cez ktoré časti operačného systému medzi sebou interagovali. Výsledkom bol systém, v ktorom bolo možné prepracovať akúkoľvek časť bez ovplyvnenia všetkých ostatných častí a bez narušenia ich prevádzky. A na prenesenie systému z jednej hardvérovej architektúry do druhej tiež stačilo prerobiť iba jednu časť systému a neprepisovať ju celú. Odborníci ocenili túto fantastickú úroveň flexibility a pohodlia, takže Unix sa rýchlo rozšíril do celého počítačového sveta.

Stallman sa rozhodol vytvoriť systém GNU kvôli zániku ITS, obľúbeného nápadu hackerov AI Lab. Smrť ITS bola pre nich ranou, vrátane Richarda. Ak mu príbeh s laserovou tlačiarňou Xerox otvoril oči v súvislosti s nespravodlivosťou proprietárnych licencií, potom ho smrť ITS posunula od averzie k uzavretému softvéru k aktívnemu odporu voči nemu.

Dôvody smrti ITS, rovnako ako jeho kód, siahajú ďaleko do minulosti. V roku 1980 už väčšina hackerov laboratória pracovala na stroji Lisp a operačnom systéme preň.

Lisp je elegantný programovací jazyk, ktorý je ideálny na prácu s údajmi, ktorých štruktúra je vopred neznáma. Vytvoril ho priekopník výskumu umelej inteligencie a tvorca pojmu „umelá inteligencia“ John McCarthy, ktorý pôsobil na MIT v druhej polovici 50-tych rokov. Názov jazyka je skratkou pre „Spracovanie zoznamu“ alebo „spracovanie zoznamu“. Potom, čo McCarthy odišiel z MIT do Stanfordu, hackeri laboratória trochu zmenili Lisp a vytvorili jeho miestny dialekt MACLISP, kde prvé 3 písmená znamenali projekt MAC, vďaka čomu sa v skutočnosti objavilo laboratórium AI ​​na MIT. Hackeri laboratória pod vedením systémového architekta Richarda Greenblatta vyvinuli stroj Lisp – špeciálny počítač na spúšťanie programov v jazyku Lisp, ako aj operačný systém pre tento počítač – samozrejme tiež napísaný v jazyku Lisp.

Začiatkom 80. rokov 1982. storočia založili konkurenčné skupiny hackerov dve spoločnosti vyrábajúce a predávajúce stroje Lisp. Greenblattova spoločnosť sa volala Lisp Machines Incorporated, alebo jednoducho LMI. Dúfal, že sa zaobíde bez vonkajších investícií a vytvorí čisto „hackerskú spoločnosť“. Väčšina hackerov sa však pripojila k Symbolics, typickému komerčnému startupu. V roku XNUMX úplne opustili MIT.

Tí, čo zostali, by sa dali spočítať na prstoch jednej ruky, takže oprava programov a strojov trvala dlhšie a dlhšie, prípadne neboli opravené vôbec. A čo je najhoršie, podľa Stallmana sa „demografické zmeny“ začali v laboratóriu. Hackeri, ktorí boli predtým v menšine, takmer zmizli a nechali laboratórium úplne k dispozícii učiteľom a študentom, ktorých postoj k PDP-10 bol otvorene nepriateľský.

V roku 1982 AI ​​Lab dostalo náhradu za svoj 12-ročný PDP-10 - DECSYSTEM 20. Aplikácie napísané pre PDP-10 bežali na novom počítači bez problémov, pretože DECSYSTEM 20 bol v podstate aktualizovaný PDP -10, ale ten starý operačný systém vôbec nevyhovoval - ITS bolo potrebné preniesť na nový počítač, čiže takmer celý prepísať. A to je v čase, keď takmer všetci hackeri, ktorí to mohli urobiť, opustili Laboratórium. Komerčný operačný systém Twenex teda rýchlo prevzal nový počítač. Tých pár hackerov, ktorí zostali na MIT, to mohlo len akceptovať.

„Bez hackerov, ktorí by vytvorili a spravovali operačný systém, sme odsúdení na zánik," povedali členovia fakulty a študenti. „Potrebujeme komerčný systém podporovaný nejakou spoločnosťou, aby mohol riešiť problémy s týmto systémom sám." Stallman pripomína, že tento argument sa ukázal ako krutý omyl, no v tom čase vyznel presvedčivo.

Hackeri spočiatku videli Twenex ako ďalšiu inkarnáciu autoritárskej korporatokracie, ktorú chceli zlomiť. Dokonca aj názov odrážal nepriateľstvo hackerov - v skutočnosti sa systém nazýval TOPS-20, čo naznačuje kontinuitu s TOPS-10, tiež komerčným systémom DEC pre PDP-10. Ale architektonicky nemal TOPS-20 nič spoločné s TOPS-10. Bol vyrobený na základe systému Tenex, ktorý Bolt, Beranek a Newman vyvinuli pre PDP-10. . Stallman začal nazývať systém „Twenex“, len aby ho nenazval TOPS-20. „Systém mal ďaleko od špičkových riešení, takže som sa nemohol odvážiť nazvať ho oficiálnym názvom,“ spomína Stallman, „tak som do „Tenex“ vložil písmeno „w“, aby bol „Twenex“. (Tento názov sa hrá na slovo „dvadsať“, t. j. „dvadsať“)

Počítač, na ktorom bežal Twenex/TOPS-20, sa ironicky nazýval „Oz“. Faktom je, že DECSYSTEM 20 vyžadoval na obsluhu terminálu malý stroj PDP-11. Jeden hacker, keď prvýkrát videl PDP-11 pripojený k tomuto počítaču, ho prirovnal k honosnému výkonu Čarodejníka z krajiny Oz. „Som veľký a hrozný Oz! – recitoval. "Len sa nepozeraj na malý poter, na ktorom pracujem."

V operačnom systéme nového počítača však nebolo nič vtipné. Zabezpečenie a riadenie prístupu boli zabudované do Twenexu na základnej úrovni a jeho aplikačné nástroje boli tiež navrhnuté s ohľadom na bezpečnosť. Zhovievavé vtipy o bezpečnostných systémoch laboratória sa zmenili na vážny boj o ovládanie počítača. Správcovia tvrdili, že bez bezpečnostných systémov by bol Twenex nestabilný a náchylný na chyby. Hackeri ubezpečili, že stabilitu a spoľahlivosť možno dosiahnuť oveľa rýchlejšie úpravou zdrojového kódu systému. Ale v Laboratóriu ich už bolo tak málo, že ich nikto nepočúval.

Hackeri si mysleli, že môžu obísť bezpečnostné obmedzenia tým, že všetkým používateľom poskytnú „privilégiá riadenia“ – zvýšené práva, ktoré im dávajú možnosť robiť veľa vecí, ktoré má bežný používateľ zakázané. V tomto prípade by však každý používateľ mohol odobrať „privilégiá riadenia“ akémukoľvek inému používateľovi a nemohol si ich vrátiť kvôli nedostatku prístupových práv. Preto sa hackeri rozhodli získať kontrolu nad systémom tým, že odobrali „privilégiá riadenia“ všetkým okrem seba.

Hádanie hesiel a spustenie debuggera počas zavádzania systému nič nerobilo. Po zlyhaní „štátny prevrat“, poslal Stallman správu všetkým zamestnancom Laboratória.

„Doteraz boli aristokrati porazení,“ napísal, „ale teraz získali prevahu a pokus o uchopenie moci zlyhal. Richard podpísal správu: “Rádio Free OZ”, aby nikto neuhádol, že je to on. Vynikajúce prestrojenie, ak vezmeme do úvahy, že každý v laboratóriu vedel o Stallmanovom postoji k bezpečnostným systémom a jeho výsmechu z hesiel. Richardova averzia voči heslám však bola známa ďaleko za hranicami MIT. Takmer celý ARPAnet, prototyp internetu tých čias, pristupoval k počítačom Laboratória pod Stallmanovým účtom. Takýmto „turistom“ bol napríklad Don Hopkins, programátor z Kalifornie, ktorý sa hackerským ústnym podaním dozvedel, že do slávneho ITS systému na MIT sa dá vstúpiť jednoducho zadaním 3 písmen Stallmanových iniciál ako loginu a hesla.

„Navždy som vďačný, že MIT dal mne a mnohým ďalším ľuďom slobodu používať ich počítače,“ hovorí Hopkins, „pre nás všetkých to veľa znamenalo.

Táto „turistická“ politika trvala dlhé roky, kým systém ITS žil, a vedenie MIT sa na to pozeralo povýšenecky. . Ale keď sa Ozov stroj stal hlavným mostom z Laboratória do ARPAnetu, všetko sa zmenilo. Stallman stále poskytoval prístup k svojmu účtu pomocou známeho prihlasovacieho mena a hesla, ale správcovia požadovali, aby si heslo zmenil a nedával ho nikomu inému. Richard s odvolaním sa na svoju etiku odmietol na Ozovom stroji vôbec pracovať.

„Keď sa heslá začali objavovať na počítačoch AI Lab, rozhodol som sa nasledovať svoje presvedčenie, že by nemali existovať žiadne heslá,“ povedal neskôr Stallman, „a keďže som veril, že počítače nepotrebujú bezpečnostné systémy, nemal som podporovať tieto opatrenia na implementáciu. ich."

Stallmanovo odmietnutie pokľaknúť pred veľkým a hrozným strojom Oz ukázalo, že napätie medzi hackermi a nadriadenými laboratória rastie. Ale toto napätie bolo len bledým tieňom konfliktu, ktorý zúril v samotnej hackerskej komunite, ktorá bola rozdelená na 2 tábory: LMI (Lisp Machines Incorporated) a Symbolics.

Symbolics dostal veľa investícií zvonku, čo prilákalo mnoho hackerov laboratória. Pracovali na strojovom systéme Lisp na MIT aj mimo neho. Do konca roku 1980 spoločnosť najala 14 zamestnancov laboratória ako konzultantov na vývoj vlastnej verzie stroja Lisp. Zvyšok hackerov, nepočítajúc Stallmana, pracoval pre LMI. Richard sa rozhodol nestavať sa na žiadnu stranu a zo zvyku bol na to sám.

Najprv hackeri najatí Symbolics pokračovali v práci na MIT a zlepšovali strojový systém Lisp. Tí, podobne ako LMI hackeri, použili pre svoj kód licenciu MIT. Vyžadovalo, aby sa zmeny vrátili MIT, ale nevyžadovalo, aby MIT tieto zmeny distribuovalo. Počas roku 1981 však hackeri dodržiavali džentlmenskú dohodu, v ktorej boli všetky ich vylepšenia zapísané do stroja Lisp na MIT a distribuované všetkým používateľom týchto strojov. Tento stav vecí ešte zachoval určitú stabilitu hackerského kolektívu.

Ale 16. marca 1982 – Stallman si tento deň dobre pamätá, pretože mal narodeniny – džentlmenská dohoda skončila. Stalo sa tak na príkaz vedenia Symbolics, ktoré tak chceli uškrtiť svojho konkurenta, spoločnosť LMI, pre ktorú pracovalo oveľa menej hackerov. Vedúci predstavitelia Symbolics uvažovali takto: ak má LMI mnohonásobne menej zamestnancov, potom sa ukazuje, že celková práca na stroji Lisp je pre ňu výhodná, a ak sa táto výmena vývoja zastaví, LMI bude zničená. Na tento účel sa rozhodli zneužiť list licencie. Namiesto vykonania zmien vo verzii systému MIT, ktorú by LMI mohla používať, začali MIT dodávať verziu systému Symbolics, ktorú mohli upravovať, ako chceli. Ukázalo sa, že akékoľvek testovanie a úprava strojového kódu Lisp na MIT išla len v prospech Symbolics.

Ako muž zodpovedný za údržbu laboratórneho prístroja Lisp (s Greenblattovou pomocou počas prvých mesiacov) bol Stallman zúrivý. Hackeri spoločnosti Symbolics poskytli kód so stovkami zmien, ktoré spôsobovali chyby. Stallman to považoval za ultimátum a prerušil komunikáciu laboratória so Symbolics, prisahal, že už nikdy nebude pracovať na strojoch tejto spoločnosti a oznámil, že sa pripojí k práci na stroji MIT Lisp na podporu LMI. "V mojich očiach bolo laboratórium neutrálnou krajinou ako Belgicko v druhej svetovej vojne," hovorí Stallman, "a ak Nemecko napadne Belgicko, Belgicko vyhlásilo vojnu Nemecku a pripojilo sa k Británii a Francúzsku."

Keď si manažéri Symbolics všimli, že ich najnovšie inovácie sa stále objavujú na MIT verzii stroja Lisp, nahnevali sa a začali obviňovať hackerov laboratória z krádeže kódu. Stallman ale autorský zákon vôbec neporušil. Študoval kód poskytnutý Symbolics a urobil logické odhady o budúcich opravách a vylepšeniach, ktoré začal od nuly implementovať pre stroj Lisp na MIT. Vedúci predstavitelia spoločnosti Symbolics tomu neverili. Na Stallmanov terminál nainštalovali spyware, ktorý zaznamenával všetko, čo Richard urobil. Dúfali teda, že zhromaždia dôkazy o krádeži kódu a ukážu ich správe MIT, no ani začiatkom roku 1983 nebolo takmer čo ukázať. Jediné, čo mali, bol asi tucet miest, kde kód týchto dvoch systémov vyzeral trochu podobne.

Keď správcovia laboratória ukázali Stallmanovi dôkazy Symbolics, ten ich vyvrátil a povedal, že kód je podobný, ale nie rovnaký. A logiku vedenia Symbolics obrátil proti nemu: ak sú tieto zrnká podobného kódu jediné, čo naňho mohli vyhrabať, potom to len dokazuje, že Stallman kód v skutočnosti neukradol. To stačilo na to, aby manažéri laboratória schválili Stallmanovu prácu a pokračoval v nej až do konca roku 1983. .

Stallman však zmenil svoj prístup. Aby seba a projekt čo najviac ochránil pred tvrdeniami Symbolics, úplne prestal pozerať na ich zdrojové kódy. Začal písať kód výlučne na základe dokumentácie. Richard neočakával od Symbolics najväčšie inovácie, ale sám ich implementoval, potom už len pridal rozhrania pre kompatibilitu s implementáciou Symbolics, pričom sa spoliehal na ich dokumentáciu. Prečítal si aj denník zmien kódu Symbolics, aby zistil, aké chyby opravujú, a sám tieto chyby opravil inými spôsobmi.

To, čo sa stalo, posilnilo Stallmanovo odhodlanie. Po vytvorení analógov nových funkcií Symbolics presvedčil pracovníkov laboratória, aby používali verziu MIT stroja Lisp, ktorá zaistila dobrú úroveň testovania a detekcie chýb. A verzia MIT bola úplne otvorená LMI. „Chcel som potrestať Symbolics za každú cenu,“ hovorí Stallman. Toto vyhlásenie ukazuje nielen to, že Richardova postava má ďaleko od pacifizmu, ale aj to, že konflikt o stroj Lisp sa ho dotkol.

Stallmanovo zúfalé odhodlanie možno pochopiť, keď si uvedomíte, ako to s ním vyzeralo – „zničenie“ jeho „domova“, teda hackerskej komunity a kultúry AI ​​Lab. Levy neskôr urobil rozhovor so Stallmanom prostredníctvom e-mailu a Richard sa porovnal s Ishim, posledným známym členom indiánskeho ľudu Yahi, ktorý bol vyhladený v indických vojnách v 1860. a 1870. rokoch XNUMX. storočia. Táto analógia dáva opísaným udalostiam epický, takmer mytologický rozsah. Hackeri, ktorí pracovali pre Symbolics, to videli v trochu inom svetle: ich spoločnosť nezničila ani nevyhladila, ale urobila len to, čo sa malo urobiť už dávno. Po presunutí stroja Lisp do komerčnej oblasti Symbolics zmenil svoj prístup k navrhovaniu programov – namiesto toho, aby ich ostrihal podľa zarytých vzorov hackerov, začal používať mäkšie a humánnejšie štandardy manažérov. A považovali Stallmana nie za nepriateľského bojovníka na obranu spravodlivej veci, ale za nositeľa zastaraného myslenia.

Olej do ohňa priliali aj osobné rozbroje. Už pred príchodom Symbolics sa mnoho hackerov Stallmanovi vyhýbalo a teraz sa situácia mnohonásobne zhoršila. „Už ma nepozývali na výlety do čínskej štvrte,“ spomína Richard, „Greenblatt začal so zvykom: keď chcete obedovať, obídete svojich kolegov a pozvete ich so sebou alebo im pošlete správu. Niekde v rokoch 1980-1981 ma prestali volať. Nielenže ma nepozvali, ale ako sa mi neskôr priznal jeden človek, tlačili na ostatných, aby mi nikto nepovedal o plánovaných vlakoch na obed.“

Zdroj: linux.org.ru

Pridať komentár