Svobodno kot svoboda v ruščini: 7. poglavje. Dilema absolutne morale


Svobodno kot svoboda v ruščini: 7. poglavje. Dilema absolutne morale

Brezplačno kot v svobodi v ruščini: 1. poglavje. Usodni tiskalnik


Svobodno kot v svobodi v ruščini: 2. poglavje. 2001: Hekerska odiseja


Svobodno kot v svobodi v ruščini: poglavje 3. Portret hekerja v mladosti


Svobodno kot v svobodi v ruščini: poglavje 4. Razkrinkajte Boga


Svobodno kot v svobodi v ruščini: poglavje 5. Curek svobode


Prosto kot v Svoboda v ruščini: Poglavje 6. Emacs Commune

Dilema absolutne morale

Ob pol dvanajstih v noči na 27. september 1983 se je v skupini Usenet net.unix-wizards pojavilo nenavadno sporočilo s podpisom rms@mit-oz. Naslov sporočila je bil kratek in izjemno mamljiv: "Nova implementacija UNIX-a." Toda namesto neke že pripravljene nove različice Unixa je bralec našel klic:

Ta zahvalni dan začenjam pisati nov operacijski sistem, popolnoma združljiv z Unixom, imenovan GNU (GNU's Not Unix). Brezplačno ga bom razdelil vsem. Res potrebujem vaš čas, denar, kodo, opremo - kakršno koli pomoč.

Za izkušenega razvijalca Unixa je bilo sporočilo mešanica idealizma in ega. Avtor se ni le lotil poustvaritve celotnega operacijskega sistema, zelo naprednega in zmogljivega iz nič, ampak ga je tudi izboljšal. Sistem GNU naj bi vseboval vse potrebne komponente, kot so urejevalnik besedila, ukazna lupina, prevajalnik, pa tudi »število drugih stvari«. Obljubili so tudi izjemno privlačne funkcije, ki jih obstoječi sistemi Unix niso imeli: grafični vmesnik v programskem jeziku Lisp, datotečni sistem, odporen na napake, omrežne protokole, ki temeljijo na omrežni arhitekturi MIT.

"GNU bo lahko izvajal programe Unix, vendar ne bo enak sistemu Unix," je zapisal avtor, "Naredili bomo vse potrebne izboljšave, ki so dozorele v letih dela na različnih operacijskih sistemih."

V pričakovanju skeptične reakcije na njegovo sporočilo ga je avtor dopolnil s kratko avtobiografsko digresijo pod naslovom: »Kdo sem?«:

Sem Richard Stallman, ustvarjalec izvirnega urejevalnika EMACS, katerega enega od klonov ste verjetno že srečali. Delam v laboratoriju MIT AI. Imam bogate izkušnje z razvojem prevajalnikov, urejevalnikov, razhroščevalnikov, tolmačev ukazov, operacijskih sistemov ITS in Lisp Machine. Implementirana terminalsko neodvisna podpora za zaslon v ITS, kot tudi datotečni sistem, odporen na napake, in dva okenska sistema za stroje Lisp.

Zgodilo se je, da se Stallmanov zapleten projekt ni začel na zahvalni dan, kot je bilo obljubljeno. Šele januarja 1984 se je Richard brezglavo poglobil v razvoj programske opreme v slogu Unixa. Z vidika arhitekta sistemov ITS je bilo tako, kot da bi šli od gradnje mavrskih palač k gradnji primestnih nakupovalnih centrov. Vendar pa je razvoj sistema Unix ponudil tudi prednosti. ITS je kljub vsej svoji moči imel šibko točko - deloval je samo na računalniku PDP-10 proizvajalca DEC. V zgodnjih osemdesetih letih je Laboratorij opustil PDP-80 in ITS, ki so ga hekerji primerjali z živahnim mestom, je postal mesto duhov. Unix pa je bil prvotno zasnovan z mislijo na prenosljivost iz ene računalniške arhitekture v drugo, zato mu takšne težave niso grozile. Unix, ki so ga razvili mlajši raziskovalci pri AT&T, je zdrsnil pod radar podjetja in našel miren dom v neprofitnem svetu možganskih trustov. Z manj sredstvi kot njihovi hekerski bratje na MIT so razvijalci Unixa prilagodili svoj sistem za delovanje v živalskem vrtu različne strojne opreme. Predvsem na 10-bitnem PDP-16, za katerega so hekerji Laba menili, da ni primeren za resne naloge, pa tudi na 11-bitnih velikih računalnikih, kot je VAX 32/11. Do leta 780 so podjetja, kot je Sun Microsystems, ustvarila razmeroma kompaktne namizne računalnike – »delovne postaje« – ki so bili po moči primerljivi s starim velikim računalnikom PDP-1983. Tudi na te delovne postaje se je naselil vseprisotni Unix.

Prenosljivost Unixa je zagotovila dodatna plast abstrakcije med aplikacijami in strojno opremo. Namesto pisanja programov v strojni kodi določenega računalnika, kot so to storili hekerji Lab pri razvoju programov za ITS na PDP-10, so Unix razvijalci uporabili visokonivojski programski jezik C, ki ni bil vezan na določeno strojno platformo. Hkrati so se razvijalci osredotočili na standardizacijo vmesnikov, prek katerih so deli operacijskega sistema medsebojno sodelovali. Rezultat je bil sistem, kjer je bilo mogoče preoblikovati kateri koli del, ne da bi to vplivalo na vse druge dele in brez motenj v njihovem delovanju. In da bi prenesli sistem iz ene strojne arhitekture v drugo, je bilo dovolj tudi predelati le en del sistema in ga ne v celoti prepisati. Strokovnjaki so cenili to fantastično raven prilagodljivosti in udobja, zato se je Unix hitro razširil po vsem računalniškem svetu.

Stallman se je odločil ustvariti sistem GNU zaradi propada ITS, najljubšega ploda hekerjev AI Lab. Smrt ITS je bila udarec za njih, vključno z Richardom. Če mu je zgodba z laserskim tiskalnikom Xerox odprla oči glede nepravičnosti lastniških licenc, ga je smrt ITS potisnila od averzije do zaprte programske opreme do aktivnega nasprotovanja njej.

Razlogi za smrt ITS, tako kot njegova koda, segajo daleč v preteklost. Do leta 1980 je večina hekerjev Laba že delala na stroju Lisp in operacijskem sistemu zanj.

Lisp je eleganten programski jezik, ki je kot nalašč za delo s podatki, katerih struktura je vnaprej neznana. Ustvaril ga je pionir raziskovanja umetne inteligence in tvorec izraza »umetna inteligenca« John McCarthy, ki je delal na MIT v drugi polovici 50. let. Ime jezika je okrajšava za »LIST Processing« ali »list processing«. Ko je McCarthy zapustil MIT za Stanford, so hekerji laboratorija nekoliko spremenili Lisp in ustvarili njegovo lokalno narečje MACLISP, kjer so prve 3 črke pomenile projekt MAC, zahvaljujoč kateremu se je pravzaprav pojavil Laboratorij AI ​​na MIT. Pod vodstvom sistemskega arhitekta Richarda Greenblatta so hekerji Laba razvili stroj Lisp - poseben računalnik za izvajanje programov v Lispu in operacijski sistem za ta računalnik - prav tako seveda napisan v Lispu.

Do začetka osemdesetih let prejšnjega stoletja so konkurenčne skupine hekerjev ustanovile dve podjetji, ki proizvajata in prodajata stroje Lisp. Greenblattovo podjetje se je imenovalo Lisp Machines Incorporated ali preprosto LMI. Upal je, da bo brez zunanjih naložb in ustvaril čisto "hekersko podjetje". Toda večina hekerjev se je pridružila Symbolicsu, tipičnemu komercialnemu startupu. Leta 80 so popolnoma zapustili MIT.

Tiste, ki so ostali, bi lahko prešteli na prste ene roke, zato so se programi in stroji popravljali vedno dlje ali pa sploh niso bili popravljeni. In kar je najhuje, po Stallmanu so se »demografske spremembe« začele v Laboratoriju. Hekerji, ki so bili prej v manjšini, so skoraj izginili, tako da je Laboratorij prepuščen popolni razpolago učiteljem in študentom, katerih odnos do PDP-10 je bil odkrito sovražen.

Leta 1982 je AI ​​Lab prejel zamenjavo za svoj 12 let star PDP-10 - DECSYSTEM 20. Aplikacije, napisane za PDP-10, so delovale brez težav na novem računalniku, ker je bil DECSYSTEM 20 v bistvu posodobljen PDP -10, vendar staremu operacijski sistem sploh ni ustrezal - ITS je bilo treba prenesti na nov računalnik, kar pomeni skoraj v celoti prepisati. In to v času, ko so skoraj vsi hekerji, ki bi to zmogli, zapustili Laboratorij. Tako je komercialni operacijski sistem Twenex hitro prevzel novi računalnik. Nekaj ​​​​hekerjev, ki so ostali na MIT, je to lahko le sprejelo.

"Brez hekerjev, ki bi ustvarili in vzdrževali operacijski sistem, smo obsojeni na propad," so povedali člani fakultete in študenti. "Potrebujemo komercialni sistem, ki ga podpira neko podjetje, da lahko samo reši težave s tem sistemom." Stallman se spominja, da se je ta argument izkazal za kruto napako, vendar je takrat zvenel prepričljivo.

Sprva so hekerji Twenex videli kot še eno inkarnacijo avtoritarne korporatokracije, ki so jo želeli razbiti. Celo ime je odražalo sovražnost hekerjev - pravzaprav se je sistem imenoval TOPS-20, kar kaže na kontinuiteto s TOPS-10, prav tako komercialnim sistemom DEC za PDP-10. Toda arhitekturno TOPS-20 ni imel nič skupnega s TOPS-10. Izdelan je bil na osnovi sistema Tenex, ki so ga Bolt, Beranek in Newman razvili za PDP-10. . Stallman je sistem začel imenovati "Twenex", samo da bi se izognil temu, da bi ga imenoval TOPS-20. "Sistem je bil daleč od vrhunskih rešitev, zato si ga nisem mogel poimenovati z uradnim imenom," se spominja Stallman, "zato sem v 'Tenex' vstavil črko 'w', da je postal 'Twenex'." (To ime se poigrava z besedo "dvajset", tj. "dvajset")

Računalnik, ki je poganjal Twenex/TOPS-20, se je ironično imenoval "Oz". Dejstvo je, da je DECSYSTEM 20 za delovanje terminala potreboval majhno napravo PDP-11. Neki heker, ko je prvič videl PDP-11, priključenega na ta računalnik, ga je primerjal s pretenciozno predstavo Čarovnika iz Oza. »Jaz sem veliki in strašni Oz! – je recitiral. "Samo ne glej na majhne krompirčke, na katerih delam."

Toda v operacijskem sistemu novega računalnika ni bilo nič smešnega. Varnost in nadzor dostopa sta bila vgrajena v Twenex na osnovni ravni, njegovi aplikacijski pripomočki pa so bili prav tako zasnovani z mislijo na varnost. Prizanesljive šale o varnostnih sistemih laboratorija so se spremenile v resno bitko za nadzor nad računalnikom. Skrbniki so trdili, da bi bil brez varnostnih sistemov Twenex nestabilen in nagnjen k napakam. Hekerji so zagotovili, da bi lahko stabilnost in zanesljivost veliko hitreje dosegli z urejanjem izvorne kode sistema. A v Laboratoriju jih je bilo že tako malo, da jih nihče ni poslušal.

Hekerji so mislili, da bi se lahko izognili varnostnim omejitvam tako, da bi vsem uporabnikom podelili "krmilne pravice" - višje pravice, ki dajejo možnost, da naredijo veliko stvari, ki jih navadnemu uporabniku ni dovoljeno. Toda v tem primeru bi lahko kateri koli uporabnik odvzel "krmilne pravice" kateremu koli drugemu uporabniku in jih sam sebi ni mogel vrniti zaradi pomanjkanja pravic dostopa. Zato so se hekerji odločili pridobiti nadzor nad sistemom z odvzemom "krmarskih privilegijev" vsem razen sebi.

Ugibanje gesel in zagon razhroščevalnika med zagonom sistema nista prinesla ničesar. Ob neuspehu v "državni udar«, je Stallman poslal sporočilo vsem zaposlenim v laboratoriju.

"Do zdaj so bili aristokrati poraženi," je zapisal, "zdaj pa so prevzeli premoč in poskus prevzema oblasti je propadel." Richard se je pod sporočilo podpisal: "Radio Free OZ", da ne bi kdo uganil, da je to on. Odlična preobleka, glede na to, da so vsi v Laboratoriju vedeli za Stallmanov odnos do varnostnih sistemov in njegovo norčevanje iz gesel. Vendar je bil Richardov odpor do gesel znan daleč onkraj MIT. Skoraj celoten ARPAnet, prototip takratnega interneta, je dostopal do računalnikov Laboratorija pod Stallmanovim računom. Takšen "turist" je bil na primer Don Hopkins, programer iz Kalifornije, ki je prek hekerskih besed izvedel, da lahko v znameniti sistem ITS na MIT vstopiš preprosto tako, da kot prijavo in geslo vneseš 3 črke Stallmanovih začetnic.

"Večno sem hvaležen, da je MIT meni in mnogim drugim ljudem dal svobodo uporabe svojih računalnikov," pravi Hopkins, "vsem nam je to veliko pomenilo."

Ta "turistična" politika je trajala dolga leta, dokler je sistem ITS živel, vodstvo MIT pa je na to gledalo prizanesljivo. . Ko pa je Ozov stroj postal glavni most od Laboratorija do ARPAneta, se je vse spremenilo. Stallman je še vedno omogočal dostop do svojega računa z znano prijavo in geslom, vendar so skrbniki zahtevali, da spremeni geslo in ga ne izda nikomur drugemu. Richard, ki se je skliceval na svojo etiko, je sploh zavrnil delo na Ozovem stroju.

»Ko so se gesla začela pojavljati na računalnikih AI Lab, sem se odločil slediti svojemu prepričanju, da gesel ne bi smelo biti,« je kasneje dejal Stallman, »in ker sem verjel, da računalniki ne potrebujejo varnostnih sistemov, ne bi smel podpreti teh ukrepov za izvajanje njih."

Stallmanova zavrnitev, da bi pokleknil pred velikim in strašnim Ozovim strojem, je pokazala, da rastejo napetosti med hekerji in nadrejenimi v laboratoriju. Toda ta napetost je bila le bleda senca konflikta, ki je divjal v sami hekerski skupnosti, ki je bila razdeljena na 2 tabora: LMI (Lisp Machines Incorporated) in Symbolics.

Symbolics je prejel veliko naložb od zunaj, kar je pritegnilo številne hekerje Laba. Na strojnem sistemu Lisp so delali tako na MIT kot zunaj njega. Do konca leta 1980 je podjetje najelo 14 zaposlenih v laboratoriju kot svetovalce za razvoj lastne različice stroja Lisp. Ostali hekerji, razen Stallmana, so delali za LMI. Richard se je odločil, da se ne bo postavil na nobeno stran, in je bil iz navade sam.

Sprva so hekerji, ki jih je najel Symbolics, nadaljevali z delom na MIT in izboljševali strojni sistem Lisp. Tako kot hekerji LMI so za svojo kodo uporabili licenco MIT. Zahteval je, da se spremembe vrnejo MIT-u, ni pa zahteval, da MIT distribuira spremembe. Vendar pa so se leta 1981 hekerji držali gentlemanskega dogovora, v katerem so bile vse njihove izboljšave zapisane v stroj Lisp MIT in razdeljene vsem uporabnikom teh strojev. To stanje je vseeno ohranilo nekaj stabilnosti hekerskega kolektiva.

Toda 16. marca 1982 - Stallman se tega dne dobro spominja, saj je bil njegov rojstni dan - se je gentlemanski dogovor končal. To se je zgodilo po naročilu vodstva Symbolicsa, ki je želelo zadaviti svojega konkurenta, podjetje LMI, za katerega je delalo precej manj hekerjev. Vodje Symbolics so razmišljali takole: če ima LMI velikokrat manj zaposlenih, se izkaže, da je celotno delo na stroju Lisp zanj koristno, in če se ta izmenjava razvoja ustavi, bo LMI uničen. V ta namen so se odločili zlorabiti črko licence. Namesto da bi spremenili različico sistema MIT, ki bi jo LMI lahko uporabljal, so začeli MIT dobavljati različico sistema Symbolics, ki so jo lahko urejali, kakor koli so želeli. Izkazalo se je, da je šlo vsako testiranje in urejanje strojne kode Lisp na MIT le v prid Symbolicsu.

Kot človek, odgovoren za vzdrževanje laboratorijskega stroja Lisp (z Greenblattovo pomočjo prvih nekaj mesecev), je bil Stallman besen. Hekerji Symbolics so zagotovili kodo s stotinami sprememb, ki so povzročile napake. Ker je Stallman menil, da je to ultimat, je prekinil komunikacijo Laboratorija s Symbolicsom, obljubil, da ne bo nikoli več delal na strojih tega podjetja, in napovedal, da se bo pridružil delu na stroju MIT Lisp za podporo LMI. "V mojih očeh je bil Lab nevtralna država, kot je bila Belgija v drugi svetovni vojni," pravi Stallman, "in če je Nemčija napadla Belgijo, je Belgija napovedala vojno Nemčiji in se pridružila Veliki Britaniji in Franciji."

Ko so vodje podjetja Symbolics opazili, da se njihove najnovejše inovacije še vedno pojavljajo na MIT različici stroja Lisp, so se razjezili in začeli hekerje Laba obtoževati kraje kode. Toda Stallman sploh ni kršil zakona o avtorskih pravicah. Preučil je kodo, ki jo je zagotovil Symbolics, in logično ugibal o prihodnjih popravkih in izboljšavah, ki jih je začel izvajati iz nič za stroj Lisp MIT. Vodstvo podjetja Symbolics temu ni verjelo. Na Stallmanov terminal so namestili vohunsko programsko opremo, ki je snemala vse, kar je Richard počel. Tako so upali, da bodo zbrali dokaze o kraji kode in jih pokazali upravi MIT, vendar celo do začetka leta 1983 ni bilo skoraj ničesar za pokazati. Imeli so le ducat mest, kjer je bila koda obeh sistemov nekoliko podobna.

Ko so skrbniki laboratorija Stallmanu pokazali dokaze Symbolicsa, jih je ta ovrgel in rekel, da je koda podobna, vendar ne enaka. In logiko vodstva Symbolicsa je obrnil proti sebi: če so ta zrna podobne kode vse, kar so mu lahko izkopali, potem to samo dokazuje, da Stallman dejansko ni ukradel kode. To je bilo dovolj, da so vodje laboratorija odobrili Stallmanovo delo in ga je nadaljeval do konca leta 1983. .

Toda Stallman je spremenil svoj pristop. Da bi sebe in projekt čim bolj zaščitil pred trditvami Symbolicsa, je popolnoma prenehal gledati njihove izvorne kode. Kodo je začel pisati izključno na podlagi dokumentacije. Richard od Symbolicsa ni pričakoval največjih novosti, ampak jih je implementiral sam, nato pa le dodal vmesnike za združljivost z implementacijo Symbolicsa, opirajoč se na njihovo dokumentacijo. Prebral je tudi dnevnik sprememb kode Symbolics, da bi videl, katere hrošče odpravljajo, in te hrošče je sam popravil na druge načine.

Kar se je zgodilo, je okrepilo Stallmanovo odločenost. Ko je ustvaril analoge novih funkcij Symbolics, je osebje laboratorija prepričal v uporabo MIT različice stroja Lisp, ki je zagotovila dobro raven testiranja in odkrivanja napak. In različica MIT je bila popolnoma odprta za LMI. "Želel sem kaznovati Symbolics za vsako ceno," pravi Stallman. Ta izjava ne kaže le, da Richardov lik še zdaleč ni pacifističen, ampak tudi, da se ga je konflikt okoli stroja Lisp na hitro dotaknil.

Stallmanovo obupano odločnost je mogoče razumeti, če pomislite, kako se mu je zdelo - "uničenje" njegovega "doma", to je hekerske skupnosti in kulture laboratorija AI ​​Lab. Levy je kasneje intervjuval Stallmana po elektronski pošti, Richard pa se je primerjal z Ishijem, zadnjim znanim pripadnikom indijanskega ljudstva Yahi, ki je bilo iztrebljeno v indijskih vojnah v 1860-ih in 1870-ih. Ta analogija daje opisanim dogodkom epski, skoraj mitološki obseg. Hekerji, ki so delali za Symbolics, so to videli v nekoliko drugačni luči: njihovo podjetje ni uničevalo ali iztrebljalo, ampak je le naredilo tisto, kar bi moralo biti narejeno že zdavnaj. Potem ko je stroj Lisp preselil v komercialno področje, je Symbolics spremenil svoj pristop k oblikovanju programov – namesto da bi jih rezal po trdoglavih hekerjevih vzorcih, je začel uporabljati mehkejše in bolj humane standarde menedžerjev. In Stallmana niso imeli za nasprotnega borca ​​v obrambi pravične stvari, temveč za nosilca zastarelega razmišljanja.

Olje na ogenj so prilili tudi osebni spori. Še pred pojavom Symbolicsa se je veliko hekerjev izogibalo Stallmanu, zdaj pa se je stanje večkrat poslabšalo. »Nič več me niso vabili na izlete v Kitajsko četrt,« se spominja Richard, »Greenblatt je uvedel navado: ko hočeš kositi, greš okrog svojih sodelavcev in jih povabiš s seboj ali jim pošlješ sporočilo. Nekje v letih 1980-1981 so me nehali klicati. Ne samo, da me niso povabili, ampak so, kot mi je kasneje priznal eden, pritiskali na ostale, da mi ne bi kdo povedal za načrtovane vlake za kosilo.”

Vir: linux.org.ru

Dodaj komentar