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


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

Besplatno kao u Slobodi na ruskom: Poglavlje 1. Fatalni štampač


Slobodno kao u Slobodi na ruskom: Poglavlje 2. 2001: Odiseja hakera


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. Struja slobode


Besplatno kao u Slobodi na ruskom: Poglavlje 6. Emacs Commune

Dilema apsolutnog morala

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

Ovog Dana zahvalnosti, počinjem da pišem novi, potpuno Unix kompatibilan operativni sistem pod nazivom GNU (GNU's Not Unix). Slobodno ću ga podijeliti svima. Zaista mi treba vaše vrijeme, novac, šifra, oprema - svaka pomoć.

Za iskusnog Unix programera, poruka je bila mješavina idealizma i ega. Autor ne samo da se obavezao da od nule ponovo stvori ceo operativni sistem, veoma napredan i moćan, već i da ga unapredi. GNU sistem je trebao sadržavati sve potrebne komponente poput uređivača teksta, komandne ljuske, kompajlera, kao i „niz drugih stvari“. Takođe su obećali izuzetno atraktivne karakteristike koje nisu bile dostupne u postojećim Unix sistemima: grafički interfejs u programskom jeziku Lisp, sistem datoteka otporan na greške, mrežni protokoli zasnovani na MIT mrežnoj arhitekturi.

„GNU će moći da pokreće Unix programe, ali neće biti identičan Unix sistemu“, napisao je autor, „Napravićemo sva neophodna poboljšanja koja su sazrela tokom godina rada na različitim operativnim sistemima.“

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

Ja sam Richard Stallman, tvorac originalnog EMACS editora, čiji ste jedan od klonova vjerovatno naišli. Radim u laboratoriji MIT AI. Imam veliko iskustvo u razvoju kompajlera, urednika, debagera, komandnih interpretatora, ITS i Lisp Machine operativnih sistema. Implementirana podrška ekrana nezavisna od terminala u ITS-u, kao i sistem datoteka otporan na greške i dva prozorska sistema za Lisp mašine.

Desilo se da Stallmanov zamršeni projekat nije započeo na Dan zahvalnosti, kao što je obećano. Tek u januaru 1984. Richard je uronio glavom u razvoj softvera u Unix stilu. Iz perspektive arhitekte ITS sistema, to je bilo kao da se od izgradnje maurskih palata pređe na izgradnju tržnih centara u predgrađu. Međutim, razvoj Unix sistema je takođe ponudio prednosti. ITS je, uz svu svoju snagu, imao slabu tačku - radio je samo na računaru PDP-10 iz DEC-a. Početkom 80-ih, Laboratorija je napustila PDP-10, a ITS, koji su hakeri upoređivali sa užurbanim gradom, postao je grad duhova. Unix je, s druge strane, prvobitno dizajniran s ciljem prenosivosti s jedne arhitekture računala na drugu, tako da mu takvi problemi nisu prijetili. Razvijen od strane mlađih istraživača u AT&T-u, Unix je skliznuo ispod korporativnog radara i pronašao miran dom u neprofitnom svijetu think tankova. Sa manje resursa od svoje braće hakera na MIT-u, Unix programeri su prilagodili svoj sistem da radi na zoološkom vrtu različitog hardvera. Uglavnom na 16-bitnom PDP-11, koji su laboratorijski hakeri smatrali neprikladnim za ozbiljne zadatke, ali i na 32-bitnim mainframe-ima kao što je VAX 11/780. Do 1983. godine, kompanije kao što je Sun Microsystems stvorile su relativno kompaktne desktop računare — „radne stanice“ — uporedive po snazi ​​sa starim glavnim računarom PDP-10. Sveprisutni Unix se također smjestio na ove radne stanice.

Unix prenosivost je osigurana dodatnim slojem apstrakcije između aplikacija i hardvera. Umjesto pisanja programa u mašinskom kodu određenog računara, kao što su hakeri iz Laboratorije radili kada su razvijali programe za ITS na PDP-10, Unix programeri su koristili programski jezik visokog nivoa C, koji nije bio vezan za određenu hardversku platformu. Istovremeno, programeri su se fokusirali na standardizaciju interfejsa preko kojih su delovi operativnog sistema međusobno delovali. Rezultat je bio sistem u kojem se bilo koji dio može redizajnirati bez utjecaja na sve ostale dijelove i bez ometanja njihovog rada. A da bi se sistem prebacio s jedne hardverske arhitekture na drugu, bilo je dovoljno i prepraviti samo jedan dio sistema, a ne prepisati ga u potpunosti. Stručnjaci su cijenili ovaj fantastičan nivo fleksibilnosti i praktičnosti, tako da se Unix brzo proširio svijetom kompjutera.

Stallman je odlučio da stvori GNU sistem zbog propasti ITS-a, omiljene zamisli hakera AI Lab-a. Smrt ITS-a bila je udarac za njih, uključujući i Richarda. Ako mu je priča sa laserskim štampač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 tome.

Razlozi smrti ITS-a, kao i njegov kod, sežu daleko u prošlost. Do 1980. većina hakera Laboratorije je već radila na Lisp mašini i operativnom sistemu za nju.

Lisp je elegantan programski jezik koji je savršen za rad s podacima čija je struktura unaprijed nepoznata. Stvorio ga je pionir istraživanja umjetne inteligencije i tvorac pojma “vještačka inteligencija” John McCarthy, koji je radio na MIT-u u drugoj polovini 50-ih. Naziv jezika je skraćenica za “LISt Processing” ili “List Processing”. Nakon što je McCarthy napustio MIT u Stanford, hakeri Laboratorije su donekle promijenili Lisp, kreirajući njegov lokalni dijalekt MACLISP, gdje su prva 3 slova označavala MAC projekt, zahvaljujući kojem se, zapravo, pojavio AI Laboratory na MIT-u. Pod vođstvom sistemskog arhitekte Richarda Greenblatta, hakeri Laboratorije razvili su Lisp mašinu - poseban računar za izvršavanje programa na Lisp-u, kao i operativni sistem za ovaj računar - takođe, naravno, napisan na Lisp-u.

Do ranih 80-ih, konkurentske grupe hakera osnovale su dvije kompanije koje proizvode i prodaju Lisp mašine. Greenblattova kompanija se zvala Lisp Machines Incorporated, ili jednostavno LMI. Nadao se da će bez vanjskih ulaganja stvoriti čisto „hakersku kompaniju“. 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 izbrojati na prste jedne ruke, pa je programima i mašinama bilo potrebno sve duže za popravku, ili ih uopšte nisu popravljali. I što je najgore, prema Stallmanu, “demografske promjene” su počele u Laboratoriji. Hakeri, koji su ranije bili u manjini, gotovo su nestali, ostavljajući Laboratoriju na potpuno raspolaganje 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čunaru, jer je DECSYSTEM 20 u suštini bio ažurirani PDP -10, ali stari operativni sistem uopšte nije bio prikladan - ITS je morao biti prenet na novi računar, što znači skoro potpuno prepisan. I to u trenutku kada su skoro svi hakeri koji su to mogli da urade napustili Laboratoriju. Tako je komercijalni Twenex operativni sistem brzo preuzeo novi računar. Nekoliko hakera koji su ostali na MIT-u mogli su samo to prihvatiti.

"Bez hakera koji bi kreirali i održavali operativni sistem, osuđeni smo na propast", rekli su profesori i studenti. "Potreban nam je komercijalni sistem koji podržava neka kompanija kako bi sama mogla riješiti probleme sa ovim sistemom." Stallman podsjeća da se ovaj argument pokazao kao okrutna greška, ali je tada zvučao uvjerljivo.

U početku, hakeri su vidjeli Twenex kao još jednu inkarnaciju autoritarne korporatokratije koju su htjeli razbiti. Čak je i ime odražavalo neprijateljstvo hakera – u stvari, sistem se zvao TOPS-20, što ukazuje na kontinuitet sa TOPS-10, takođe komercijalnim DEC sistemom za PDP-10. Ali arhitektonski, TOPS-20 nije imao ništa zajedničko sa TOPS-10. Napravljen je na osnovu Tenex sistema, koji su Bolt, Beranek i Newman razvili za PDP-10. . Stallman je počeo da zove sistem “Twenex” samo da ga ne bi nazvao TOPS-20. “Sistem je bio daleko od vrhunskih rješenja, pa se nisam mogao usuditi da ga nazovem njegovim službenim imenom”, prisjeća se Stallman, “pa sam umetnuo slovo 'w' u 'Tenex' da bih napravio 'Twenex'." (Ovo ime igra na riječ “dvadeset”, tj. “dvadeset”)

Računar koji je pokretao Twenex/TOPS-20 ironično je nazvan "Oz". Činjenica je da je DECSYSTEM 20 zahtijevao malu PDP-11 mašinu za rad terminala. Jedan haker, kada je prvi put vidio PDP-11 povezan sa ovim kompjuterom, uporedio ga je sa pretencioznom izvedbom Čarobnjaka iz Oza. „Ja sam veliki i strašni Oz! – recitovao je. „Samo nemoj da gledaš malog pomfrita na kome radim.”

Ali u operativnom sistemu novog računara nije bilo ničeg smešnog. Sigurnost i kontrola pristupa ugrađeni su u Twenex na osnovnom nivou, a njegovi aplikacioni uslužni programi su također dizajnirani sa sigurnošću na umu. Snishodljive šale o sigurnosnim sistemima Laboratorije pretvorile su se u ozbiljnu bitku za kontrolu kompjutera. Administratori su tvrdili da bi bez sigurnosnih sistema Twenex bio nestabilan i sklon greškama. Hakeri su uvjeravali da se stabilnost i pouzdanost mogu postići mnogo brže uređivanjem izvornog koda sistema. Ali već ih je u Laboratoriji bilo tako malo da ih niko nije slušao.

Hakeri su mislili da mogu zaobići sigurnosna ograničenja tako što će svim korisnicima dati "privilegije upravljanja" - povišena prava koja im daju mogućnost da rade mnoge stvari koje je prosječnom korisniku zabranjeno. Ali u ovom slučaju, bilo koji korisnik je mogao oduzeti "upravljačke privilegije" bilo kom drugom korisniku, a nije ih mogao vratiti sebi zbog nedostatka prava pristupa. Zbog toga su hakeri odlučili da preuzmu kontrolu nad sistemom oduzimajući „privilegije upravljanja“ svima osim sebi.

Pogađanje lozinki i pokretanje programa za otklanjanje grešaka dok se sistem dizao nisu učinili ništa. Nakon neuspjeha u "državni udar“, poručio je Stallman svim zaposlenima Laboratorije.

„Do sada su aristokrate bili poraženi“, pisao je, „ali sada su dobili prednost, a pokušaj preuzimanja vlasti je propao.“ Richard je potpisao poruku: “Radio Free OZ” kako niko ne bi pogodio da je to on. Odlična maska, s obzirom da su svi u Laboratoriji znali za Stallmanov odnos prema sigurnosnim sistemima i njegovo ismijavanje lozinki. Međutim, Richardova averzija prema lozinkama bila je poznata daleko izvan MIT-a. Skoro cijeli ARPAnet, prototip interneta tog vremena, pristupao je računarima Laboratorije pod Stallmanovim računom. Takav "turista" bio je, na primjer, Don Hopkins, programer iz Kalifornije, koji je od usta do usta hakera saznao da se u čuveni ITS sistem na MIT-u može jednostavno uneti 3 slova Stallmanovih inicijala kao login i lozinka.

“Zauvijek sam zahvalan što je MIT meni i mnogim drugim ljudima dao slobodu da koristim svoje kompjutere,” kaže Hopkins, “Svima nam je to puno značilo.”

Ova "turistička" politika trajala je dugi niz godina dok je ITS sistem živio, a menadžment MIT-a je na to gledao snishodljivo. . Ali kada je Ozova mašina postala glavni most od Laboratorije do 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 drugom. Richard je, pozivajući se na svoju etiku, uopće odbio raditi na Ozovoj mašini.

“Kada su se lozinke počele pojavljivati ​​na računarima AI Lab-a, odlučio sam slijediti svoje uvjerenje da ne bi trebalo postojati lozinke,” kasnije je rekao Stallman, “a pošto sam vjerovao da kompjuterima nisu potrebni sigurnosni sistemi, nisam trebao podržati ove mjere za implementaciju njih."

Stallmanovo odbijanje da klekne pred velikom i strašnom Oz mašinom pokazalo je da tenzije rastu između hakera i nadređenih u laboratoriji. Ali ova napetost je bila samo blijeda sjena sukoba koji je bjesnio unutar same hakerske zajednice, koja je bila podijeljena u 2 tabora: LMI (Lisp Machines Incorporated) i Symbolic.

Simbolika je primila mnogo ulaganja izvana, što je privuklo mnoge hakere Laboratorije. Radili su na Lisp mašinskom sistemu i na MIT-u i van njega. Do kraja 1980. godine, kompanija je angažovala 14 radnika Laboratorije kao konsultante za razvoj sopstvene verzije Lisp mašine. Ostali hakeri, ne računajući Stallmana, radili su za LMI. Ričard je odlučio da ne zauzima stranu, i, iz navike, bio je sam.

U početku su hakeri koje je unajmio Symbolics nastavili da rade na MIT-u, poboljšavajući sistem Lisp mašina. Oni su, kao i LMI hakeri, koristili MIT licencu za svoj kod. Zahtevao je da se promene vrate MIT-u, ali nije zahtevao MIT da distribuira promene. Međutim, tokom 1981. hakeri su se pridržavali džentlmenskog sporazuma u kojem su sva njihova poboljšanja upisana u MIT-ovu Lisp mašinu i distribuirana svim korisnicima tih mašina. Ovakvo stanje je ipak sačuvalo određenu stabilnost hakerskog kolektiva.

Ali 16. marta 1982. - Stalman se dobro sjeća ovog dana jer mu je bio rođendan - džentlmenskom sporazumu je došao kraj. To se dogodilo po nalogu menadžmenta Symbolics-a; tako su htjeli da zadave svog konkurenta, kompaniju LMI, za koju je radilo mnogo manje hakera. Čelnici Symbolicsa su razmišljali ovako: ako LMI ima višestruko manje zaposlenih, onda se ispostavlja da mu je ukupan rad na Lisp mašini koristan, a ako se ova razmjena razvoja zaustavi, onda će LMI biti uništen. U tu svrhu odlučili su da zloupotrebe slovo dozvole. Umjesto da unesu izmjene u MIT verziju sistema, koju je LMI mogao koristiti, počeli su isporučivati ​​MIT-u Symbolics verziju sistema, koju su mogli uređivati ​​kako god žele. Ispostavilo se da je svako testiranje i uređivanje Lisp mašinskog koda na MIT-u išlo samo u korist Symbolic-a.

Kao čovjek odgovoran za održavanje laboratorijske Lisp mašine (uz Greenblattovu pomoć prvih nekoliko mjeseci), Stallman je bio bijesan. Hakeri sa simbolikom dali su kod sa stotinama izmjena koje su uzrokovale greške. Smatrajući ovo ultimatumom, Stallman je prekinuo komunikaciju Laboratorije sa Symbolicsom, obećao da više nikada neće raditi na mašinama te kompanije i najavio da će se pridružiti radu na MIT Lisp mašini kako bi podržao LMI. “U mojim očima, Laboratorija je bila 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.”

Kada su čelnici Symbolicsa primijetili da se njihove najnovije inovacije još uvijek pojavljuju na MIT verziji Lisp mašine, naljutili su se i počeli optuživati ​​hakere Laboratorije za krađu koda. Ali Stallman uopće nije prekršio zakon o autorskim pravima. Proučavao je kod koji je dao Symbolics i napravio logična nagađanja o budućim popravkama i poboljšanjima, koje je počeo da implementira od nule za MIT-ovu Lisp mašinu. Rukovodioci Symbolicsa nisu vjerovali. Instalirali su špijunski softver na Stallmanov terminal, koji je snimao sve što je Richard radio. Stoga su se nadali da će prikupiti dokaze o krađi koda i pokazati ih administraciji MIT-a, ali čak do početka 1983. nije bilo gotovo ništa za pokazati. Sve što su imali bilo je desetak mjesta na kojima je kod dva sistema izgledao pomalo slično.

Kada su administratori laboratorije pokazali Symbolicsov dokaz Stallmanu, on ga je opovrgnuo, rekavši da je kod sličan, ali ne isti. I okrenuo je logiku uprave Symbolicsa protiv sebe: ako su ova zrnca sličnog koda sve što su mogli iskopati na njemu, onda to samo dokazuje da Stallman zapravo nije ukrao šifru. To je bilo dovoljno da rukovodioci Laboratorije odobre Stallmanov rad i on je to nastavio do kraja 1983. godine. .

Ali Stallman je promijenio pristup. Kako bi što više zaštitio sebe i projekt od tvrdnji Symbolicsa, potpuno je prestao gledati njihove izvorne kodove. Počeo je pisati kod isključivo na osnovu dokumentacije. Richard nije očekivao najveće inovacije od Symbolicsa, već ih je sam implementirao, a zatim samo dodao interfejse za kompatibilnost sa implementacijom Symbolicsa, oslanjajući se na njihovu dokumentaciju. Također je pročitao Symbolics code changelog da vidi koje greške popravljaju, a sam je ispravio te greške na druge načine.

Ono što se dogodilo ojačalo je Stallmanovu odlučnost. Stvorivši analoge novih funkcija Symbolics, uvjerio je osoblje Laboratorije da koristi MIT verziju Lisp mašine, što je osiguralo dobar nivo testiranja i detekcije grešaka. A MIT verzija je bila potpuno otvorena za LMI. „Želio sam da kaznim simbolike po svaku cenu“, kaže Stallman. Ova izjava pokazuje ne samo da je Richardov karakter daleko od pacifističkog, već i da ga je sukob oko Lisp mašine dirnuo na brzinu.

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 Lab-a. Levy je kasnije intervjuisao Stallmana putem e-pošte, a Richard se uporedio sa Ishijem, posljednjim poznatim pripadnikom indijskog naroda Yahi, koji je istrijebljen u Indijskim ratovima 1860-ih i 1870-ih. Ova analogija daje opisanim događajima epski, gotovo mitološki obim. Hakeri koji su radili za Symbolics su to vidjeli u malo drugačijem svjetlu: njihova kompanija nije uništila ili istrijebila, već je samo učinila ono što je odavno trebalo učiniti. Premjestivši Lisp mašinu u komercijalno polje, Symbolics je promijenio pristup dizajnu programa - umjesto da ih kroji prema tvrdokornim obrascima hakera, počeli su koristiti mekše i humanije standarde menadžera. I oni su smatrali Stallmana ne kao neprijateljskog borca ​​u odbrani pravednog cilja, već kao nosioca zastarjelog razmišljanja.

Ulje na vatru dolile su i lične svađe. Čak i prije pojave Symbolic-a, mnogi hakeri su izbjegavali Stallmana, a sada se situacija višestruko pogoršala. „Više me nisu pozivali da idem na izlete u Kinesku četvrt“, priseća se Ričard, „Grinblat je započeo običaj: kada želite da ručate, obiđete svoje kolege i pozovete ih sa sobom ili im pošaljete poruku. Negdje 1980-1981 su me prestali zvati. Ne samo da me nisu pozvali, nego su, kako mi je kasnije priznala jedna osoba, vršili pritisak na ostale da mi niko ne kaže o planiranim vozovima za ručak.”

izvor: linux.org.ru

Dodajte komentar