Slobodno kao u slobodi na ruskom: Poglavlje 7. Dilema apsolutnog morala


Slobodno kao u slobodi na ruskom: Poglavlje 7. Dilema apsolutnog morala

Slobodno kao u slobodi na ruskom: Poglavlje 1. Fatalni pisač


Slobodno kao u slobodi na ruskom: Poglavlje 2. 2001: Hakerska odiseja


Slobodno kao u slobodi na ruskom: Poglavlje 3. Portret hakera u mladosti


Slobodno kao u Slobodi na ruskom: Poglavlje 4. Debunk God


Slobodno kao u slobodi na ruskom: Poglavlje 5. Kapanje slobode


Slobodno kao u Slobodi na ruskom: Poglavlje 6. Emacs komuna

Dilema apsolutnog morala

U pola dvanaest u noći 27. rujna 1983. u Usenet grupi net.unix-wizards pojavila se neobična poruka s potpisom rms@mit-oz. Naslov poruke bio je kratak i vrlo primamljiv: “Nova implementacija UNIX-a.” Ali umjesto neke gotove nove verzije Unixa, čitatelj je pronašao poziv:

Ovog Dana zahvalnosti, počinjem pisati novi, potpuno Unix-kompatibilan operativni sustav pod nazivom GNU (GNU's Not Unix). Slobodno ću ga podijeliti svima. Stvarno mi treba vaše vrijeme, novac, šifra, oprema - bilo kakva pomoć.

Iskusnom Unix programeru poruka je bila mješavina idealizma i ega. Autor ne samo da se obvezao ponovno stvoriti cijeli operativni sustav, vrlo napredan i moćan, od nule, već ga je i poboljšao. Sustav GNU trebao je sadržavati sve potrebne komponente kao što su uređivač teksta, naredbena ljuska, kompajler, kao i “niz drugih stvari”. Također su obećali izuzetno atraktivne značajke koje nisu bile dostupne u postojećim Unix sustavima: grafičko sučelje u programskom jeziku Lisp, datotečni sustav otporan na pogreške, mrežne protokole temeljene na MIT mrežnoj arhitekturi.

“GNU će moći pokretati Unix programe, ali neće biti identičan Unix sustavu,” napisao je autor, “Napravit ćemo sva potrebna poboljšanja koja su sazrela tijekom godina rada na različitim operativnim sustavima.”

Očekujući skeptičnu reakciju na njegovu poruku, autor ju je dopunio kratkom autobiografskom digresijom pod naslovom: “Tko sam ja?”:

Ja sam Richard Stallman, kreator izvornog EMACS editora, jednog od klonova kojeg ste vjerojatno naišli. Radim u MIT laboratoriju za umjetnu inteligenciju. Imam veliko iskustvo u razvoju prevoditelja, editora, programa za ispravljanje pogrešaka, interpretatora naredbi, ITS i Lisp Machine operativnih sustava. Implementirana podrška za zaslon neovisna o terminalu u ITS-u, kao i datotečni sustav otporan na greške i dva prozorska sustava za Lisp strojeve.

Slučajno se dogodilo da Stallmanov zamršeni projekt nije započeo na Dan zahvalnosti, kao što je obećano. Tek u siječnju 1984. Richard je bezglavo zaronio u razvoj softvera u stilu Unixa. Iz perspektive arhitekta ITS sustava, to je bilo kao prelazak s izgradnje maurskih palača na izgradnju trgovačkih centara u predgrađu. Međutim, razvoj Unix sustava je ponudio i prednosti. ITS je, uza svu svoju moć, imao slabu točku - radio je samo na računalu PDP-10 iz DEC-a. Početkom 80-ih Laboratorij je napustio PDP-10, a ITS, koji su hakeri uspoređivali s užurbanim gradom, postao je grad duhova. Unix je, s druge strane, izvorno dizajniran s ciljem prenosivosti s jedne računalne arhitekture na drugu, tako da mu takve nevolje nisu prijetile. Razvijen od strane mlađih istraživača u AT&T-u, Unix je prošao ispod korporativnog radara i našao miran dom u neprofitnom svijetu think tankova. S manje resursa od svoje braće hakera na MIT-u, programeri Unixa prilagodili su svoj sustav za rad na zoološkom vrtu različitog hardvera. Uglavnom na 16-bitnom PDP-11, koji su hakeri Laba smatrali neprikladnim za ozbiljne zadatke, ali također i na 32-bitnim glavnim računalima poput VAX 11/780. Do 1983., tvrtke kao što je Sun Microsystems stvorile su relativno kompaktna stolna računala - "radne stanice" - usporedive po snazi ​​sa starim glavnim računalom PDP-10. Sveprisutni Unix smjestio se i na te radne stanice.

Prenosivost Unixa osigurana je dodatnim slojem apstrakcije između aplikacija i hardvera. Umjesto pisanja programa u strojnom kodu određenog računala, kao što su hakeri iz Laba radili razvijajući programe za ITS na PDP-10, Unix programeri koristili su C programski jezik visoke razine, koji nije bio vezan za određenu hardversku platformu. U isto vrijeme, programeri su se usredotočili na standardizaciju sučelja kroz koja su dijelovi operativnog sustava međusobno komunicirali. Rezultat je bio sustav u kojem se bilo koji dio može redizajnirati bez utjecaja na sve ostale dijelove i bez ometanja njihovog rada. A da bi se sustav prebacio s jedne hardverske arhitekture na drugu, također je bilo dovoljno preraditi samo jedan dio sustava, a ne u potpunosti ga prepisati. Stručnjaci su cijenili ovu fantastičnu razinu fleksibilnosti i praktičnosti, pa se Unix brzo proširio svijetom računala.

Stallman je odlučio stvoriti GNU sustav zbog propasti ITS-a, omiljene ideje hakera AI Laba. Smrt ITS-a bila je udarac za njih, uključujući i Richarda. Ako mu je priča s laserskim pisačem Xerox otvorila oči za nepravdu vlasničkih licenci, onda ga je smrt ITS-a gurnula od averzije prema zatvorenom softveru do aktivnog suprotstavljanja istom.

Razlozi smrti ITS-a, kao i njegov kod, sežu daleko u prošlost. Do 1980. većina Labovih hakera već je radila na Lisp stroju i operativnom sustavu za njega.

Lisp je elegantan programski jezik koji je savršen za rad s podacima čija je struktura unaprijed nepoznata. Kreirao ju je pionir istraživanja umjetne inteligencije i tvorac pojma “umjetna inteligencija” John McCarthy, koji je radio na MIT-u u drugoj polovici 50-ih. Naziv jezika je skraćenica za “LIST Processing” ili “list processing”. Nakon što je McCarthy otišao s MIT-a u Stanford, hakeri Laba donekle su promijenili Lisp, stvarajući njegov lokalni dijalekt MACLISP, gdje su prva 3 slova označavala MAC projekt, zahvaljujući kojem se zapravo pojavio AI Laboratorij na MIT-u. Pod vodstvom sistemskog arhitekta Richarda Greenblatta, hakeri Laba razvili su Lisp stroj - posebno računalo za izvršavanje programa u Lispu, kao i operativni sustav za ovo računalo - također, naravno, napisano u Lispu.

Do ranih 80-ih, konkurentske skupine hakera osnovale su dvije tvrtke za proizvodnju i prodaju Lisp strojeva. Greenblattova tvrtka zvala se Lisp Machines Incorporated ili jednostavno LMI. Nadao se da će uspjeti bez vanjskih ulaganja i stvoriti čisto "hakersku tvrtku". Ali većina hakera pridružila se Symbolicsu, tipičnom komercijalnom startupu. Godine 1982. potpuno su napustili MIT.

Oni koji su ostali mogli su se nabrojati na prste jedne ruke, pa su se programi i strojevi popravljali sve dulje ili se uopće nisu popravljali. I što je najgore, prema Stallmanu, "demografske promjene" počele su u Laboratoriju. Hakeri, koji su prije bili u manjini, gotovo su nestali, ostavljajući Laboratorij na potpunom raspolaganju nastavnicima i studentima, čiji je odnos prema PDP-10 bio otvoreno neprijateljski.

Godine 1982. AI ​​Lab je dobio zamjenu za svoj 12 godina star PDP-10 - DECSYSTEM 20. Aplikacije napisane za PDP-10 radile su bez problema na novom računalu, jer je DECSYSTEM 20 u biti bio ažurirani PDP -10, ali starom operativnom sustavu uopće nije odgovarao - ITS se morao prenijeti na novo računalo, što znači gotovo u potpunosti prepisati. I to u trenutku kada su gotovo svi hakeri koji su to mogli učiniti napustili Laboratorij. Tako je komercijalni operativni sustav Twenex brzo preuzeo novo računalo. Nekoliko hakera koji su ostali na MIT-u mogli su to prihvatiti.

"Bez hakera koji bi stvarali i održavali operativni sustav, osuđeni smo na propast", rekli su članovi fakulteta i studenti. "Potreban nam je komercijalni sustav koji podržava neka tvrtka kako bi sama mogla riješiti probleme s ovim sustavom." Stallman se prisjeća da se ovaj argument pokazao okrutnom pogreškom, ali je u to vrijeme zvučao uvjerljivo.

U početku su hakeri vidjeli Twenex kao još jednu inkarnaciju autoritarne korporatokracije koju su htjeli slomiti. Čak je i naziv odražavao neprijateljstvo hakera - zapravo, sustav se zvao TOPS-20, što ukazuje na kontinuitet s TOPS-10, također komercijalnim DEC sustavom za PDP-10. Ali arhitektonski, TOPS-20 nije imao ništa zajedničko s TOPS-10. Rađen je na temelju Tenex sustava koji su Bolt, Beranek i Newman razvili za PDP-10. . Stallman je počeo zvati sustav "Twenex" samo da ga ne bi nazvao TOPS-20. "Sustav je bio daleko od vrhunskih rješenja, tako da se nisam mogao usuditi nazvati ga službenim imenom," prisjeća se Stallman, "pa sam umetnuo slovo 'w' u 'Tenex' da postane 'Twenex'." (Ovo ime poigrava se riječju "dvadeset", tj. "dvadeset")

Računalo koje je pokretalo Twenex/TOPS-20 ironično se zvalo "Oz". Činjenica je da je DECSYSTEM 20 zahtijevao mali PDP-11 stroj za upravljanje terminalom. Jedan haker, kada je prvi put vidio PDP-11 spojen na ovo računalo, usporedio ga je s pretencioznom izvedbom Čarobnjaka iz Oza. “Ja sam veliki i strašni Oz! – recitirao je. "Samo nemoj gledati u sitnice na kojima radim."

Ali u operativnom sustavu novog računala nije bilo ničeg smiješnog. Sigurnost i kontrola pristupa ugrađeni su u Twenex na osnovnoj razini, a njegovi uslužni programi također su dizajnirani imajući na umu sigurnost. Snishodljive šale o sigurnosnim sustavima laboratorija pretvorile su se u ozbiljnu bitku za kontrolu računala. Administratori su tvrdili da bi bez sigurnosnih sustava Twenex bio nestabilan i sklon pogreškama. Hakeri su uvjeravali da se stabilnost i pouzdanost mogu postići mnogo brže uređivanjem izvornog koda sustava. Ali u Laboratoriju ih je već bilo tako malo da ih nitko nije slušao.

Hakeri su mislili da mogu zaobići sigurnosna ograničenja dajući svim korisnicima "povlasti upravljanja" - povišena prava koja daju mogućnost da rade mnoge stvari koje su redovitim korisnicima zabranjene. Ali u ovom slučaju, bilo koji korisnik može oduzeti "povlasti upravljanja" bilo kojem drugom korisniku, a on ih ne može vratiti sebi zbog nedostatka prava pristupa. Stoga su hakeri odlučili steći kontrolu nad sustavom oduzimanjem "upravljačkih privilegija" svima osim sebi.

Pogađanje lozinki i pokretanje programa za ispravljanje pogrešaka dok se sustav dizao nije učinilo ništa. Nakon neuspjeha u "državni udar“, poručio je Stallman svim zaposlenicima Laboratorija.

"Do sada su aristokrati bili poraženi", napisao je, "ali sada su stekli prevlast, a pokušaj preuzimanja vlasti je propao." Richard je poruku potpisao: “Radio Free OZ” kako nitko ne bi pogodio da je to on. Izvrsna maska, s obzirom da su svi u Laboratoriju znali za Stallmanov odnos prema sigurnosnim sustavima i njegovo ruganje lozinkama. Međutim, Richardova averzija prema lozinkama bila je poznata daleko izvan MIT-a. Gotovo cijeli ARPAnet, prototip interneta tog vremena, pristupao je računalima Laboratorija pod Stallmanovim računom. Takav “turist” bio je, primjerice, Don Hopkins, programer iz Kalifornije, koji je putem hakerske predaje saznao da se u poznati ITS sustav na MIT-u može ući jednostavnim unosom 3 slova Stallmanovih inicijala kao login i password.

"Zauvijek sam zahvalan što je MIT meni i mnogim drugim ljudima dao slobodu da se koristimo svojim računalima", kaže Hopkins, "To je svima nama puno značilo."

Ovakva "turistička" politika trajala je dugi niz godina dok je ITS sustav živio, a uprava MIT-a na nju je gledala snishodljivo. . Ali kada je Ozov stroj postao glavni most između Laboratorija i ARPAneta, sve se promijenilo. Stallman je i dalje omogućio pristup svom računu koristeći poznatu prijavu i lozinku, ali su administratori zahtijevali da promijeni lozinku i da je ne daje nikome drugome. Richard je, pozivajući se na svoju etiku, uopće odbio raditi na Ozovom stroju.

“Kada su se lozinke počele pojavljivati ​​na računalima AI Lab-a, odlučio sam slijediti svoje uvjerenje da ne bi trebalo biti lozinki”, kasnije je rekao Stallman, “a budući da sam vjerovao da računala ne trebaju sigurnosne sustave, nisam trebao podržati ove mjere za provedbu njih."

Stallmanovo odbijanje da klekne pred velikim i strašnim Ozovim strojem pokazalo je da rastu napetosti između hakera i nadređenih u Labu. Ali ta je napetost bila samo blijeda sjena sukoba koji je bjesnio unutar same hakerske zajednice, koja je bila podijeljena u 2 tabora: LMI (Lisp Machines Incorporated) i Symbolics.

Symbolics je dobio mnogo ulaganja izvana, što je privuklo mnoge hakere Laba. Radili su na strojnom sustavu Lisp i na MIT-u i izvan njega. Do kraja 1980. tvrtka je zaposlila 14 zaposlenika Laboratorija kao konzultante za razvoj vlastite verzije Lisp stroja. Ostali hakeri, ne računajući Stallmana, radili su za LMI. Richard je odlučio ne stati na stranu i, iz navike, bio je sam.

Isprva su hakeri koje je angažirao Symbolics nastavili raditi na MIT-u, poboljšavajući sustav Lisp stroja. Oni su, kao i LMI hakeri, za svoj kod koristili licencu MIT-a. Zahtijevalo je da se promjene vrate MIT-u, ali nije zahtijevalo da MIT distribuira promjene. Međutim, tijekom 1981. hakeri su se pridržavali džentlmenskog sporazuma u kojem su sva njihova poboljšanja zapisana u MIT-ov Lisp stroj i distribuirana svim korisnicima tih strojeva. Ovakvo stanje ipak je očuvalo donekle stabilnost hakerskog kolektiva.

Ali 16. ožujka 1982. - Stallman se dobro sjeća ovog dana jer mu je bio rođendan - džentlmenski je dogovor došao kraju. To se dogodilo po nalogu menadžmenta Symbolicsa koji je na taj način htio zadaviti svog konkurenta, tvrtku LMI, za koju je radilo puno manje hakera. Čelnici Symbolicsa zaključili su na sljedeći način: ako LMI ima višestruko manje zaposlenika, onda se ispostavlja da je cjelokupni rad na Lisp stroju koristan za njega, a ako se ta razmjena razvoja zaustavi, tada će LMI biti uništen. U tu su svrhu odlučili zloupotrijebiti slovo licence. Umjesto promjena u MIT verziji sustava, koju je LMI mogao koristiti, počeli su opskrbljivati ​​MIT Symbolics verzijom sustava, koju su mogli uređivati ​​kako god su htjeli. Ispostavilo se da je svako testiranje i uređivanje Lispovog strojnog koda na MIT-u išlo samo u korist Symbolicsa.

Kao čovjek odgovoran za održavanje laboratorijskog Lisp stroja (uz Greenblattovu pomoć prvih nekoliko mjeseci), Stallman je bio bijesan. Hakeri Symbolicsa osigurali su kod sa stotinama izmjena koje su uzrokovale pogreške. Smatrajući ovo ultimatumom, Stallman je prekinuo komunikaciju Laboratorija sa Symbolicsom, obećao da više nikada neće raditi na strojevima te tvrtke i najavio da će se pridružiti radu na MIT Lisp stroju kako bi podržao LMI. "U mojim očima, Lab je bio neutralna zemlja, poput Belgije u Drugom svjetskom ratu", kaže Stallman, "i ako je Njemačka napala Belgiju, Belgija je objavila rat Njemačkoj i pridružila se Britaniji i Francuskoj."

Kad su rukovoditelji Symbolicsa primijetili da se njihove najnovije inovacije još uvijek pojavljuju na MIT verziji Lisp stroja, razljutili su se i počeli optuživati ​​hakere Laba za krađu koda. Ali Stallman uopće nije prekršio zakon o autorskim pravima. Proučavao je kôd koji je dao Symbolics i napravio logična nagađanja o budućim popravcima i poboljšanjima, koja je počeo implementirati od nule za MIT-ov Lisp stroj. Rukovoditelji tvrtke Symbolics nisu u to vjerovali. Instalirali su špijunski softver na Stallmanov terminal, koji je snimao sve što je Richard radio. Tako su se nadali da će prikupiti dokaze o krađi koda i pokazati ih upravi MIT-a, ali čak ni početkom 1983. nije bilo gotovo ništa za pokazati. Sve što su imali bilo je desetak mjesta gdje je šifra dvaju sustava izgledala pomalo slično.

Kad su administratori laboratorija Stallmanu pokazali Symbolicsove dokaze, on ih je opovrgnuo rekavši da je kod sličan, ali ne i isti. I okrenuo je logiku uprave Symbolicsa protiv sebe: ako su ta zrnca sličnog koda sve što su mogli iskopati o njemu, onda to samo dokazuje da Stallman zapravo nije ukrao kod. To je bilo dovoljno da voditelji Laboratorija odobre Stallmanov rad i on ga je nastavio do kraja 1983. godine. .

Ali Stallman je promijenio pristup. Kako bi zaštitio sebe i projekt što je više moguće od tvrdnji Symbolicsa, potpuno je prestao gledati njihove izvorne kodove. Počeo je pisati kod isključivo na temelju dokumentacije. Richard nije očekivao najveće inovacije od Symbolicsa, već ih je sam implementirao, a potom samo dodao sučelja za kompatibilnost s Symbolics implementacijom, oslanjajući se na njihovu dokumentaciju. Također je pročitao Symbolicsov zapisnik promjena koda da vidi koje bugove ispravljaju, a te je bugove sam popravio na druge načine.

Ono što se dogodilo ojačalo je Stallmanovu odlučnost. Stvorivši analoge novih funkcija Symbolicsa, uvjerio je osoblje Laboratorija da koriste MIT verziju stroja Lisp, što je osiguralo dobru razinu testiranja i otkrivanja grešaka. A verzija MIT-a bila je potpuno otvorena za LMI. "Želio sam kazniti Symbolics pod svaku cijenu", kaže Stallman. Ova izjava pokazuje ne samo da je Richardov karakter daleko od pacifizma, već i da ga je sukob oko Lisp stroja na brzinu dirnuo.

Stallmanova očajnička odlučnost može se razumjeti kada se uzme u obzir kako je to njemu izgledalo - "uništenje" njegovog "doma", odnosno hakerske zajednice i kulture AI ​​Laba. Levy je kasnije intervjuirao Stallmana putem e-pošte, a Richard se usporedio s Ishijem, posljednjim poznatim pripadnikom indijanskog naroda Yahi, koji je istrijebljen u indijskim ratovima 1860-ih i 1870-ih. Ova analogija daje opisanim događajima epski, gotovo mitološki opseg. Hakeri koji su radili za Symbolics vidjeli su to u malo drugačijem svjetlu: njihova tvrtka nije uništavala niti istrebljivala, već samo radila ono što je davno trebalo učiniti. Nakon što je Lisp stroj premjestio u komercijalno polje, Symbolics je promijenio pristup dizajnu programa - umjesto da ih kroji prema tvrdokornim šablonama hakera, počeli su koristiti mekše i humanije standarde menadžera. I Stallmana nisu smatrali protivničkim borcem u obrani pravedne stvari, već nositeljem zastarjelog načina razmišljanja.

Osobni sukobi također su dodali ulje na vatru. I prije pojave Symbolicsa mnogi su hakeri izbjegavali Stallmana, a sada se situacija višestruko pogoršala. “Više me nisu pozivali na izlete u Kinesku četvrt,” prisjeća se Richard, “Greenblatt je započeo običaj: kada želite ručati, obiđete kolege i pozovete ih sa sobom ili im pošaljete poruku. Negdje 1980-1981 prestali su me zvati. Ne samo da me nisu pozvali, nego su, kako mi je kasnije jedna osoba priznala, vršili pritisak na ostale da mi nitko ne kaže za planirane vlakove za ručak.”

Izvor: linux.org.ru

Dodajte komentar