Vaba nagu vabadus vene keeles: 7. peatükk. Absoluutse moraali dilemma


Vaba nagu vabadus vene keeles: 7. peatükk. Absoluutse moraali dilemma

Vaba nagu vabaduses vene keeles: 1. peatükk. Saatuslik printer


Vaba nagu vabaduses vene keeles: 2. peatükk. 2001: A Hacker Odyssey


Vaba nagu Vabadus vene keeles: 3. peatükk. Häkkeri portree nooruses


Vaba nagu vabadus vene keeles: 4. peatükk. Debunk God


Vaba nagu vabaduses vene keeles: 5. peatükk. Vabaduse nire


Vaba nagu vabadus vene keeles: 6. peatükk. Emacs Commune

Absoluutse moraali dilemma

Kell pool kaksteist öösel vastu 27. septembrit 1983 ilmus Useneti gruppi net.unix-wizards ebatavaline teade rms@mit-oz. Sõnumi pealkiri oli lühike ja äärmiselt ahvatlev: "UNIXi uus rakendus." Kuid mõne Unixi valmis uue versiooni asemel leidis lugeja kõne:

Sellel tänupühal hakkan kirjutama uut, täielikult Unixiga ühilduvat operatsioonisüsteemi nimega GNU (GNU's Not Unix). Ma jagan seda vabalt kõigile. Vajan väga teie aega, raha, koodi, varustust – igasugust abi.

Kogenud Unixi arendajale oli sõnum segu idealismist ja egost. Autor ei võtnud endale kohustuse mitte ainult luua nullist terve operatsioonisüsteemi, mis on väga arenenud ja võimas, vaid ka seda täiustama. GNU-süsteem pidi sisaldama kõiki vajalikke komponente, nagu tekstiredaktor, käsukest, kompilaator ja "palju muid asju". Samuti lubasid nad äärmiselt atraktiivseid funktsioone, mida olemasolevates Unixi süsteemides ei olnud: graafiline liides programmeerimiskeeles Lisp, tõrketaluv failisüsteem, MIT võrguarhitektuuril põhinevad võrguprotokollid.

"GNU suudab käitada Unixi programme, kuid ei ole identne Unixi süsteemiga," kirjutas autor: "Teeme kõik vajalikud täiustused, mis on aastate jooksul erinevate operatsioonisüsteemidega töötatud."

Aimates skeptilist reaktsiooni oma sõnumile, täiendas autor seda lühikese autobiograafilise kõrvalepõikega pealkirja all: “Kes ma olen?”:

Olen Richard Stallman, algse EMACS-i redaktori looja, mille ühe klooniga olete ilmselt kohanud. Töötan MIT AI laboris. Mul on laialdased kogemused kompilaatorite, toimetajate, silurite, käsutõlkide, ITS-i ja Lisp Machine operatsioonisüsteemide arendamisel. ITS-is on juurutatud terminalist sõltumatu ekraani tugi, samuti tõrketaluv failisüsteem ja kahe akna süsteemid Lisp masinatele.

Juhtus nii, et Stallmani keerukas projekt ei alanud tänupühal, nagu lubatud. Alles 1984. aasta jaanuaris sukeldus Richard ülepeakaela Unixi stiilis tarkvaraarendusse. ITS-süsteemide arhitekti vaatenurgast oli see nagu mauride paleede ehitamisest äärelinna kaubanduskeskuste ehitamiseni. Unixi süsteemi arendamine pakkus aga ka eeliseid. Kogu oma võimsuse juures oli ITS-il nõrk koht – see töötas ainult DEC-i PDP-10 arvutis. 80. aastate alguses hülgas labor PDP-10 ja ITS-ist, mis häkkerid võrreldes kiire linnaga, sai kummituslinn. Unix seevastu kavandati algselt silmas pidades kaasaskantavust ühest arvutiarhitektuurist teise, nii et sellised hädad teda ei ähvardanud. AT&T nooremteadlaste poolt välja töötatud Unix libises ettevõtte radari alla ja leidis vaikse kodu mõttekodade mittetulunduslikus maailmas. Unixi arendajad, kellel oli vähem ressursse kui MIT-i häkkerivennad, kohandasid oma süsteemi erineva riistvaraga loomaaias töötama. Peamiselt 16-bitisel PDP-11-l, mida Labi häkkerid pidasid tõsiste ülesannete jaoks sobimatuks, aga ka 32-bitistel suurarvutitel nagu VAX 11/780. 1983. aastaks olid sellised ettevõtted nagu Sun Microsystems loonud suhteliselt kompaktsed lauaarvutid – “tööjaamad”, mis on võimsuselt võrreldavad vana PDP-10 suurarvutiga. Üldlevinud Unix asus ka nendele tööjaamadele.

Unixi kaasaskantavuse tagas rakenduste ja riistvara vaheline täiendav abstraktsioonikiht. Selle asemel, et kirjutada programme konkreetse arvuti masinkoodi, nagu labori häkkerid tegid PDP-10 ITS-i jaoks programme arendades, kasutasid Unixi arendajad kõrgetasemelist C programmeerimiskeelt, mis ei olnud seotud konkreetse riistvaraplatvormiga. Samal ajal keskendusid arendajad liideste standardiseerimisele, mille kaudu operatsioonisüsteemi osad omavahel suhtlesid. Tulemuseks oli süsteem, kus mis tahes osa sai ümber kujundada, ilma et see mõjutaks kõiki teisi osi ja häiriks nende tööd. Ja süsteemi ühest riistvaraarhitektuurist teise ülekandmiseks piisas ka ainult süsteemi ühe osa ümbertegemisest, mitte selle täielikust ümberkirjutamisest. Eksperdid hindasid seda fantastilist paindlikkuse ja mugavuse taset, nii et Unix levis kiiresti üle kogu arvutimaailma.

Stallman otsustas luua GNU süsteemi AI Labi häkkerite lemmikvaimuliku ITS-i kadumise tõttu. ITS-i surm oli neile, sealhulgas Richardile, löök. Kui lugu Xeroxi laserprinteriga avas tema silmad varaliste litsentside ebaõiglusele, siis ITS-i surm sundis teda suletud tarkvara vastumeelsusest sellele aktiivsele vastuseisule.

ITS-i, nagu ka selle koodi, surma põhjused ulatuvad kaugele minevikku. 1980. aastaks töötas enamik labori häkkereid juba Lispi masina ja selle operatsioonisüsteemi kallal.

Lisp on elegantne programmeerimiskeel, mis sobib suurepäraselt töötamiseks andmetega, mille struktuur on eelnevalt teadmata. Selle lõi tehisintellekti uurimise pioneer ja termini "tehisintellekt" looja John McCarthy, kes töötas MIT-is 50ndate teisel poolel. Keele nimi on lühend sõnadest "LISTi töötlemine" või "loenditöötlus". Pärast McCarthy lahkumist MIT-st Stanfordi muutsid labori häkkerid Lispi mõnevõrra, luues selle kohaliku dialekti MACLISP, kus esimesed 3 tähte tähistasid MAC-projekti, tänu millele ilmus MIT-i AI ​​labor. Süsteemiarhitekti Richard Greenblatti juhtimisel töötasid labori häkkerid välja Lisp-masina – spetsiaalse arvuti programmide täitmiseks Lispis, aga ka selle arvuti operatsioonisüsteemi – samuti loomulikult Lispi keeles kirjutatud.

80. aastate alguseks olid konkureerivad häkkerite rühmad asutanud kaks Lispi masinaid tootvat ja müüvat ettevõtet. Greenblatti ettevõte kandis nime Lisp Machines Incorporated või lihtsalt LMI. Ta lootis ilma välisinvesteeringuteta hakkama saada ja luua puhtalt "häkkeriettevõtte". Kuid enamik häkkereid liitus Symbolicsiga, mis on tüüpiline äriline idufirma. 1982. aastal lahkusid nad MIT-ist täielikult.

Need, kes alles jäid, võis ühe käe sõrmedel üles lugeda, nii et programmide ja masinate parandamine võttis järjest kauem aega või ei remonditud neid üldse. Ja mis kõige hullem, Stallmani sõnul algasid "demograafilised muutused" laboris. Varem vähemuses olnud häkkerid kadusid peaaegu kadunuks, jättes labori täielikult õpetajate ja õpilaste käsutusse, kelle suhtumine PDP-10sse oli avalikult vaenulik.

1982. aastal sai AI Lab oma 12-aastasele PDP-10-le asendaja – DECSYSTEM 20. PDP-10 jaoks kirjutatud rakendused töötasid uues arvutis probleemideta, kuna DECSYSTEM 20 oli sisuliselt uuendatud PDP. -10, kuid vanale operatsioonisüsteem ei sobinud üldse - ITS tuli portida uude arvutisse, mis tähendab peaaegu täielikult ümber kirjutamist. Ja seda ajal, mil peaaegu kõik häkkerid, kes seda teha võisid, on laborist lahkunud. Nii võttis kommertslik Twenexi operatsioonisüsteem uue arvuti kiiresti üle. Need vähesed häkkerid, kes jäid MIT-i, suutsid sellega nõustuda.

"Ilma häkkeriteta, kes operatsioonisüsteemi loovad ja hooldavad, oleme hukule määratud," ütlesid õppejõud ja üliõpilased. "Me vajame kommertssüsteemi, mida toetab mõni ettevõte, et see saaks selle süsteemiga probleeme ise lahendada." Stallman meenutab, et see argument osutus julmaks veaks, kuid toona kõlas see veenvalt.

Alguses nägid häkkerid Twenexi autoritaarse korporatokraatia järjekordse kehastusena, mida nad tahtsid murda. Isegi nimi peegeldas häkkerite vaenulikkust - tegelikult kutsuti süsteemi TOPS-20, mis viitab järjepidevusele TOPS-10-ga, mis on samuti PDP-10 kaubanduslik DEC-süsteem. Kuid arhitektuuriliselt polnud TOPS-20-l TOPS-10-ga midagi ühist. See tehti Tenexi süsteemi põhjal, mille Bolt, Beranek ja Newman töötasid välja PDP-10 jaoks. . Stallman hakkas süsteemi kutsuma "Twenexiks", et mitte nimetada seda TOPS-20-ks. "Süsteem oli tipptasemel lahendustest kaugel, nii et ma ei julgenud seda ametliku nimega nimetada," meenutab Stallman, "nii et sisestasin "Tenex"-i tähe "w", et muuta see "Twenexiks". (See nimi mängib sõna "kakskümmend", st "kakskümmend")

Arvutit, mis Twenex/TOPS-20 juhtis, kutsuti raudselt "Oziks". Fakt on see, et DECSYSTEM 20 jaoks oli terminali kasutamiseks vaja väikest PDP-11 masinat. Üks häkker, kui ta esimest korda selle arvutiga ühendatud PDP-11 nägi, võrdles seda Wizard of Ozi pretensioonika esitusega. "Ma olen suur ja kohutav Oz! — luges ta ette. "Ära vaadake seda väikest praepanni, mille kallal ma töötan."

Kuid uue arvuti operatsioonisüsteemis polnud midagi naljakat. Turvalisus ja juurdepääsukontroll olid Twenexisse algtasemel sisse ehitatud ning ka selle rakendusutiliidid loodi turvalisust silmas pidades. Halvustavad naljad labori turvasüsteemide üle on muutunud tõsiseks võitluseks arvuti juhtimise pärast. Administraatorid väitsid, et ilma turvasüsteemideta oleks Twenex ebastabiilne ja tõrgeteta. Häkkerid kinnitasid, et süsteemi lähtekoodi redigeerimisega saab stabiilsuse ja töökindluse palju kiiremini saavutada. Aga neid oli Laboris juba nii vähe, et keegi ei kuulanud.

Häkkerid arvasid, et saavad turvapiirangutest mööda hiilida, andes kõigile kasutajatele "juhtimisõigused" – kõrgendatud õigused, mis annavad neile võimaluse teha paljusid asju, mida tavakasutajal on keelatud teha. Kuid sel juhul võis iga kasutaja igalt teiselt kasutajalt "juhtimisõigused" ära võtta ja ta ei saanud neid juurdepääsuõiguste puudumise tõttu endale tagastada. Seetõttu otsustasid häkkerid saada süsteemi üle kontrolli, võttes kõigilt, välja arvatud neilt, "juhtimisõigused".

Paroolide äraarvamine ja siluri käivitamine süsteemi käivitamise ajal ei andnud midagi. Olles läbi kukkunud "riigipööre", saatis Stallman kõigile labori töötajatele teate.

"Siiani olid aristokraadid lüüa saanud," kirjutas ta, "kuid nüüd on nad saavutanud ülekaalu ja katse võimu haarata on ebaõnnestunud." Richard kirjutas sõnumile alla: “Radio Free OZ”, et keegi ei aimaks, et see on tema. Suurepärane maskeering, kui arvestada, et kõik laboris teadsid Stallmani suhtumisest turvasüsteemidesse ja paroolide mõnitamisest. Kuid Richardi vastumeelsus paroolide vastu oli tuntud kaugel väljaspool MIT-i. Peaaegu kogu ARPAnet, tolle aja Interneti prototüüp, pääses Stallmani konto alt labori arvutitele juurde. Selliseks “turistiks” oli näiteks California programmeerija Don Hopkins, kes sai häkkerite suuliselt teada, et kuulsasse MIT-i ITS-süsteemi saab siseneda lihtsalt sisselogimiseks ja parooliks sisestades 3 tähte Stallmani initsiaalidest.

"Olen igavesti tänulik, et MIT andis mulle ja nii paljudele teistele inimestele vabaduse oma arvuteid kasutada," ütleb Hopkins, "see tähendas meile kõigile palju."

See "turistide" poliitika kestis palju aastaid, kuni ITS-süsteem elas, ja MIT-i juhtkond suhtus sellesse halvustavalt. . Kuid kui Ozi masinast sai peamine sild laborist ARPAneti, muutus kõik. Stallman võimaldas endiselt juurdepääsu oma kontole teadaoleva sisselogimise ja parooli abil, kuid administraatorid nõudsid, et ta parool muudaks ja seda kellelegi teisele ei annaks. Richard keeldus oma eetikale viidates üldse Ozi masina kallal töötamast.

"Kui paroolid hakkasid AI Labi arvutites ilmuma, otsustasin järgida oma veendumust, et paroole ei tohiks olla," ütles Stallman hiljem, "ja kuna ma uskusin, et arvutid ei vaja turvasüsteeme, poleks ma pidanud neid meetmeid toetama. neid."

Stallmani keeldumine põlvitada suure ja kohutava Ozi masina ees näitas, et pinged häkkerite ja labori ülemuste vahel kasvasid. Kuid see pinge oli vaid kahvatu vari konfliktist, mis möllas häkkerite kogukonnas endas, mis jagunes kahte leeri: LMI (Lisp Machines Incorporated) ja Symbolics.

Symbolics sai palju investeeringuid väljastpoolt, mis meelitas palju Labi häkkereid. Nad töötasid Lispi masinasüsteemi kallal nii MIT-is kui ka väljaspool seda. 1980. aasta lõpuks palkas ettevõte Lisp-masina oma versiooni väljatöötamiseks konsultantidena 14 laboratooriumi töötajat. Ülejäänud häkkerid, välja arvatud Stallman, töötasid LMI heaks. Richard otsustas pooltele mitte astuda ja jäi harjumusest omaette.

Alguses jätkasid Symbolicsi palgatud häkkerid tööd MIT-is, täiustades Lispi masinasüsteemi. Nad, nagu ka LMI häkkerid, kasutasid oma koodi jaoks MIT-i litsentsi. See nõudis muudatuste tagastamist MIT-ile, kuid ei nõudnud MIT-lt muudatuste levitamist. Kuid 1981. aastal järgisid häkkerid härrasmeeste kokkulepet, mille kohaselt kõik nende täiustused kirjutati MIT-i Lisp-masinasse ja jagati kõigile nende masinate kasutajatele. Selline olukord säilitas häkkerite kollektiivi teatud stabiilsuse.

Kuid 16. märtsil 1982 – Stallman mäletab seda päeva hästi, sest see oli tema sünnipäev – sai härrasmeheleping läbi. See juhtus Symbolicsi juhtkonna korraldusel; seega tahtsid nad kägistada oma konkurendi, LMI ettevõtte, mille heaks töötas palju vähem häkkereid. Symbolicsi juhid arutlesid nii: kui LMI-l on kordades vähem töötajaid, siis selgub, et üldine töö Lispi masina kallal on talle kasulik ja kui see arenduste vahetus peatada, siis LMI hävib. Selleks otsustasid nad litsentsi kirja kuritarvitada. Selle asemel, et teha muudatusi süsteemi MIT versioonis, mida LMI saaks kasutada, hakkasid nad varustama MIT-i süsteemi Symbolics versiooniga, mida nad said muuta, kuidas nad soovisid. Selgus, et igasugune Lispi masinkoodi testimine ja redigeerimine MIT-is läks ainult Symbolicsi kasuks.

Laboratooriumi Lispi masina hooldamise eest vastutava mehena (esimesed kuud Greenblatti abiga) oli Stallman raevukas. Symbolics häkkerid esitasid koodi sadade muudatustega, mis põhjustasid vigu. Pidades seda ultimaatumiks, katkestas Stallman labori suhtluse Symbolicsiga, lubas, et ei tööta enam kunagi selle ettevõtte masinatega ja teatas, et liitub MIT Lispi masinaga, et toetada LMI-d. "Minu silmis oli labor neutraalne riik, nagu Belgia Teises maailmasõjas," ütleb Stallman, "ja kui Saksamaa tungis Belgiasse, kuulutas Belgia Saksamaale sõja ning ühines Suurbritannia ja Prantsusmaaga."

Kui Symbolicsi juhid märkasid, et nende viimased uuendused ilmusid endiselt Lispi masina MIT-i versioonis, said nad vihaseks ja hakkasid labori häkkereid koodi varguses süüdistama. Kuid Stallman ei rikkunud üldse autoriõiguse seadust. Ta uuris Symbolicsi pakutavat koodi ja tegi loogilisi oletusi tulevaste paranduste ja täiustuste kohta, mida ta hakkas MIT-i Lisp masina jaoks nullist rakendama. Symbolicsi juhid ei uskunud seda. Nad installisid Stallmani terminali nuhkvara, mis salvestas kõik, mida Richard tegi. Nii lootsid nad koguda tõendeid koodivarguste kohta ja näidata seda MIT-i administratsioonile, kuid isegi 1983. aasta alguseks polnud peaaegu midagi näidata. Neil oli vaid kümmekond kohta, kus kahe süsteemi kood nägi välja veidi sarnane.

Kui labori administraatorid näitasid Stallmanile Symbolicsi tõendeid, lükkas ta selle ümber, öeldes, et kood oli sarnane, kuid mitte sama. Ja ta pööras Symbolicsi juhtimise loogika enda vastu: kui need sarnase koodi terad on kõik, mida nad temast välja kaevata võisid, siis see tõestab vaid, et Stallman tegelikult koodi ei varastanud. Sellest piisas, et labori juhid Stallmani töö heaks kiitsid ja ta jätkas seda 1983. aasta lõpuni. .

Kuid Stallman muutis oma lähenemist. Et kaitsta ennast ja projekti võimalikult palju Symbolicsi väidete eest, lõpetas ta täielikult nende lähtekoodide vaatamise. Ta hakkas koodi kirjutama ainult dokumentatsiooni põhjal. Richard ei oodanud Symbolicsilt suurimaid uuendusi, vaid juurutas need ise, seejärel lisas vaid liidesed ühilduvuseks Symbolicsi teostusega, tuginedes nende dokumentatsioonile. Ta luges ka Symbolics koodi muudatuste logi, et näha, milliseid vigu nad parandavad, ja parandas need vead ise muul viisil.

Juhtunu tugevdas Stallmani otsustavust. Olles loonud uute Symbolics funktsioonide analoogid, veenis ta labori töötajaid kasutama Lisp masina MIT versiooni, mis tagas testimise ja vigade tuvastamise heal tasemel. Ja MIT-i versioon oli LMI-le täielikult avatud. "Ma tahtsin sümboolikat iga hinna eest karistada," ütleb Stallman. See väide ei näita mitte ainult seda, et Richardi tegelaskuju pole kaugeltki patsifistlik, vaid ka seda, et konflikt Lispi masina pärast puudutas teda kiiresti.

Stallmani meeleheitlikku sihikindlust saab mõista, kui mõelda, kuidas see tema jaoks välja nägi - tema "kodu", st AI ​​labori häkkerite kogukonna ja kultuuri "hävitamine". Levy intervjueeris hiljem Stallmani e-posti teel ja Richard võrdles end Ishiga, Yahi India rahva viimase teadaoleva liikmega, kes hävitati 1860. ja 1870. aastate India sõdades. See analoogia annab kirjeldatud sündmustele eepilise, peaaegu mütoloogilise ulatuse. Symbolicsis töötanud häkkerid nägid seda veidi teises valguses: nende ettevõte ei hävitanud ega hävitanud, vaid tegi ainult seda, mida oleks pidanud juba ammu tegema. Lispi masina kommertsvaldkonda viinud Symbolics muutis oma lähenemist programmide kujundamisele – selle asemel, et neid häkkerite paadunud mustrite järgi lõigata, hakati kasutama pehmemaid ja humaansemaid juhtide standardeid. Ja nad ei pidanud Stallmani mitte vastase võitlejaks, kes kaitses õiglast põhjust, vaid kui vananenud mõtlemise kandjat.

Õli valas tulle ka isiklik tüli. Juba enne Symbolicsi tulekut vältisid paljud häkkerid Stallmanit ja nüüd on olukord kordades halvenenud. „Mind ei kutsutud enam Hiinalinna reisidele,” meenutab Richard, „Greenblatt sai alguse kombest: kui tahad lõunat süüa, lähed kolleegidega ringi ja kutsud nad endaga kaasa või saadad neile sõnumi. Kuskil 1980-1981 lõpetasid nad mulle helistamise. Nad mitte ainult ei kutsunud mind, vaid, nagu üks inimene mulle hiljem tunnistas, survestasid teisi, et keegi ei räägiks mulle lõunaks plaanitavatest rongidest.

Allikas: linux.org.ru

Lisa kommentaar