Free as in Freedom po polsku: Rozdział 1. Fatalna drukarka
Free as in Freedom po polsku: Rozdział 2. 2001: Odyseja hakerska
Free as in Freedom po polsku: Rozdział 3. Portret hakerów w młodości
Free as in Freedom po polsku: Rozdział 4. Obalenie boga
Free as in Freedom po polsku: Rozdział 5. Strumyk wolności
Free as in Freedom po polsku: Rozdział 6. Komuna Emacs
Dylemat absolutnej moralności
O wpół do pierwszej w nocy 27 września 1983 roku w grupie Usenet net.unix-wizards pojawiła się niezwykła wiadomość podpisana przez rms@mit-oz. Wiadomość miała krótką i bardzo intrygującą nazwę: „Nowa implementacja UNIX”. Jednak zamiast jakiejś gotowej nowej wersji Unix, czytelnik napotkał wezwanie:
W ten Dzień Dziękczynienia zaczynam pisać nowy, w pełni zgodny z Unix system operacyjny, który będzie nosił nazwę GNU (GNU’s Not Unix). Będę go swobodnie rozdawał wszystkim chętnym. Bardzo potrzebuję waszego czasu, pieniędzy, kodu, sprzętu – każda pomoc się liczy.
W oczach doświadczonego programisty Unix, wiadomość wyglądała jak mieszanka idealizmu i wysokiego mniemania o sobie. Autor nie tylko zamierzał od podstaw stworzyć cały system operacyjny, dość zaawansowany i potężny, ale także go ulepszyć. System GNU miał w sobie zawierać wszystkie potrzebne komponenty, takie jak edytor tekstu, powłokę, kompilator oraz "szereg innych rzeczy". Obiecywano również niezwykle atrakcyjne możliwości, których brakowało w istniejących systemach Unix: graficzny interfejs w języku programowania Lisp, odporna na awarie system plików oraz protokoły sieciowe oparte na sieciowej architekturze MIT.
„GNU będzie mogło uruchamiać programy Unix, ale nie będzie identyczne z systemem Unix, – pisał autor, – wprowadzimy wszystkie niezbędne ulepszenia, które z biegiem lat okazały się konieczne w różnych systemach operacyjnych”.
Przewidując sceptyczną reakcję na swoją wiadomość, autor uzupełnił ją krótkim autobiograficznym wstępem pod tytułem: „Kim jestem?”:
Jestem Richard Stallman, twórca oryginalnego edytora EMACS, jeden z klonów którego na pewno spotkaliście. Pracuję w Laboratorium Sztucznej Inteligencji Massachusetts Institute of Technology. Posiadam duże doświadczenie w tworzeniu kompilatorów, edytorów, debuggerów, interpreterów poleceń, systemów operacyjnych ITS i Lisp Machine. Zrealizowałem niezależne od terminali wsparcie dla ekranu w ITS, a także system plików odporny na błędy i dwa systemy okienkowe dla Lisp-maszyn.
Tak się złożyło, że ambitny projekt Stallmana nie wystartował w Dzień Dziękczynienia, jak obiecywano. Dopiero w styczniu 1984 roku Richard w pełni zaangażował się w rozwój oprogramowania w stylu Unix. Z punktu widzenia architekta systemowego ITS, było to tak, jakby przejść od budowy mauretańskich pałaców do budowania podmiejskich centrów handlowych. Niemniej jednak rozwój systemu Unix niósł ze sobą także zalety. ITS, mimo całej swojej potęgi, miała słabe miejsce – działała jedynie na komputerze PDP-10 firmy DEC. Na początku lat 80-tych laboratoria zrezygnowały z PDP-10, a ITS, którą hakerzy porównywali do tętniącego życiem miasta, zamieniło się w miasto widmo. Unix był jednak od początku zaprojektowany z myślą o przenośności między różnymi architekturami komputerowymi, więc nie groziły mu podobne kłopoty. Opracowany przez młodszych pracowników AT&T, Unix umknął korporacyjnym radarom i znalazł spokojne schronienie w niekomercyjnych ośrodkach naukowych. Mając mniej zasobów niż ich odpowiednicy z MIT, programiści Unix dostosowali swój system do pracy na różnorodnym sprzęcie. Głównie na 16-bitowym PDP-11, który hakerzy z laboratorium uważali za nieodpowiedni do poważnych zadań, ale również na 32-bitowych mainframe'ach, takich jak VAX 11/780. Do 1983 roku takie firmy jak Sun Microsystems stworzyły stosunkowo kompaktowe komputery stacjonarne – „stacje robocze”, porównywalne mocą ze starym mainframe'em PDP-10. Na tych stacjach roboczych również zagościł wszechobecny Unix.
Przenośność Unix była zapewniana przez dodatkową warstwę abstrakcji pomiędzy aplikacjami a sprzętem. Zamiast pisać programy w kodzie maszynowym konkretnego komputera, jak to robili hakerzy Laboratorium, opracowując programy dla ITS na PDP-10, twórcy Unix używali języka programowania C, który nie był związany z konkretną platformą sprzętową. Twórcy skupili się na standaryzacji interfejsów, przez które elementy systemu operacyjnego komunikowały się ze sobą. W efekcie powstał system, w którym każdą część można było zmieniać, nie wpływając na pozostałe i nie zakłócając ich działania. Aby przenieść system z jednej architektury sprzętowej na inną, wystarczało zmienić tylko jedną część systemu, a nie pisać go od nowa. Specjaliści docenili taki niesamowity poziom elastyczności i wygody, dzięki czemu Unix szybko rozprzestrzenił się w świecie komputerów.
Stallman postanowił stworzyć system GNU z powodu śmierci ITS, ulubionego projektu hakerów Laboratorium AI. Śmierć ITS była dla nich, a także dla Richarda, dużym ciosem. Historia z laserową drukarką Xerox otworzyła mu oczy na niesprawiedliwość licencji własnościowych, a śmierć ITS skierowała go z niechęci do zamkniętego oprogramowania do aktywnego oporu wobec niego.
Przyczyny upadku ITS, podobnie jak jego kod, sięgały daleko w przeszłość. Do 1980 roku większość hakerów Laboratorium pracowała już nad maszyną Lisp oraz systemem operacyjnym dla niej.
Lisp to elegancki język programowania, doskonale nadający 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ę samego terminu „sztuczna inteligencja”, Johna McCarthy'ego, który pracował na MIT w drugiej połowie lat 50-tych. Nazwa języka to skrót od „LISt Processing” lub „przetwarzanie list”. Po odejściu McCarthy'ego z MIT do Stanfordu, hakerzy Laboratorium nieco zmodyfikowali Lisp, tworząc jego lokalny dialekt MACLISP, gdzie pierwsze 3 litery oznaczały projekt MAC, dzięki któremu powstało Laboratorium AI na MIT. Pod kierownictwem architekta systemów Richarda Greenblatta hakerzy Laboratorium opracowali maszynę Lisp – specjalny komputer do wykonywania programów w języku Lisp oraz system operacyjny dla tego komputera – również oczywiście napisany w Lisp.
Na początku lat 80-tych konkurujące grupy hakerów założyły dwie firmy zajmujące się produkcją i sprzedażą maszyn Lisp. Firma Greenblatta nazywała się Lisp Machines Incorporated, w skrócie LMI. Miał nadzieję obyć się bez zewnętrznych inwestycji i stworzyć czysto „hakerską firmę”. Jednak większość hakerów dołączyła do Symbolics, zwykłego komercyjnego start-upu. W 1982 roku całkowicie opuścili MIT.
Tych, którzy zostali, można było policzyć na palcach jednej ręki, więc programy i maszyny były naprawiane coraz dłużej lub wcale. Co gorsza, zdaniem Stallmana, w Laboratorium zaczęły się „zmiany demograficzne”. Hakerzy, którzy i tak byli w mniejszości, niemal zniknęli, pozostawiając Laboratorium całkowicie pod kontrolą nauczycieli i studentów, którzy mieli otwarcie wrogie nastawienie do PDP-10.
W 1982 roku Laboratorium AI otrzymało następcę swojego 12-letniego PDP-10 – DECSYSTEM 20. Aplikacje napisane dla PDP-10 działały na nowym komputerze bez problemów, ponieważ DECSYSTEM 20 był w zasadzie zaktualizowanym PDP-10, ale wcześniejszy system operacyjny w ogóle się nie nadawał – ITS trzeba było przenieść na nowy komputer, co oznaczało niemal całkowite przepisanie. A to w czasach, kiedy z Laboratorium odeszło prawie wszystkich hackerów, którzy mogli się tym zająć. Dlatego na nowym komputerze szybko zapanował komercyjny system operacyjny Twenex. Nieliczni hackerzy, którzy pozostali w MIT, mogli tylko się na to zgodzić.
„Bez hackerów, którzy zajmowaliby się tworzeniem i utrzymywaniem systemu operacyjnego, jesteśmy skazani na porażkę – mówili pracownicy wydziału i studenci – potrzebujemy komercyjnego systemu, który wspiera jakaś firma, aby sama rozwiązywała problemy z tym systemem”. Stallman wspomina, że ten argument okazał się okrutnym błędem, ale wówczas brzmiał przekonująco.
Na początku hackerzy widzieli w Twenex kolejne wcielenie autorytarnej korporokracji, które pragnęli zniszczyć. Nawet w nazwie odzwierciedlała się niechęć hackerów – system nazywał się właściwie TOPS-20, co wskazywało na kontynuację z TOPS-10, również komercyjnym systemem DEC dla PDP-10. Jednak architektonicznie TOPS-20 nie miało nic wspólnego z TOPS-10. Stworzono go na bazie systemu Tenex, który firma Bolt, Beranek i Newman opracowała dla PDP-10. Nazywanie systemu „Twenex” rozpoczął Stallman, po prostu aby nie nazywać go TOPS-20. „Systemu było daleko do najlepszych rozwiązań, więc nie miałem serca nazywać go oficjalną nazwą – wspomina Stallman – dlatego w ‘Tenex’ wstawiłem literę ‘w’, aby powstało ‘Twenex’”. (Ta nazwa nawiązuje do słowa „twenty”, czyli „dwadzieścia”)
Komputer, na którym działał Twenex/TOPS-20, ironicznie nazywano „Oz”. Chodzi o to, że DECSYSTEM 20 wymagał małej maszyny PDP-11 do pracy terminala. Jeden hacker, który po raz pierwszy zobaczył podłączenie PDP-11 do tego komputera, porównał to do patetycznej prezentacji Czarodzieja z Krainy Oz. „Jestem wielki i straszny Oz! – zawołał. – Tylko nie patrzcie na małolatów, od których działam.”
A w nowym systemie operacyjnym komputera nie było już nic zabawnego. Bezpieczeństwo i kontrola dostępu były wbudowane w Twenex na podstawowym poziomie, a jego narzędzia z aplikacjami również zostały opracowane z myślą o bezpieczeństwie. Lekceważące żarty na temat systemów bezpieczeństwa Laboratorium przerodziły się w poważną bitwę o kontrolę nad komputerem. Administratorzy twierdzili, że bez systemów bezpieczeństwa Twenex będzie niestabilny i podatny na błędy. Hakerzy zapewniali, że stabilność i niezawodność można osiągnąć znacznie szybciej poprzez edytowanie kodu źródłowego systemu. Ale w Laboratorium było ich już tak mało, że nikt ich nie słuchał.
Hakerzy pomyśleli, że można obejść ograniczenia bezpieczeństwa, przyznając wszystkim użytkownikom „uprawnienia administratora” – podniesione prawa, które umożliwiają wykonywanie wielu czynności zabronionych dla zwykłego użytkownika. W takim przypadku jednak każdy użytkownik mógł odebrać „uprawnienia administratora” każdemu innemu użytkownikowi, a ten nie mógł ich odzyskać z powodu braku praw dostępu. Dlatego hakerzy postanowili przejąć kontrolę nad systemem, odbierając „uprawnienia administratora” wszystkim oprócz siebie.
Odnajdywanie haseł i uruchamianie debuggera podczas rozruchu systemu nic nie dały. Po nieudanym „zamachu stanu”, Stallman wysłał wiadomość do wszystkich pracowników Laboratorium.
„Dotychczas arystokraci zostali pokonani, – pisał, – ale teraz odzyskali władzę, a próba przejęcia władzy nie powiodła się”. Richard podpisał wiadomość: „Radio Free OZ”, aby nikt się nie domyślił, że to on. Świetna zasłona dymna, biorąc pod uwagę, że wszyscy w Laboratorium znali stosunek Stallmana do systemów bezpieczeństwa i jego prześladowania haseł. Zresztą, awersja Richarda do haseł była znana daleko poza MIT. Na komputery Laboratorium z konta Stallmana wchodził niemal cały ARPAnet – protoplasta internetu tamtych czasów. Takim „turystą” był na przykład Don Hopkins, programista z Kalifornii, który przez hakerskie „szeptanki” dowiedział się, że można zalogować się do słynnego systemu ITS w MIT, wpisując po prostu 3 litery inicjałów Stallmana jako login i hasło.
„Jestem niezmiernie wdzięczny MIT za to, że ja i wielu innych mogliśmy swobodnie korzystać z ich komputerów – mówi Hopkins – to znaczyło dla nas bardzo wiele.”
Ta „turystyczna” polityka trwała przez wiele lat, dopóki istniał system ITS, a kierownictwo MIT patrzyło na nią przychylnie. Ale gdy maszyna Oz stała się głównym mostem z Laboratorium do ARPAnet, wszystko się zmieniło. Stallman nadal udostępniał dostęp do swojego konta pod znanym loginem i hasłem, ale administratorzy zażądali, aby zmienił hasło i nie udostępniał go nikomu. Richard, powołując się na swoją etykę, w ogóle odmówił pracy na maszynie Oz.
„Kiedy hasła zaczęły pojawiać się na komputerach Laboratorium AI, postanowiłem kierować się moim przekonaniem, że hasła nie powinny istnieć – mówił później Stallman – a ponieważ uważałem, że komputery nie potrzebują systemów bezpieczeństwa, nie powinienem wspierać tych środków ich wdrażania.”
Odmowa Stallmana ukłonu przed wielką i straszną maszyną Oz pokazała, że między hakerami a kierownictwem Laboratorium rosła napięcie. Ale to napięcie było jedynie bladą klingą tego konfliktu, który wrzał w samym kolektywie hakerskim, podzielonym na dwa obozy: LMI (Lisp Machines Incorporated) i Symbolics.
Symbolics otrzymało sporo inwestycji zewnętrznych, co przyciągnęło wielu hakerów z Laboratorium. Pracowali nad systemem Lisp-maszyny zarówno w MIT, jak i poza nim. Do końca 1980 roku firma zatrudniła 14 pracowników Laboratorium jako konsultantów do opracowania własnej wersji Lisp-maszyny. Pozostali hakerzy, z wyjątkiem Stallmana, pracowali dla LMI. Richard postanowił nie zajmować niczyjej strony i, przyzwyczajony, był sam dla siebie.
Na początku hakerzy zatrudnieni przez Symbolics kontynuowali pracę i w MIT, udoskonalając system Lisp-maszyny. Oni, podobnie jak hakerzy z LMI, korzystali z licencji MIT dla swojego kodu. Wymagała ona, aby zwracać zmiany do MIT, ale nie wymagała, aby MIT te zmiany rozpowszechniało. Niemniej jednak, w roku 1981 hakerzy przestrzegali dżentelmeńskiego porozumienia, zgodnie z którym wszystkie ich ulepszenia były wprowadzane do Lisp-maszyny z MIT i rozpowszechniane wśród wszystkich użytkowników tych maszyn. Taki stan rzeczy wciąż zapewniał pewną stabilność w kolektywie hakerskim.
Jednak 16 marca 1982 roku – Stallman dobrze pamięta ten dzień, ponieważ był to jego dzień urodzin – dobiegł końca umowy dżentelmeńskiej. Stało się to z woli kierownictwa Symbolics, które w ten sposób chciało zdusić swojego konkurenta – firmę LMI, w której pracowało znacznie mniej hakerów. Kierownicy Symbolics uznali, że jeśli LMI ma znacznie mniej pracowników, to wspólna praca nad maszyną Lisp jest korzystna tylko dla niej, a jeśli przerwiemy ten wymianę prac, to LMI zostanie zniszczona. Z tego powodu postanowili nadużyć litery licencji. Zamiast wprowadzać zmiany w wersji systemu MTI, z której mogła korzystać LMI, zaczęli dostarczać do MTI wersję systemu Symbolics, którą mogli modyfikować jak tylko chcieli. Okazało się, że jakiekolwiek testowanie i edytowanie kodu maszyny Lisp w MTI szło tylko na korzyść Symbolics.
Jako osoba odpowiedzialna za utrzymanie laboratoryjnej maszyny Lisp (przez pierwsze kilka miesięcy – wspólnie z Greenblattem), Stallman wpadł w furie. Hakerzy Symbolics dostarczyli kod z setkami zmian, które powodowały błędy. Uznając to za ultimatum, Stallman odciął łączność Laboratorium z Symbolics, przysiągł, że nigdy więcej nie będzie pracował na maszynach tej firmy i ogłosił przyłączenie się do pracy nad maszyną Lisp w MTI, aby wspierać LMI. „W moich oczach Laboratorium było neutralnym państwem, jak Belgia podczas II wojny światowej – opowiada Stallman – a jeśli Niemcy najeżdżają Belgię, Belgia ogłasza Niemcom wojnę i przyłącza się do Wielkiej Brytanii i Francji.”
Kiedy kierownicy Symbolics zauważyli, że ich ostatnie innowacje nadal są obecne w wersji Lisp-maszyny MIT, zdenerwowali się i zaczęli oskarżać hakerów laboratorium o kradzież kodu. Jednak Stallman w żaden sposób nie naruszał prawa autorskiego. Zbadał kod dostarczony przez Symbolics i dokonał logicznych założeń dotyczących przyszłych poprawek i usprawnień, które zaczął wdrażać od podstaw dla Lisp-maszyny MIT. Kierownicy Symbolics nie wierzyli w to. Zainstalowali program szpiegujący na terminalu Stallmana, który rejestrował wszystko, co Richard robił. W ten sposób liczyli na zebranie dowodów kradzieży kodu i pokazanie ich administracji MIT, ale nawet na początku 1983 roku nie mieli prawie nic do pokazania. Wszystko, co mieli, to jakaś tuzina miejsc, gdzie kod obu systemów wyglądał nieco podobnie.
Kiedy administratorzy laboratorium pokazali dowody Symbolics Stallmanowi, on je obalił, mówiąc, że kod był podobny, ale nie identyczny. I odwrócił logikę kierownictwa Symbolics przeciwko nim: jeśli te niewielkie fragmenty podobnego kodu to wszystko, co udało im się znaleźć, to tylko dowodzi, że Stallman w rzeczywistości nie kradł kodu. To wystarczyło, aby zarządzający laboratorium zatwierdzili pracę Stallmana, który kontynuował ją do końca 1983 roku.
Jednak Stallman zmienił swoje podejście. Aby maksymalnie zabezpieczyć siebie i projekt przed roszczeniami Symbolics, całkowicie przestał patrzeć na ich kody źródłowe. Zaczął pisać kod wyłącznie na podstawie dokumentacji. Największe innowacje Richard nie oczekiwał od Symbolics, lecz realizował sam, a następnie dodawał interfejsy do zgodności z realizacją Symbolics, opierając się na ich dokumentacji. Czytał także listę zmian w kodzie Symbolics, aby zrozumieć, jakie błędy poprawiali, i samodzielnie poprawiał te błędy w innymi sposobami.
To, co się wydarzyło, umocniło determinację Stallmana. Tworząc odpowiedniki nowych funkcji Symbolics, skłonił pracowników laboratorium do wersji Lisp-maszyny MIT, co zapewniło wysoki poziom testowania i wyszukiwania błędów. A wersja MIT była całkowicie otwarta dla LMI. „Chciałem ukarać Symbolics za wszelką cenę” – opowiada Stallman. To stwierdzenie mówi nie tylko o tym, że charakter Richarda jest daleki od pacyfizmu, ale także że konflikt wokół Lisp-maszyny dotknął go osobiście.
Desperacką determinację Stallmana można zrozumieć, jeśli weźmie się pod uwagę, jak postrzegał sytuację – jako 'zniszczenie' swojego 'domu', czyli społeczności hakerskiej i kultury Laboratorium AI. Później Levi przeprowadzał z Stallmanem wywiad drogą mailową, podczas którego Richard porównywał siebie do Ishi – ostatniego znanego przedstawiciela rdzennych mieszkańców Yahis, którzy zostali wymordowani podczas wojen indiańskich w latach 1860-1870. Ta analogia nadaje opisywanym wydarzeniom epicki, niemal mityczny rozmach. Hakerzy, którzy pracowali dla Symbolics, widzieli to w nieco innym świetle: ich firma nie niszczyła ani nie eksterminowała, tylko robiła to, co od dawna było konieczne. Przenosząc maszynę Lisp w sferę komercji, Symbolics zmieniła podejście do projektowania oprogramowania – zamiast sztywno trzymać się szeregów hakerów, zaczęto stosować bardziej elastyczne i humanistyczne normy menedżerów. I postrzegali Stallmana nie jako przeciwnika walczącego w słusznej sprawie, ale jako nosiciela przestarzałego myślenia.
Osobiste waśnie także doprowadziły do zaostrzenia sytuacji. Jeszcze przed pojawieniem się Symbolics wielu hakerów unikało Stallmana, a teraz sytuacja uległa bardzo dużemu pogorszeniu. „Przestano mnie zapraszać na wyjazdy do Chinatown – wspomina Richard – Greenblatt zapoczątkował zwyczaj: kiedy chcesz zjeść obiad, omijasz kolegów i zapraszasz ich ze sobą albo wysyłasz im wiadomość. Gdzieś w latach 1980-1981 przestałem być zapraszany. Nie tylko mnie nie zapraszano, ale też, jak później przyznał mi pewien człowiek, wywierano presję na pozostałych, aby nikt nie mówił mi o planowanych obiadach.”
Źródło: linux.org.ru

