W obronie wolnościAutor: Sam WilliamsTłumaczenie: Krzysztof Masłowski Tytuł oryginału: Free as in Freedom Format: B5, stron: 296 wersja spakowana wersja drukowana w helion.pl |
Poprzedni | Spis treści | Następny | Wersja spakowana | Wersja drukowana w helion.plRozdział 6.
Wspólnota Emacs
W latach siedemdziesiątych AI Lab było miejscem ze wszech miar szczególnym. Specjaliści najwyższej klasy, pracujący nad projektami dotyczącymi najnowszych technologii, zapewniali mu znaczącą pozycję w świecie nauk komputerowych. Jednakże wewnętrzna kultura hakerska i towarzysząca jej anarchia prowadziły do buntowniczego mistycyzmu. Później, gdy większość naukowców i gwiazd programowania odeszło gdzie indziej, hakerzy mogli swobodnie urzeczywistnić efemeryczny świat, który wcześniej zasiedlili.
W artykule opublikowanym w "Forbes" w roku 1998 przytoczono słowa Stallmana wspominającego laboratorium z tego okresu i panujący tam etos wzajemnego udostępniania sobie oprogramowania. Jak wspomina Stallman - "Przypominało to ogród rajski. Nawet nie przychodziło nam do głowy, że można ze sobą nie współpracować"1.
To biblijne porównanie, choć może przesadzone, podkreśla bardzo istotny fakt. Dla wielu dziewięciopiętrowy budynek przy Tech Square 545 był czymś więcej niż tylko miejscem pracy. Dla hakerów w rodzaju Stallmana był domem.
Słowo "dom" ma swoje szczególne miejsce w słowniku Stallmana. Z uwagi na krytyczny stosunek do rodziców Stallman wzbrania się nazwać domem jakiekolwiek miejsce pobytu aż do zamieszkania w harvardzkim internacie Currier House. Opuszczenie go opisuje w sposób tragikomiczny. Z lat spędzonych w Harvadzie żałuje jedynie wygnania z akademika. Dopiero pytanie o powód wcześniejszego opuszczenia internatu uświadamia mi, że otrzymam klasyczną odpowiedź w stallmanowskim stylu.
"W Harvardzie prowadzili taką politykę, by pozbywać się tych, którzy zaliczyli zbyt wiele kursów".
Nie mając miejsca w internacie i chęci do powrotu do Nowego Jorku, postąpił tak jak przed nim wielu innych hakerów, między innymi Greenblatt, Gosper i Sussman. Przyjęty do MIT na studia magisterskie2, wynajął mieszkanie w pobliżu Cambridge, by wkrótce przekonać się, że AI Lab jest jego faktycznym domem. Przemawiając w roku 1986, następująco opisał czas spędzony tamże:
Mogłem pracować nieco więcej od innych, gdyż każdego roku z takich lub innych powodów przez kilka miesięcy nie miałem mieszkania i po kilka miesięcy spędzałem w laboratorium. Było tam zawsze bardzo wygodnie, a latem na dodatek chłodno. Ale nie było to nic niezwykłego i często można się było tam natknąć na śpiących, gdzie popadło. Siedziało się tam, dopóki można było hakować, i nie chcąc przerywać zajęcia, trwało przy komputerze aż do zupełnego opadnięcia z sił. Wtedy szukało się dowolnej płaskiej i miękkiej powierzchni, by się położyć i usnąć. Atmosfera była całkiem nieformalna3.Czasami domowa atmosfera w laboratorium sprawiała problemy. To, co dla jednych było wygodnym miejscem do przespania się, inni uważali za norę przepełnioną dymem "elektronicznego opium". W roku 1976 w książce Computer Power and Human Reason4 naukowiec z MIT, Joseph Weizenbaum, skrytykował komputerowych łapserdaków-pomyleńców (ang. computer bums5). W ten sposób Weizenbaum nazwał hakerów zasiedlających komputerowe pokoje w AI Lab. Pisał: "Ich zmięte ubrania, niegolone twarze oraz niemyte i nieczesane włosy świadczą o zatraceniu świadomości istnienia własnych ciał i świata, w którym te ciała funkcjonują. Istnieją tylko po to, by korzystać z komputerów i komputerom służyć"6.Niemal ćwierć wieku po opublikowaniu tej opinii Stallman nadal jeży się na jej wspomnienie. Podejmując polemikę, używa czasu teraźniejszego, jak gdyby Weizenbaum stał w pobliżu, w tym samym pokoju. "On chce, by ludzie byli tylko zawodowcami, pracującymi wyłącznie dla pieniędzy i zapominającymi o tym, co robią, tak szybko, jak to tylko możliwe - mówi. - To, co on uważa za normalny bieg rzeczy, ja uważam za tragedię".
Jednakże życie hakera nie było wolne od takich tragedii. Stallman ocenia swoje przeistoczenie się z weekendowego hakera w naturalizowanego "mieszkańca" AI Lab jako zbieg bolesnych niepowodzeń, których przetrwanie ułatwiała mu jedynie euforia działalności hakerskiej. Pierwszym niepowodzeniem było ukończenie studiów na Harvardzie. Chcąc dalej studiować fizykę, zapisał się na studia magisterskie na MIT. Wybór uczelni był oczywisty i naturalny. Dawał mu szansę pójścia w ślady wielkich poprzedników, absolwentów tej uczelni: Wiliama Shockeya (1936)7, Richarda P. Feynmanna (1939)8 i Murraya Gel-Manna (1951)9 oraz o dwie mile skracał odległość do AI Lab i nowego komputera PDP-10. "Moje zainteresowania coraz bardziej biegły ku programowaniu, ale przez pewien czas myślałem, że dam radę zajmować się i jednym, i drugim" - wspomina.
Trudząc się nad zdobyciem stopnia naukowego w dzień, a w nocy programując w AI Lab, pracował jak mnich, który przez narzucenie sobie ścisłej dyscypliny dąży do idealnej równowagi. Punktem podparcia dźwigni utrzymującej tę równowagę był taniec ludowy. Raz na tydzień uczestniczył w występach grupy tanecznej, co dawało mu odrobinę rozrywki i kontaktu z płcią odmienną. Jednakże pod koniec pierwszego roku na MIT zdarzyło się nieszczęście. Uszkodzenie kolana zmusiło go do porzucenia grupy tanecznej. Z początku wydawało mu się, że to nic wielkiego, że z czasem minie, i nawet więcej wolnego czasu niż poprzednio poświęcał tańczeniu, ograniczając nieco pracę w AI Lab. Jednakże z końcem lata, gdy ból kolana nie ustępował, a zajęcia miały się ponownie rozpocząć, zaczął się niepokoić. "Z kolanem nie było ani ciut lepiej - wspomina, - co oznaczało, że muszę skończyć z tańczeniem. Byłem załamany".
Bez mieszkania i bez tańczenia jego życie towarzyskie skurczyło się, właściwie zanikło. Poczuł, że jego zdolność interakcji z niehakerami, a zwłaszcza z niehakerami płci żeńskiej uległa znacznej atrofii. Po 16 tygodniach w AI Lab wyparowała z niego cała pewność siebie, którą zdążył zmagazynować przez cztery lata w Harvardzie.
"Czułem, że utraciłem całą energię - wspomina. Nie chciało mi się robić niczego, co nie było w danej chwili potrzebne. Energia potrzebna do zrobienia czegoś więcej zniknęła. Ogarnęła mnie czarna rozpacz".
Zatopiony bez reszty w pracy w AI Lab, wycofał się zupełnie ze świata. Przed październikiem 1975 porzucił MIT i nigdy tam nie powrócił. Hakerstwo, niegdyś jedynie hobby, stało się jego powołaniem.
Patrząc wstecz, uważa, że jego przeistoczenie się ze studenta studiów dziennych w pełnoetatowego hakera było nieuniknione. Prędzej czy później głos przeznaczenia skłoniłby go do tej decyzji, tłumiąc zainteresowanie innymi zawodowymi poczynaniami. "Do fizyki i matematyki nigdy nie wniósłbym nic poważnego - wspomina swoje wysiłki z czasów przed uszkodzeniem kolana. - Mógłbym być nawet dumny, że coś tam zrobiłem w jednej lub drugiej dziedzinie, ale właściwie nie wiedziałem, do czego to ma prowadzić. Nie wiedziałem, od czego mam zacząć. W przypadku oprogramowania widziałem, co powinienem robić i jak działać, by napisać coś, co działa i jest pożyteczne. Przynosiło mi to satysfakcję popychającą do dalszego działania."
Stallman nie był pierwszym, dla którego hakerstwo było przyjemnością. Wielu hakerów z AI Lab chlubiło się tym samym i również przerwało studia. Większość miała jakieś stopnie naukowe z matematyki lub inżynierii elektrycznej, które z trudem zdobyła, podporządkowując się wymogom akademickiej kariery i zawodowych ambicji. Przyszli do AI Lab dla czystej przyjemności rozwiązywania problemów, którymi jeszcze nikt się nie zajmował. Na podobieństwo świętego Tomasza z Akwinu, którego długie i intensywne rozważania teologiczne prowadziły do wizji nadprzyrodzonych, hakerzy osiągali wewnętrzne stany transcendentalne przez bardzo silne skupienie myśli i wyczerpanie fizyczne. Choć Stallman, jak inni hakerzy, unikał narkotyków, lubił "haj", który nadchodził pod koniec 20-godzinnego programowania w transie.
Ale najwięcej radosnych emocji niosło uczucie samorealizacji. Hakerstwo było dla Stallmana rzeczą naturalną. Przyzwyczajony od dziecka do długiego nocnego ślęczenia nad książkami, bez trudu znosił wielogodzinną pracę prawie bez snu. Będąc społecznym wyrzutkiem już w wieku 10 lat, nie miał kłopotów z pracą w samotności. Jako matematyk z wrodzoną zdolnością logicznego myślenia i przewidywania posiadł doskonałą umiejętność rozwiązywania problemów, w których grzęzły myśli innych hakerów.
"Był niezwykły - wspomina Gerald Sussman, wykładowca w MIT, niegdyś prowadzący badania w AI Lab. - Myślał jasno i jasno przedstawiał zamierzenia". To właśnie Sussman zatrudnił Stallmana na stanowisku asystenta naukowego w roku 1975. Projekt był złożony i AI Lab miało przygotować program analizujący diagramy obwodów. Wymagał nie tylko doskonałej znajomości poleceń Lispu, języka zbudowanego specjalnie dla potrzeb AI Lab, lecz również rozumienia i przewidywania, w jaki sposób różni ludzie mogą podchodzić do tego samego zagadnienia.
Jeżeli praca przy wykonywaniu oficjalnych projektów, w rodzaju programu Sussmana do automatycznego analizowania obwodów, pozostawiała nieco wolnego czasu, zajmował się programowaniem dla przyjemności. Hakerską ambicją było ulepszanie oprogramowania wykorzystywanego w AI Lab, a największym zrobionym dla przyjemności projektem Stallmana był używany w tym czasie w laboratorium program edycyjny TECO.
Historia jego pracy nad TECO w roku 1970 jest nierozerwalnie związana z późniejszym przywództwem ruchu wolnego oprogramowania. Był to historyczny etap komputerowej ewolucji, więc trzeba go omówić, choćby w zarysie. W latach pięćdziesiątych i sześćdziesiątych, gdy komputery zaczęły pojawiać się na uniwersytetach, programowanie było działaniem niezwykle abstrakcyjnym. Aby skomunikować się z maszyną, programista przygotowywał plik kart dziurkowanych, z których każda reprezentowała jakieś polecenie. Potem przygotowany plik oddawało się administratorowi centralnego systemu, który według kolejności umieszczał go w czytniku maszyny. W odpowiedzi komputer wypluwał nowy plik kart dziurkowanych, które programista musiał potem odcyfrować. Taki sposób działania, nazywany "procesem wsadowym", był niewygodny i czasochłonny. Był także denerwujący ze względów ambicjonalnych. Jedną z przyczyn wrodzonej hakerskiej awersji do centralizacji była władza dzierżona przez administratorów systemu, którzy decydowali o kolejności wykonywania jobów10.
W roku 1962 naukowcy i hakerzy z MIT rozpoczęli realizację mającego zaradzić tej frustracji, projektu MAC11, z którego potem wyrosło AI Lab. Dzielenie czasu, z początku nazywane "kradzieżą czasu", pozwoliło wielu programistom jednocześnie korzystać z możliwości operacyjnych komputera. Interfejsy dalekopisowe pozwoliły na komunikowanie się z komputerem przez wpisywanie zwykłego tekstu, zamiast karmienia go stosem dziurkowanych kart. Programista mógł teraz wpisywać kolejne wiersze poleceń i odczytywać odpowiedzi generowane przez maszynę.
W późnych latach sześćdziesiątych projektowanie interfejsów znacznie się rozwinęło. W słynnym wykładzie z roku 1968 Doug Engelbart, naukowiec ze Stanford Research Institute12, pokazał prototyp nowoczesnego interfejsu graficznego. Łącząc kablem telewizor z komputerem i przyczepiając dodatkowe narzędzie wskazujące, które nazwał myszą, stworzył system nawet bardziej interaktywny od opracowanego w MIT systemu dzielenia czasu. Traktując ekran wyświetlający jako rodzaj szybkiej drukarki, system Engelbarta pozwalał użytkownikowi na przesuwanie kursora po ekranie i uaktualnianie jego pozycji przez komputer w czasie rzeczywistym.
Takie innowacje potrzebowały kolejnych dwóch dekad, by przeniknąć na rynek. W latach siedemdziesiątych rozpoczął się proces zastępowania dalekopisów przez terminale wyposażone w monitory, co dawało potencjalne możliwości korzystania wyświetlania obrazu na całym ekranie zamiast dotychczas stosowanej edycji linia po linii.
Jednym z pierwszych programów, który korzystał z możliwości pełnoekranowego wyświetlania informacji, był TECO stworzony przez AI Lab w MIT. TECO (skrót od Text Editor and Corrector) był dokonaną przez hakerów adaptacją programu dalekopisowego działającego w systemie linia po linii na PDP-6.
TECO stanowił istotny postęp w stosunku do edytorów starego typu, lecz nadal nie był wolny od wielu ich wad. Aby stworzyć i edytować dokument, programista musiał napisać szereg poleceń definiujących każdą zmianę edycyjną. Był to proces abstrakcyjny. W przeciwieństwie do współczesnych edytorów, uaktualniających tekst po każdym uderzeniu klawisza, aby coś zmienić, należało wpisać rozszerzony ciąg poleceń edytujących zakończonych dodatkowym ciągiem znaków oznaczającym "koniec polecenia". Z upływem czasu hakerzy nabrali wystarczającej wprawy, aby za pomocą tego narzędzia pisać całe dokumenty, ale Stallman przyznał później, że działanie to wymagało specjalnych uzdolnień i sprawności przypominających umiejętność gry w szachy z zawiązanymi oczami13.
Aby ułatwić sobie pracę, hakerzy z AI Lab zbudowali system pozwalający na wyświetlanie tekstu w trybie "źródłowym" i "wynikowym" na dwóch częściach podzielonego ekranu. Innowacja była pożyteczna, ale kłopot sprawiało przełączanie się między trybami.
W tym czasie TECO nie był jedynym pełnoekranowym monitorem. Podczas wizyty w Stanford Artificial Intelligence Lab14 w roku 1976 Stallman zobaczył edytor o nazwie E, którego cechą naturalną było uaktualnianie obrazu po każdym naciśnięciu klawisza. Zgodnie z nazewnictwem obowiązującym w roku 1970, był to jeden z pierwszych rudymentarnych edytorów typu WYSIWYG. Jest to skrót od "what you see is what you get15" i oznacza, że użytkownik może manipulować plikiem, przesuwając tekst do tyłu i do przodu, zupełnie inaczej niż w przypadku edytora, w którym wynik można zobaczyć dopiero na końcu16.
Stallman był pod wrażeniem tego hakerskiego osiągnięcia i zastanawiał się, w jaki sposób po powrocie do MIT podobną funkcjonalność nadać TECO. Znalazł TECO wzbogacone o funkcję Ctrl-R napisaną przez Carla Mikkelsona i nazwaną tak od dwuklawiszowej kombinacji uruchamiającej, pozwalającej na przełączanie TECO z abstrakcyjnego trybu wykonywania poleceń w bardziej intuicyjny tryb reakcji na każde uderzenie klawisza. Stallman w subtelny ale znaczący sposób przekształcił tę funkcję. Umożliwił uruchamianie za pomocą kombinacji klawiszy innych poleceń tekstowych lub "makr". Trik Stallmana pozwalał na zapamiętanie raz napisanego polecenia i wielokrotne jego uruchamianie za pomocą kombinacji klawiszy. Rozwiązanie Mikkelsona podnosiło TECO na poziom WYSIWYG, a rozwiązanie Stallmana szło o jeden krok dalej, czyniąc z TECO programowalny edytor WYSIWYG. "To był przełom" - mówi Guy Steele, jeden z ówczesnych hakerów z AI Lab.
Stallman pamięta, że wprowadzenie makr wywołało eksplozję następnych innowacji. "Każdy pisał własny zbiór ulepszonych poleceń edytora, dodając polecenia wykonania wszelkich czynności, które wydawały mu się potrzebne". Wspomina, że "ludzie puszczali je w obieg, by każdy mógł coś dodać lub ulepszyć, dzięki czemu polecenia te stawały się coraz potężniejsze i miały coraz większy zakres działania. Zbiór przedefiniowanych poleceń stawał się z wolna kolekcją programów tworzących cały system".
Wprowadzenie makr okazało się bardzo przydatną innowacją. Tak wiele osób zaczęło wbudowywać makra do swych wersji TECO, że wkrótce w wyniku tej makromanii sam edytor stał się rzeczą mniejszej wagi. "Zaczęliśmy o nim myśleć raczej jak o języku programowania niż o edytorze" - mówi Stallman. Doświadczeni użytkownicy dla własnej przyjemności dopracowywali szczegóły i zgłaszali nowe pomysły.
W dwa lata po tej eksplozji szybkość wprowadzania zmian zaczęła przynosić efekty uboczne. Skutkiem gwałtownego rozwoju było wiele zmian zwiększających wartość i funkcjonalność edytora, lecz także komplikujących go nadmiernie. "Mieliśmy do czynienia z efektem wieży Babel" - twierdzi Guy Steele.
Jak twierdzi, groziło to zniszczeniem zamysłu leżącego u podstaw przedsięwzięcia. Zaprojektowany przez hakerów ITS17 ułatwiał dzielenie się wiedzą i wzajemne poprawianie tworzonych programów. Można było usiąść przy czyimś terminalu, otworzyć plik, nad którym pracował, i bezpośrednio w programie robić zmiany i komentarze. "Czasami, aby pokazać komuś, jak należy coś zaprogramować lub debuggować, najwygodniej było zrobić to bezpośrednio na jego terminalu" - tłumaczy Steele.
Możliwość wprowadzania makr w drugim roku istnienia zaczęła przytłaczać edytor, czyniąc go nieprzydatnym. W swej gorliwości dodawania nowych cech pełnoekranowych hakerzy tak dalece przekształcali własne wersje TECO, że zasiadłszy do czyjegoś terminala trzeba było poświęcić około godziny na zorientowanie się, które makropolecenia do czego służą.
Sfrustrowany Steele podjął się rozwiązania tego problemu. Zebrał razem cztery różne zbiory makr i zaczął kreślić schemat dokumentujący znaczenie najczęściej używanych makropoleceń. Przystępując do implementacji udokumentowanych cech, zainteresował przedsięwzięciem Stallmana.
"Najpierw zaglądał mi przez ramię, pytając, co robię" - wspomina Steele.
Dla Steele'a, spokojnego hakera, który rzadko bezpośrednio rozmawiał ze Stallmanem, wspomnienie tej rozmowy nadal jest żywe. Podglądanie przez ramię, co kto robi, było w AI Lab przyjętym zwyczajem. Stallman, główny opiekun TECO, uznał pracę Steele'a za interesującą i szybko przystąpił do jej skompletowania.
"Jak już wielokrotnie mówiłem, wykonałem 0,001 procenta implementacji, a resztę wykonał Stallman" - wspomina Steele ze śmiechem.
Nowa nazwa projektu, Emacs, była kurtuazyjnym gestem Stallmana, skrótem od ang. editing macros18, mającym przypominać ewolucyjny, transcendentny proces tworzenia makr w ciągu dwóch lat od eksplozji zainteresowania tym narzędziem. Było to również zapełnienie słownikowej luki, gdyż dotychczas nazwa żadnego programu pracującego w systemie ITS nie rozpoczynała się na literę "E". Wybierając Emacs, Stallman sądził, że pozwoli to na odwoływanie się do programu przez podawanie jedynie pierwszej litery nazwy. Po raz kolejny dała o sobie znać hakerska żądza maksymalnej efektywności.
Rozwijając system standardowych makropoleceń, Stallman i Steele musieli wykonać polityczną akrobację na linie. Tworząc standardowy program, Stallman gwałcił fundamentalną hakerską zasadę "popieraj decentralizację". Musiał także wziąć w karby nieograniczoną dostępność czynienia wszelkich zmian, co było główną siłą napędową rozwoju TECO.
"Z jednej strony staraliśmy się zbudować jednolity system poleceń, a z drugiej - nie zamykać drogi do wprowadzania innowacji, ponieważ programowalność była rzeczą bardzo ważną" - wspomina Stallman.
Aby rozwiązać problem, Stallman, Steele i ich koledzy hakerzy David Moon i Dan Weinreib ograniczyli standaryzację jedynie do poleceń WYSIWYG, czyli sterujących sposobem wyświetlania tekstu na ekranie. Resztę wysiłku poświęcono na zachowanie tinkertoyowego19 stylu Emacsa, pozwalającego na rozszerzanie funkcjonalności programu.
Przed Stallmanem stanął nowy trudny do rozwiązania problem: jeżeli użytkownicy będą dokonywać zmian, nie informując o tym innych, znów pojawi się efekt wieży Babel. Wracając do hakerskiej idei dzielenia się wszelkimi informacjami, umieścił w kodzie źródłowym oświadczenie określające zasady używania Emacsa. Każdy użytkownik mógł w programie dokonywać dowolnych zmian pod warunkiem udostępnienia reszcie społeczności wszystkich dokonanych rozszerzeń. Nazwał to "wspólnotą Emacs20". Tak jak TECO było czymś więcej niż edytorem, tak Emacs stał się czymś więcej niż programem. Dla Stallmana była to umowa społeczna. We wspomnieniu dokumentującym wczesną fazę projektu wyliczył zasady tego kontraktu. "EMACS był rozpowszechniany na podstawie zobowiązania do społecznego dzielenia się informacją, co oznaczało, że należało przesyłać informację o każdym wprowadzonym ulepszeniu, aby można je było włączyć do programu ku powszechnemu pożytkowi"21.
Nie wszyscy akceptowali te warunki kontraktu. Gwałtowny rozwój trwał przez następną dekadę, co doprowadziło do powstania wielu emacsopodobnych programów o różnym stopniu zgodności z oryginałem. W kilku pochodzenie od stallmanowskiego oryginału zaznaczono w dowcipny sposób za pomocą nazw rekursywnych, np. Sine (Sine is not Emacs)22, Eine (Eine is not Emacs) i Zwei (Zwei was Eine initially)23. Jako przysięgły wyznawca hakerskiej etyki Stallman nie widział żadnego powodu, by za pomocą środków prawnych powstrzymywać to twórcze zamieszanie. Fakt, że niektórzy potrafią użyć czyjegoś programu, nieco go ulepszyć i udostępniać pod inną nazwą, uważał za zdumiewające nieprzestrzeganie dobrych obyczajów.
Kolejny przykry incydent zakłócił rozwój hakerskiej społeczności. W roku 1979 Brian Reid zdecydował się na umieszczenie "bomby z opóźnionym zapłonem" w kodzie programu Scribe, umożliwiając firmie Unilogic ograniczanie dostępu do oprogramowania tym użytkownikom, którzy nie uiścili stosownej opłaty. Dla Stallmana była to złowieszcza zapowiedź przyszłych zdarzeń. "Uznał to za postępowanie w stylu nazistowskim, najgorsze, z jakim się spotkał" - wspomina Reid. Późniejsze zdobycie sławy współtwórcy internetowego Usenetu24 nie zmyło z Reida, przynajmniej w oczach Stallmana, hańby tamtej decyzji. "On twierdzi, że całe oprogramowanie powinno być wolne, a pomysł pobierania za nie opłaty jest zbrodnią przeciw ludzkości"25.
Choć Stallman był bezsilny wobec prowadzonej przez Reida sprzedaży, udało mu się jednak ukrócić inne poczynania sprzeczne z hakerskim etosem. Jako główny depozytariusz kodu źródłowego wspólnoty Emacs zaczął politycznie wykorzystywać płynące stąd możliwości. Na ostatnich etapach konfliktu z administracją Laboratory for Computer Science w sprawie zabezpieczenia dostępu do systemu przez wprowadzenie haseł rozpoczął strajk polegający na odmowie przesyłania tym osobom najnowszych wersji Emacsa do czasu, aż zrezygnują z wprowadzenia zabezpieczeń. Ruch ten tylko trochę przyczynił się do utrwalenia jego reputacji ekstremisty, ale dał istotny efekt pośredni: wzniecił w społeczności dyskusję o podstawowych wartościach hakerskiej etyki.
"Wiele osób wściekało się na mnie, twierdząc, że jestem do nich wrogo nastawiony lub że ich szantażuję, co w pewnym sensie było prawdą - Stallman opowiadał później Stevenowi Levy'emu. - Działałem przeciw nim siłą, ponieważ uważałem, że to, co robią, jest gwałtem zadawanym każdemu z nas26".
Z upływem czasu Emacs stał się probierzem hakerskiej etyki. Zapewniona przez Stallmana elastyczność tego oprogramowania zachęcała do współpracy, nawet jej żądała. Użytkownicy, którzy nie nadążali za rozwojem Emacsa lub nie zgłaszali Stallmanowi wprowadzonych przez siebie poprawek, ryzykowali pominięcie przy informowaniu o kolejnym przełomie. A informacji przełomowych było dużo. Dwadzieścia lat później użytkownicy zmodyfikowali Emacsa na tak wiele sposobów, że bywa używany jako arkusz kalkulacyjny, kalkulator, baza danych i przeglądarka internetowa. To tylko fragment istnego potopu różnych zastosowań, świadczący o wielkiej wszechstronności tego oprogramowania. "To właśnie było naszym celem - twierdzi Stallman. - Wszystko, co zostało w tym zawarte, jest jednocześnie cudowne i straszne".
Ocena innych ówczesnych współpracowników Stallmana z AI Lab jest znacznie łaskawsza. Hal Abelson, który jako student przed dyplomem współpracował ze Stallmanem w latach siedemdziesiątych, a potem wspierał go jako członek zarządu Fundacji Wolnego Oprogramowania, opisuje Emacs jako "twór błyskotliwy i doskonały". Twierdzi, że Stallman, dając możliwość dodawania własnych bibliotek i narzędzi bez wprowadzania bałaganu w ogólnej konstrukcji systemu, wytyczył drogę dalszego rozwoju projektów programistycznych opartych na prowadzonej na wielką skalę współpracy. "Jego struktura była wystarczająco krzepka, by wytrzymać ciężar luźnej współpracy ludzi z całego świata, wnoszących własne pomysły - powiada Abelson. - Nie sądzę, aby ktoś wcześniej dokonał czegoś podobnego"27.
Guy Steele w podobny sposób wyraża uznanie. Obecny pracownik naukowy Sun Microsystems, pamięta Stallmana przede wszystkim jako "błyskotliwego programistę zdolnego do produkowanie olbrzymiej objętości bezbłędnych kodów". Choć ich osobowości niezbyt do siebie pasowały, współpracowali wystarczająco długo, by Steele wyrobił sobie zdanie o stallmanowskim intensywnym stylu programowania. Wspomina znaczący epizod z końca lat siedemdziesiątych, gdy postanowili wspólnie napisać funkcję "pięknego drukowania". Ta wymyślona przez Steele'a funkcja, uruchamiana za pomocą skrótu klawiszowego, powodowała przeformatowanie kodu źródłowego Emacsa, tak że stawał się czytelniejszy i zajmował mniej miejsca, co było rozszerzeniem możliwości WYSIWYG edytora. Była to funkcja o znaczeniu na tyle ważnym, by przyciągnąć uwagę Stallmana i wkrótce po napisaniu przez Steele'a wersji pierwotnej obaj postanowili zasiąść razem, by napisać wersję poprawioną.
"Zaczęliśmy pracę pewnego ranka - wspomina Steele. - Ja przy klawiaturze, a on obok mnie. Ustąpił mi miejsca przy klawiaturze, ale koniecznie chciał dyktować, co mam pisać."
Sesja trwała 10 godzin. Przez cały czas, jak twierdzi Steele, żaden z nich nie oderwał się od pracy ani na moment. Pod koniec "hak" był gotowy i nie przekraczał 100 linii kodu. "Przez cały czas moje palce były na klawiaturze - wspomina Steele, - ale wydawało się, że pomysły nas obu sprawnie spływały na ekran. On mówił, co mam pisać, a ja pisałem".
To, jak długo trwała ta sesja, Steele uświadomił sobie dopiero, gdy w końcu opuścił AI Lab. Stając przed budynkiem na Tech Square 545 ze zdumieniem zobaczył, że otaczają go nocne ciemności. Był przyzwyczajony do programistycznych maratonów, ale w tej sesji było coś niezwykłego. Praca ze Stallmanem zmusiła go do odcięcia się od wszystkich bodźców zewnętrznych i skupienia całej mentalnej energii na wykonywanym zadaniu. Patrząc wstecz, uważa, że Stallman stapiał w jedno myśli swoje i partnera, napawając go jednocześnie radością i przerażeniem. "Gdy to się skończyło, pomyślałem, że choć było to wspaniałe doświadczenie, nie chciałbym go przeżywać ponownie."
Przypisy
- Patrz: Josh McHugh "For the Love of Hacking" Forbes (10 sierpnia 1998): http://www.forbes.com/forbes/1998/0810/6203094a.html.
- Stallman w r. 1974 otrzymał w Harvardzie tytuł Bachelor of Arts (BA) - patrz: http://www.stallman.org/home.html#serious, co mniej więcej odpowiada polskiemu licencjatowi. Internetowa Encyklopedia PWN (http://encyklopedia.pwn.pl/5310_1.html) opisuje ten stopień następująco:
BAKALAUREAT [łac.]: najniższy stopień nauk. nadawany od XIII w. przez uniw. eur., a obecnie gł. przez uniw. anglosaskie (bachelor) po 3 latach studiów; np. Bachelor of Arts (BA), Bachelor of Science (BSc).
Autor podaje, że na MIT Stallman wstąpił jako "grad student", co może oznaczać studia kończące się dyplomem magisterskim (Master of Science - MSc, Master of Arts - MA) lub doktorskim (Doctor of Philosophy - PhD). Ponieważ w Harvardzie nie otrzymał magisterium, należy wnioskować, że ten stopień miał zdobyć na MIT, więc były to studia odpowiadające ostatnim latom naszych studiów magisterskich. W uproszczeniu tłumaczę to jako studia magisterskie - przyp. tłum.
- Patrz: Stallman (1986).
- W późnych latach sześćdziesiątych Joseph Weizenbaum, zatrudniony w MIT, stworzył program komputerowy ELIZA, który z grubsza imitował psychoterapeutę przeprowadzającego wstępną rozmowę z pacjentem. Wielu ludzi z MIT, związanych z informatyką, angażowało się emocjonalnie w rozmowy z komputerem, dzieląc się swymi najbardziej intymnymi myślami. Weizenbaum, zaniepokojony wzrastającą wśród naukowców, a nawet wśród "zwykłych" ludzi tendencją do traktowania istoty ludzkiej jak maszyny, napisał książkę broniącą poglądu, iż ludzie są czymś więcej niż tylko "przetwarzaczami informacji". Computer Power and Human Reason (w swobodnym tłumaczeniu "potęga komputera i rozum człowieka" lub "potęga komputera i czynnik ludzki") jest dzisiaj uważana za pozycję klasyczną - przyp. tłum.
- "Bum" według słowników to włóczęga; wagabunda; koczownik; tramp ale także ktoś bez reszty poświęcony jakiejś działalności. Z kontekstu wynika, że Weizenbaum miał na myśli połączenie tych cech, ale nie znam polskiego słowa o takim znaczeniu - przyp. tłum.
- Patrz: Joseph Weizenbaum, Computer Power and Human Reason: From Judgment to Calculation (W.H. Freeman, 1976): s. 116.
- William Bradford Shockley (1910-1989), fizyk amerykański. Autor prac dotyczących własności magnetycznych i półprzewodnikowych ciał stałych. W 1949 wraz z J. Bardeenem i W.H. Brattainem wynalazł tranzystor, za co wszyscy trzej w roku 1956 otrzymali Nagrodę Nobla - przyp. tłum.
- Richard Philips Feynman (1918-1988), wybitny amerykański fizyk-teoretyk, członek amerykańskiej Akademii Nauk. Jeden z autorów pełnego sformułowania elektrodynamiki kwantowej, za co wraz z J. Schwingerem i S. Tomonagą otrzymał w roku 1965 Nagrodę Nobla - przyp. tłum.
- Murray Gell-Mann (ur. 1929), amerykański fizyk-teoretyk pracujący Kalifornijskim Instytucie Technologicznym, zajmujący się fizyką cząstek elementarnych. Wprowadził pojęcie kwarku. Po potwierdzeniu jego modelu dzięki odkryciu postulowanej przez niego cząstki: barionu ?- otrzymał w roku 1969 Nagrodę Nobla - przyp. tłum.
- Oczywiście, poprawnie po polsku należałoby napisać "plików wsadowych" (a były to rzeczywiste pliki kart, a nie obecne pseudopliki, będące ciągiem znaków zapisanych gdzieś tam na dysku), ale w rzeczywistości nikt tak nie mówił. Z własnego doświadczenia pamiętam, że mówiło się o "wrzucaniu jobów do czytnika". Job to było coś więcej niż dzisiejszy plik danych, zawierał bowiem polecenia wstępne, wśród nich identyfikator programisty, czasem numer jego konta, potem polecenia uruchamiające kompilator bądź inny program mający obrabiać dane zapisane we właściwym pliku, następnie znak początku pliku danych, plik danych i znak ich końca. Oczywiście, były joby bardziej skomplikowane, np. zawierające kilka plików danych - przyp. tłum.
- Patrz przypis 12. w rozdziale 4. - przyp. tłum.
- W skrócie SRI - niezależny pozarządowy instytut badawczy ufundowany przez przemysłowców z Zachodniego Wybrzeża i Stanford University, początkowo jako dependencja uniwersytetu. W roku 1970 uniezależnił się, a w roku 1977 zmienił nazwę na Stanford Research Institute Interational. W SRI prowadzone są głównie badania dotyczące najnowszych technologii. Pierwszą próbę transmisji danych przez sieć ARPANET między SRI i UCLA (University of California, Los Angeles) 29 października 1969 uznaje się za narodziny Internetu - przyp. tłum.
- Patrz: Richard Stallman EMACS: The Extensible, Customizable, Display Editor, AI Lab Memo (1979). Uaktualniona wersja w formacie html, z której cytuję, jest dostępna pod adresem: http://www.gnu.org/software/emacs/emacs-paper.html
- Stanfordzkie laboratorium sztucznej inteligencji - przyp. tłum.
- Otrzymasz to, co widzisz - przyp. tłum.
- Patrz: Richard Stallman Emacs the Full Screen Editor (1987): http://www.lysator.liu.se/history/garb/txt/87-1-emacs.txt. Dalsze informacje o rozbudowie TECO pochodzą z tego samego źródła.
- The Incompatible Timesharing System (ITS). Por. przypis 17. w rozdziale 4. i tekst, do którego on się odnosi - przyp. tłum.
- Makra edycyjne lub makra edytujące - przyp. tłum.
- Tinker Toy (Tinker-Toy, Tinkertoy lub tinkertoy), czyli "zabawka druciarza" - znana od roku 1913 zabawka-układanka składająca się z patyczków i elementów łączących, pozwalająca na rozwijanie wyobraźni dziecka. Jest to pojęcie przysłowiowe, określające układankę dającą pole wyobraźni - znalazłem w Internecie reklamę firmy, która drewniane domy, sprzedawane w częściach do samodzielnego montażu, reklamowała jako Tinker Toy dla dorosłych. Klasyczny Tinker Toy wygląda tak jak na rysunku poniżej - przyp. tłum.
- Emacs Commune, co można przełożyć jako wspólnota, społeczność lub komuna Emacs albo emacsowa. W Polsce temat nie jest często poruszany, więc nie ma ogólnie przyjętego tłumaczenia - przyp. tłum.
- Patrz Stallman (1979): #SEC34.
- Sine nie jest Emacsem - przyp. tłum.
- Zwei było na początku Eine - przyp. tłum.
- Usenet - ogólnoświatowy komputerowy system dyskusyjny (inaczej: rozproszony biuletyn elektroniczny) wykorzystujący do transmisji danych Internet i inne sieci. Dyskusje odbywają się w grupach tematycznych - przyp. tłum.
- W roku 1996 w wywiadzie dla internetowego magazynu MEME Stallman podał sprzedaż Scribe'a jako rzecz przykrą, ale powstrzymał się od wymienienia nazwiska Reida. "Problemem jest to, że nikt nie ocenił i nie ukarał tego studenta za to, co zrobił" - powiedział. - "W rezultacie inni nabrali ochoty, by iść w jego ślady". Patrz: MEME 2.04 http://memex.org/meme2-04.html
- Patrz: Steven Levy Hakerzy (Penguin USA, 1984), s. 419.
- Pisząc ten rozdział, skupiałem się bardziej na zagadnieniach społecznych niż programistycznych. Więcej informacji o tych drugich można znaleźć we wspomnieniu Stallmana z roku 1979. Polecam szczególnie rozdział "Research Through Dvelopment of Insatlled Tools" (#SEC27). Jest to tekst zrozumiały również dla osób o wykształceniu nietechnicznym i rzuca światło na ścisłe powiązanie politycznej filozofii Stallmana z jego filozofią projektowania oprogramowania. Oto przykład:
EMACS nie mógł powstać jako coś z góry starannie zaprojektowanego. Takie postępowanie jest możliwe jedynie wówczas, gdy od początku jest znany cel działania i od początku są znane potrzeby, które należy zaspokoić. Ani ja, ani nikt inny nie wyobrażaliśmy sobie tak rozbudowanego edytora, dopóki nie został on stworzony. Przed poznaniem jego możliwości nie docenialiśmy także jego wartości. EMACS istnieje, ponieważ ośmieliłem się wykonać kilka pożytecznych ułatwień na drodze, której koniec znajdował się daleko poza zasięgiem mojego wzroku.