Wolny jak w wolności po rosyjsku: rozdział 7. Dylemat moralności absolutnej


Wolny jak w wolności po rosyjsku: rozdział 7. Dylemat moralności absolutnej

Wolny jak w wolności po rosyjsku: rozdział 1. Fatalna drukarka


Wolny jak w wolności w języku rosyjskim: rozdział 2. 2001: Odyseja hakerów


Wolny jak w wolności po rosyjsku: rozdział 3. Portret hakera z młodości


Wolny jak w wolności po rosyjsku: rozdział 4. Obalić Boga


Wolny jak w wolności po rosyjsku: rozdział 5. Strużka wolności


Wolny jak w wolności w języku rosyjskim: rozdział 6. Komuna Emacsa

Dylemat moralności absolutnej

O wpół do dwunastej w nocy 27 września 1983 roku w grupie Usenet net.unix-wizards pojawiła się nietypowa wiadomość podpisana rms@mit-oz. Tytuł wiadomości był krótki i niezwykle kuszący: „Nowa implementacja UNIX-a”. Ale zamiast jakiejś gotowej nowej wersji Uniksa czytelnik znalazł wywołanie:

W Święto Dziękczynienia zaczynam pisać nowy, w pełni kompatybilny z Uniksem system operacyjny o nazwie GNU (GNU's Not Unix). Rozdam go bezpłatnie każdemu. Naprawdę potrzebuję Twojego czasu, pieniędzy, kodu, sprzętu - jakiejkolwiek pomocy.

Dla doświadczonego programisty Uniksa przesłanie było mieszaniną idealizmu i ego. Autor podjął się nie tylko odtworzenia od podstaw całego systemu operacyjnego, bardzo zaawansowanego i wydajnego, ale także jego ulepszenia. System GNU miał zawierać wszystkie niezbędne komponenty, takie jak edytor tekstu, powłokę poleceń, kompilator, a także „kilka innych rzeczy”. Obiecali także niezwykle atrakcyjne funkcje, które nie były dostępne w istniejących systemach Unixowych: interfejs graficzny w języku programowania Lisp, odporny na błędy system plików, protokoły sieciowe oparte na architekturze sieciowej MIT.

„GNU będzie mogło uruchamiać programy uniksowe, ale nie będzie identyczne z systemem uniksowym” – napisał autor. „Wprowadzimy wszystkie niezbędne ulepszenia, które wypracowaliśmy przez lata pracy nad różnymi systemami operacyjnymi”.

Przewidując sceptyczną reakcję na jego przesłanie, autor uzupełnił je krótką autobiograficzną dygresją pod tytułem: „Kim jestem?”:

Jestem Richard Stallman, twórca oryginalnego edytora EMACS, jednego z klonów, z którymi prawdopodobnie się spotkałeś. Pracuję w laboratorium AI MIT. Mam duże doświadczenie w tworzeniu kompilatorów, edytorów, debuggerów, interpreterów poleceń, systemów operacyjnych ITS i Lisp Machine. Zaimplementowano w ITS niezależną od terminala obsługę ekranów, a także odporny na awarie system plików i systemy dwóch okien dla maszyn Lisp.

Tak się złożyło, że skomplikowany projekt Stallmana nie rozpoczął się w Święto Dziękczynienia, jak obiecano. Dopiero w styczniu 1984 roku Richard rzucił się na żywioł tworzenia oprogramowania w stylu uniksowym. Z perspektywy architekta systemów ITS było to jak przejście od budowy mauretańskich pałaców do budowy podmiejskich centrów handlowych. Jednak rozwój systemu Unix przyniósł także korzyści. ITS przy całej swojej mocy miał słaby punkt – działał tylko na komputerze PDP-10 firmy DEC. Na początku lat 80. Laboratorium porzuciło PDP-10, a ITS, które hakerzy porównali do ruchliwego miasta, stało się miastem duchów. Z drugiej strony Unix został pierwotnie zaprojektowany z myślą o przenośności z jednej architektury komputera na inną, więc takie problemy mu nie zagrażały. Opracowany przez młodych badaczy z AT&T, Unix wymknął się spod radaru korporacji i znalazł spokojny dom w non-profit świecie ośrodków doradczych. Mając mniej zasobów niż ich bracia-hakerzy z MIT, twórcy Uniksa przystosowali swój system do działania na zoo zróżnicowanego sprzętu. Głównie na 16-bitowym PDP-11, który hakerzy laboratoryjni uznali za nieodpowiedni do poważnych zadań, ale także na 32-bitowych komputerach mainframe, takich jak VAX 11/780. Do roku 1983 firmy takie jak Sun Microsystems stworzyły stosunkowo kompaktowe komputery stacjonarne – „stacje robocze” – o mocy porównywalnej ze starym komputerem mainframe PDP-10. Wszechobecny Unix zadomowił się także na tych stacjach roboczych.

Przenośność Uniksa została zapewniona przez dodatkową warstwę abstrakcji pomiędzy aplikacjami i sprzętem. Zamiast pisać programy w kodzie maszynowym konkretnego komputera, jak to zrobili hakerzy z laboratorium podczas opracowywania programów dla ITS na PDP-10, programiści Uniksa używali języka programowania C wysokiego poziomu, który nie był powiązany z konkretną platformą sprzętową. Jednocześnie twórcy skupili się na ujednoliceniu interfejsów, za pośrednictwem których elementy systemu operacyjnego wchodzą ze sobą w interakcję. W rezultacie powstał system, w którym dowolną część można było przeprojektować bez wpływu na wszystkie inne części i bez zakłócania ich działania. A żeby przenieść system z jednej architektury sprzętowej na drugą, wystarczyło też przerobić tylko jedną część systemu, a nie przepisać go całkowicie. Eksperci docenili ten fantastyczny poziom elastyczności i wygody, dlatego Unix szybko rozprzestrzenił się w świecie komputerowym.

Stallman zdecydował się stworzyć system GNU ze względu na upadek ITS, ulubionego pomysłu hakerów AI Lab. Śmierć ITS była ciosem dla nich, w tym dla Richarda. Jeśli historia z drukarką laserową Xerox otworzyła mu oczy na niesprawiedliwość licencji własnościowych, to śmierć ITS popchnęła go od niechęci do zamkniętego oprogramowania do aktywnego sprzeciwu wobec niego.

Przyczyny śmierci ITS, podobnie jak jego kodu, sięgają daleko w przeszłość. Do 1980 roku większość hakerów w laboratorium pracowała już nad maszyną Lisp i dla niej systemem operacyjnym.

Lisp to elegancki język programowania, który idealnie nadaje się do pracy z danymi, których struktura nie jest z góry znana. Został stworzony przez pioniera badań nad sztuczną inteligencją i twórcę terminu „sztuczna inteligencja” Johna McCarthy’ego, który pracował w MIT w drugiej połowie lat 50. Nazwa języka jest skrótem od „LISt Processing” lub „list Processing”. Po tym jak McCarthy opuścił MIT na rzecz Stanforda, hakerzy laboratorium zmienili nieco Lispa, tworząc jego lokalny dialekt MACLISP, gdzie pierwsze 3 litery oznaczały projekt MAC, dzięki czemu tak naprawdę pojawiło się Laboratorium AI na MIT. Pod kierownictwem architekta systemu Richarda Greenblatta hakerzy z laboratorium opracowali maszynę Lisp – specjalny komputer do wykonywania programów w Lisp, a także system operacyjny dla tego komputera – również oczywiście napisany w Lisp.

Na początku lat 80. konkurujące ze sobą grupy hakerów założyły dwie firmy produkujące i sprzedające maszyny Lisp. Firma Greenblatta nazywała się Lisp Machines Incorporated lub po prostu LMI. Miał nadzieję obejść się bez inwestycji zewnętrznych i stworzyć czysto „firmę hakerską”. Jednak większość hakerów dołączyła do Symbolics, typowego komercyjnego start-upu. W 1982 całkowicie opuścili MIT.

Tych, którzy pozostali, można było policzyć na palcach jednej ręki, dlatego naprawy programów i maszyn trwały coraz dłużej lub w ogóle nie były naprawiane. A co najgorsze, zdaniem Stallmana, w Laboratorium rozpoczęły się „zmiany demograficzne”. Hakerzy, którzy wcześniej stanowili mniejszość, niemal zniknęli, pozostawiając Laboratorium do całkowitej dyspozycji nauczycieli i uczniów, których stosunek do PDP-10 był jawnie wrogi.

W 1982 roku AI Lab otrzymało następcę swojego 12-letniego PDP-10 - DECSYSTEM 20. Aplikacje napisane dla PDP-10 działały bez problemów na nowym komputerze, ponieważ DECSYSTEM 20 był w zasadzie zaktualizowanym PDP -10, ale stary system operacyjny w ogóle się nie nadawał - ITS musiał zostać przeniesiony na nowy komputer, co oznaczało prawie całkowite napisanie go od nowa. I to w czasie, gdy prawie wszyscy hakerzy, którzy mogliby to zrobić, opuścili Laboratorium. Tak więc komercyjny system operacyjny Twenex szybko przejął kontrolę nad nowym komputerem. Nieliczni hakerzy, którzy pozostali w MIT, mogli to tylko zaakceptować.

„Bez hakerów, którzy stworzyliby i utrzymywali system operacyjny, jesteśmy skazani na porażkę” – stwierdzili wykładowcy i studenci. „Potrzebujemy komercyjnego systemu wspieranego przez jakąś firmę, aby samodzielnie rozwiązało problemy z tym systemem”. Stallman wspomina, że ​​argument ten okazał się okrutnym błędem, ale wówczas wydawał się przekonujący.

Początkowo hakerzy postrzegali Twenex jako kolejne wcielenie autorytarnej korporacjokracji, którą chcieli rozbić. Już sama nazwa odzwierciedlała wrogość hakerów – tak naprawdę system nazywał się TOPS-20, co wskazywało na ciągłość z TOPS-10, także komercyjnym systemem DEC dla PDP-10. Ale architektonicznie TOPS-20 nie miał nic wspólnego z TOPS-10. Wykonano go w oparciu o system Tenex, który Bolt, Beranek i Newman opracowali dla PDP-10. . Stallman zaczął nazywać system „Twenex”, aby uniknąć nazywania go TOPS-20. „Systemowi daleko było do rozwiązań z najwyższej półki, więc nie odważyłem się nazwać go oficjalną nazwą” – wspomina Stallman, „więc w słowo „Tenex” wstawiłem literę „w”, żeby było „Twenex”. (Ta nazwa gra na słowie „dwadzieścia”, czyli „dwadzieścia”)

Komputer obsługujący Twenex/TOPS-20 został ironicznie nazwany „Oz”. Faktem jest, że DECSYSTEM 20 potrzebował małej maszyny PDP-11 do obsługi terminala. Pewien haker, kiedy po raz pierwszy zobaczył PDP-11 podłączony do tego komputera, porównał go do pretensjonalnego wykonania Czarnoksiężnika z krainy Oz. „Jestem wielkim i strasznym Ozem! – wyrecytował. „Tylko nie patrz na małą frytkę, nad którą pracuję”.

Ale w systemie operacyjnym nowego komputera nie było nic śmiesznego. Bezpieczeństwo i kontrola dostępu zostały wbudowane w Twenex na poziomie podstawowym, a jego narzędzia użytkowe również zostały zaprojektowane z myślą o bezpieczeństwie. Protekcjonalne żarty na temat systemów bezpieczeństwa laboratorium zamieniły się w poważną bitwę o kontrolę nad komputerem. Administratorzy argumentowali, że bez systemów bezpieczeństwa Twenex byłby niestabilny i podatny na błędy. Hakerzy zapewniali, że stabilność i niezawodność można osiągnąć znacznie szybciej, edytując kod źródłowy systemu. Ale w Laboratorium było ich już tak mało, że nikt ich nie słuchał.

Hakerzy myśleli, że mogą obejść ograniczenia bezpieczeństwa, przyznając wszystkim użytkownikom „uprawnienia sterujące” – podwyższone uprawnienia, które dają im możliwość wykonywania wielu czynności, których przeciętny użytkownik nie może robić. Ale w tym przypadku każdy użytkownik mógł odebrać „uprawnienia do sterowania” innemu użytkownikowi i nie mógł ich zwrócić sobie ze względu na brak praw dostępu. Dlatego hakerzy postanowili przejąć kontrolę nad systemem, odbierając „uprawnienia do sterowania” wszystkim oprócz siebie.

Zgadywanie haseł i uruchamianie debugera podczas uruchamiania systemu nic nie dało. Po niepowodzeniu w „zamach stanu”, Stallman wysłał wiadomość do wszystkich pracowników Laboratorium.

„Do tej pory arystokraci byli pokonani” – napisał – „ale teraz zdobyli przewagę, a próba przejęcia władzy nie powiodła się”. Richard podpisał wiadomość: „Radio Free OZ”, aby nikt nie domyślił się, że to on. Doskonałe przebranie, biorąc pod uwagę, że wszyscy w Laboratorium znali stosunek Stallmana do systemów bezpieczeństwa i jego kpiny z haseł. Jednak niechęć Richarda do haseł była znana daleko poza MIT. Prawie cały ARPAnet, prototyp ówczesnego Internetu, uzyskiwał dostęp do komputerów Laboratorium za pośrednictwem konta Stallmana. Takim „turystą” był na przykład Don Hopkins, programista z Kalifornii, który z ust hakerów dowiedział się, że do słynnego systemu ITS na MIT można wejść po prostu wpisując 3 litery inicjałów Stallmana jako login i hasło.

„Jestem dozgonnie wdzięczny, że MIT dał mi i wielu innym osobom swobodę korzystania z komputerów” – mówi Hopkins. „To wiele znaczyło dla nas wszystkich”.

Ta polityka „turystyczna” trwała wiele lat, dopóki istniał system ITS, a kierownictwo MIT patrzyło na nią protekcjonalnie. . Ale kiedy maszyna Oza stała się głównym pomostem łączącym Laboratorium z ARPAnetem, wszystko się zmieniło. Stallman w dalszym ciągu zapewniał dostęp do swojego konta przy użyciu znanego loginu i hasła, jednak administratorzy zażądali od niego zmiany hasła i nieudostępniania go nikomu innemu. Richard, powołując się na swoją etykę, w ogóle odmówił pracy na maszynie Oza.

„Kiedy hasła zaczęły pojawiać się na komputerach AI Lab, zdecydowałem się kierować swoim przekonaniem, że haseł nie powinno być” – powiedział później Stallman – „a ponieważ uważałem, że komputery nie potrzebują systemów bezpieczeństwa, nie powinienem był wspierać tych środków we wdrażaniu ich. "

Odmowa Stallmana uklęknięcia przed wielką i straszliwą maszyną Oz pokazała, że ​​między hakerami a przełożonymi Laboratorium narasta napięcie. Ale to napięcie było jedynie bladym cieniem konfliktu, który szalał w samej społeczności hakerów, która była podzielona na 2 obozy: LMI (Lisp Machines Incorporated) i Symbolics.

Symbolika otrzymała wiele inwestycji z zewnątrz, co przyciągnęło wielu hakerów z laboratorium. Pracowali nad systemem maszynowym Lisp zarówno w MIT, jak i poza nim. Do końca 1980 roku firma zatrudniła 14 pracowników Laboratorium w charakterze konsultantów w celu opracowania własnej wersji maszyny Lisp. Reszta hakerów, nie licząc Stallmana, pracowała dla LMI. Richard postanowił nie opowiadać się po żadnej ze stron i z przyzwyczajenia działał sam.

Początkowo hakerzy zatrudnieni przez Symbolics kontynuowali pracę w MIT, udoskonalając system maszynowy Lisp. Podobnie jak hakerzy z LMI, wykorzystali licencję MIT do swojego kodu. Wymagało to zwrócenia zmian do MIT, ale nie wymagało od MIT dystrybucji zmian. Jednak w 1981 roku hakerzy dotrzymali dżentelmeńskiej umowy, na mocy której wszystkie ich ulepszenia zostały zapisane w maszynie Lisp MIT i rozesłane wszystkim użytkownikom tych maszyn. Ten stan rzeczy nadal zapewniał pewną stabilność kolektywu hakerskiego.

Ale 16 marca 1982 roku – Stallman dobrze pamięta ten dzień, bo były jego urodziny – umowa pana dżentelmena dobiegła końca. Stało się to na polecenie zarządu Symbolics, który chciał w ten sposób udusić swojego konkurenta, firmę LMI, dla której pracowało znacznie mniej hakerów. Liderzy Symbolics rozumowali w ten sposób: jeśli LMI będzie miało wielokrotnie mniej pracowników, to okaże się, że ogólna praca na maszynie Lisp jest dla niego korzystna, a jeśli ta wymiana rozwiązań zostanie zatrzymana, to LMI zostanie zniszczone. W tym celu postanowili nadużyć litery licencji. Zamiast wprowadzać zmiany w wersji systemu MIT, z której mogło korzystać LMI, zaczęli dostarczać MIT wersję systemu Symbolics, którą mogli edytować według własnego uznania. Okazało się, że wszelkie testy i edycja kodu maszynowego Lisp na MIT wypadły wyłącznie na korzyść Symbolics.

Jako człowiek odpowiedzialny za konserwację laboratoryjnej maszyny Lisp (z pomocą Greenblatta przez pierwsze kilka miesięcy) Stallman był wściekły. Hakerzy Symbolics udostępnili kod z setkami zmian, które spowodowały błędy. Uznając to za ultimatum, Stallman zerwał komunikację Laboratorium z Symbolics, przyrzekł sobie, że nigdy więcej nie będzie pracował na maszynach tej firmy i ogłosił, że dołączy do prac nad maszyną Lisp z MIT, aby wspierać LMI. „Moim zdaniem Laboratorium było krajem neutralnym, takim jak Belgia podczas II wojny światowej” – mówi Stallman – „a jeśli Niemcy napadną na Belgię, Belgia wypowiedziała Niemcom wojnę i dołączyła do Wielkiej Brytanii i Francji”.

Kiedy dyrektorzy firmy Symbolics zauważyli, że ich najnowsze innowacje wciąż pojawiają się w wersji maszyny Lisp przeznaczonej dla MIT, wpadli w złość i zaczęli oskarżać hakerów z laboratorium o kradzież kodu. Ale Stallman wcale nie naruszył prawa autorskiego. Przestudiował kod dostarczony przez Symbolics i poczynił logiczne domysły dotyczące przyszłych poprawek i ulepszeń, które zaczął wdrażać od podstaw dla maszyny Lisp z MIT. Dyrektorzy firmy Symbolics nie wierzyli w to. Zainstalowali oprogramowanie szpiegujące na terminalu Stallmana, które rejestrowało wszystko, co zrobił Richard. Mieli więc nadzieję zebrać dowody kradzieży kodu i pokazać je administracji MIT, ale nawet na początku 1983 roku nie było prawie nic do pokazania. Mieli jedynie kilkanaście miejsc, w których kod obu systemów wyglądał nieco podobnie.

Kiedy administratorzy laboratorium pokazali Stallmanowi dowody Symbolics, ten odrzucił je, twierdząc, że kod jest podobny, ale nie taki sam. I zwrócił przeciwko niemu logikę kierownictwa Symbolics: jeśli to wszystko, co udało im się na nim wykopać, to tylko te ziarenka podobnego kodu, to tylko dowodzi, że Stallman w rzeczywistości nie ukradł kodu. To wystarczyło, aby kierownictwo Laboratorium zaakceptowało pracę Stallmana i kontynuował ją do końca 1983 roku. .

Ale Stallman zmienił swoje podejście. Aby jak najlepiej chronić siebie i projekt przed roszczeniami Symbolics, całkowicie przestał zaglądać do ich kodów źródłowych. Zaczął pisać kod wyłącznie w oparciu o dokumentację. Richard nie spodziewał się największych innowacji od Symbolics, lecz sam je wdrażał, następnie dodał jedynie interfejsy dla zgodności z implementacją Symbolics, opierając się na ich dokumentacji. Przeczytał także dziennik zmian kodu Symbolics, aby zobaczyć, jakie błędy naprawiali, i sam naprawił te błędy na inne sposoby.

To, co się wydarzyło, wzmocniło determinację Stallmana. Po stworzeniu analogii nowych funkcji Symbolics namówił pracowników Laboratorium do wykorzystania wersji MIT maszyny Lisp, która zapewniła dobry poziom testowania i wykrywania błędów. Wersja MIT była całkowicie otwarta na LMI. „Chciałem za wszelką cenę ukarać Symbolikę” – mówi Stallman. To stwierdzenie pokazuje nie tylko, że charakter Richarda jest daleki od pacyfistycznego, ale także, że konflikt wokół maszyny Lisp poruszył go do głębi.

Desperacką determinację Stallmana można zrozumieć, jeśli weźmie się pod uwagę, jak to dla niego wyglądało – „zniszczenie” jego „domu”, czyli społeczności hakerskiej i kultury AI Lab. Levy przeprowadził później wywiad ze Stallmanem za pośrednictwem poczty elektronicznej, a Richard porównał się do Ishiego, ostatniego znanego członka ludu Indian Yahi, który został wytępiony podczas wojen indyjskich w latach sześćdziesiątych i siedemdziesiątych XIX wieku. Ta analogia nadaje opisanym wydarzeniom epicki, wręcz mitologiczny wymiar. Hakerzy pracujący dla Symbolics widzieli to w nieco innym świetle: ich firma nie niszczyła ani nie eksterminowała, a jedynie zrobiła to, co należało zrobić dawno temu. Przenosząc maszynę Lisp na rynek komercyjny, firma Symbolics zmieniła swoje podejście do projektowania programów – zamiast wycinać je według zagorzałych wzorców hakerów, zaczęła stosować łagodniejsze i bardziej humanitarne standardy menedżerów. I uważali Stallmana nie za wrogiego bojownika w obronie słusznej sprawy, ale za nosiciela przestarzałego sposobu myślenia.

Oliwy do ognia dolały także konflikty osobiste. Jeszcze przed pojawieniem się Symboliki wielu hakerów unikało Stallmana, a teraz sytuacja wielokrotnie się pogorszyła. „Nie zapraszano mnie już na wycieczki do Chinatown” – wspomina Richard. „Greenblatt zapoczątkował ten zwyczaj: kiedy chcesz zjeść lunch, chodzisz po kolegach i zapraszasz ich do siebie lub wysyłasz im wiadomość. Gdzieś w latach 1980-1981 przestali do mnie dzwonić. Nie tylko mnie nie zaprosili, ale – jak przyznała mi później jedna osoba – na innych wywierali presję, aby mi nikt nie mówił o planowanych pociągach na lunch”.

Źródło: linux.org.ru

Dodaj komentarz