Fri som i Frihet på ryska: Kapitel 7. Den absoluta moralens dilemma


Fri som i Frihet på ryska: Kapitel 7. Den absoluta moralens dilemma

Fri som i Frihet på ryska: Kapitel 1. Den ödesdigra skrivaren


Free as in Freedom in Russian: Chapter 2. 2001: A Hacker Odyssey


Fri som i Frihet på ryska: Kapitel 3. Porträtt av en hacker i sin ungdom


Fri som i Freedom in Russian: Chapter 4. Debunk God


Fri som i Frihet på ryska: Kapitel 5. En ström av frihet


Fri som i Frihet på ryska: Kapitel 6. Emacs Commune

Den absoluta moralens dilemmat

Klockan halv tolv på natten den 27 september 1983 dök ett ovanligt meddelande upp i Usenet-gruppen net.unix-wizards signerat rms@mit-oz. Titeln på meddelandet var kort och extremt lockande: "En ny implementering av UNIX." Men istället för någon färdig ny version av Unix hittade läsaren ett samtal:

Denna Thanksgiving börjar jag skriva ett nytt, helt Unix-kompatibelt operativsystem som heter GNU (GNU's Not Unix). Jag kommer fritt att distribuera det till alla. Jag behöver verkligen din tid, pengar, kod, utrustning - all hjälp.

För en erfaren Unix-utvecklare var budskapet en blandning av idealism och ego. Författaren åtog sig inte bara att från grunden återskapa ett helt operativsystem, mycket avancerat och kraftfullt, utan också att förbättra det. GNU-systemet var tänkt att innehålla alla nödvändiga komponenter som en textredigerare, ett kommandoskal, en kompilator, såväl som "ett antal andra saker." De lovade också extremt attraktiva funktioner som inte var tillgängliga i befintliga Unix-system: ett grafiskt gränssnitt i programmeringsspråket Lisp, ett feltolerant filsystem, nätverksprotokoll baserade på MIT-nätverksarkitekturen.

"GNU kommer att kunna köra Unix-program, men kommer inte att vara identisk med Unix-systemet," skrev författaren, "Vi kommer att göra alla nödvändiga förbättringar som har mognat under årens arbete med olika operativsystem."

För att förutse en skeptisk reaktion på hans budskap kompletterade författaren det med en kort självbiografisk utvikning under rubriken: "Vem är jag?":

Jag är Richard Stallman, skaparen av den ursprungliga EMACS-redigeraren, en av klonerna som du förmodligen har stött på. Jag arbetar på MIT AI Lab. Jag har lång erfarenhet av att utveckla kompilatorer, redaktörer, debuggers, kommandotolkar, ITS och Lisp Machine operativsystem. Implementerat terminaloberoende skärmstöd i ITS, samt feltolerant filsystem och två fönstersystem för Lisp-maskiner.

Det råkade bara vara så att Stallmans intrikata projekt inte startade på Thanksgiving Day, som utlovat. Det var inte förrän i januari 1984 som Richard kastade sig huvudstupa in i mjukvaruutveckling i Unix-stil. Ur en ITS-systemarkitekts perspektiv var det som att gå från att bygga moriska palats till att bygga förortsköpcentra. Men utvecklingen av Unix-systemet erbjöd också fördelar. ITS, trots all sin kraft, hade en svag punkt - den fungerade bara på en PDP-10-dator från DEC. I början av 80-talet övergav laboratoriet PDP-10, och ITS, som hackare jämfört med en livlig stad, blev en spökstad. Unix, å andra sidan, designades ursprungligen med ett öga för portabilitet från en datorarkitektur till en annan, så sådana problem hotade det inte. Utvecklat av juniora forskare vid AT&T gled Unix under företagsradarn och hittade ett lugnt hem i tankesmedjornas ideella värld. Med färre resurser än sina hackerbröder vid MIT, anpassade Unix-utvecklarna sitt system för att köras på en djurpark med olika hårdvara. Främst på 16-bitars PDP-11, som labbhackare ansåg olämplig för seriösa uppgifter, men också på 32-bitars stordatorer som VAX 11/780. År 1983 hade företag som Sun Microsystems skapat relativt kompakta stationära datorer - "arbetsstationer" - jämförbara i kraft med den gamla PDP-10 stordatorn. Den allestädes närvarande Unix bosatte sig också på dessa arbetsstationer.

Unix-portabilitet tillhandahölls av ett extra lager av abstraktion mellan applikationer och hårdvara. Istället för att skriva program i en specifik dators maskinkod, som Lab-hackarna gjorde när de utvecklade program för ITS på PDP-10, använde Unix-utvecklare högnivåprogrammeringsspråket C, som inte var knutet till en specifik hårdvaruplattform. Samtidigt fokuserade utvecklarna på att standardisera de gränssnitt genom vilka delar av operativsystemet interagerar med varandra. Resultatet blev ett system där vilken del som helst kunde designas om utan att påverka alla andra delar och utan att störa deras funktion. Och för att överföra ett system från en hårdvaruarkitektur till en annan räckte det också med att bara göra om en del av systemet, och inte skriva om den helt. Experter uppskattade denna fantastiska nivå av flexibilitet och bekvämlighet, så Unix spred sig snabbt över hela datorvärlden.

Stallman bestämde sig för att skapa GNU-systemet på grund av bortgången av ITS, AI Lab-hackarnas favoritskapare. Döden av ITS var ett slag för dem, inklusive Richard. Om historien med Xerox-laserskrivaren öppnade hans ögon för orättvisan med proprietära licenser, så drev ITS död honom från motvilja mot stängd programvara till aktivt motstånd mot det.

Orsakerna till ITS död, liksom dess kod, går långt tillbaka i tiden. År 1980 arbetade de flesta av Labs hackare redan på en Lisp-maskin och ett operativsystem för den.

Lisp är ett elegant programmeringsspråk som är perfekt för att arbeta med data vars struktur är okänd på förhand. Det skapades av pionjären inom forskning om artificiell intelligens och skaparen av termen "artificiell intelligens" John McCarthy, som arbetade på MIT under andra hälften av 50-talet. Namnet på språket är en förkortning för "LISt Processing" eller "list processing". Efter att McCarthy lämnade MIT för Stanford ändrade labbets hackare Lisp något och skapade sin lokala dialekt MACLISP, där de första 3 bokstäverna stod för MAC-projektet, tack vare vilket faktiskt AI-laboratoriet vid MIT dök upp. Under ledning av systemarkitekten Richard Greenblatt utvecklade labbets hackare en Lisp-maskin – en speciell dator för att köra program i Lisp, samt ett operativsystem för denna dator – också det, naturligtvis, skrivet i Lisp.

I början av 80-talet hade konkurrerande grupper av hackare grundat två företag som tillverkade och säljer Lisp-maskiner. Greenblatts företag hette Lisp Machines Incorporated, eller helt enkelt LMI. Han hoppades klara sig utan externa investeringar och skapa ett rent "hackerföretag". Men de flesta av hackarna gick med i Symbolics, en typisk kommersiell startup. 1982 lämnade de MIT helt.

De som blev kvar kunde räknas på ena handens fingrar, så program och maskiner tog längre och längre tid att reparera, eller reparerades inte alls. Och värst av allt, enligt Stallman, började "demografiska förändringar" på laboratoriet. Hackare, som tidigare varit i minoritet, försvann nästan och lämnade laboratoriet till fullt förfogande för lärare och studenter, vars inställning till PDP-10 var öppet fientlig.

1982 fick AI Lab en ersättare för sin 12 år gamla PDP-10 - DECSYSTEM 20. Ansökningar skrivna för PDP-10 körde utan problem på den nya datorn, eftersom DECSYSTEM 20 i huvudsak var en uppdaterad PDP -10, men det gamla operativsystemet passade inte alls - ITS var tvungen att portas till en ny dator, vilket betyder nästan helt omskriven. Och detta är i en tid då nästan alla hackare som kunde göra detta har lämnat laboratoriet. Så det kommersiella operativsystemet Twenex tog snabbt över den nya datorn. De få hackare som var kvar på MIT kunde bara acceptera detta.

"Utan hackare för att skapa och underhålla operativsystemet är vi dömda", sa fakultetsmedlemmar och studenter "Vi behöver ett kommersiellt system som stöds av något företag så att det kan lösa problem med det här systemet i sig." Stallman minns att detta argument visade sig vara ett grymt misstag, men på den tiden lät det övertygande.

Till en början såg hackare Twenex som ytterligare en inkarnation av en auktoritär korporatokrati som de ville bryta. Till och med namnet återspeglade hackarnas fientlighet - i själva verket kallades systemet TOPS-20, vilket indikerar kontinuitet med TOPS-10, också ett kommersiellt DEC-system för PDP-10. Men arkitektoniskt hade TOPS-20 inget gemensamt med TOPS-10. Det gjordes baserat på Tenex-systemet, som Bolt, Beranek och Newman utvecklade för PDP-10. . Stallman började kalla systemet "Twenex" bara för att slippa kalla det TOPS-20. "Systemet var långt ifrån topplösningar, så jag kunde inte våga kalla det vid dess officiella namn", minns Stallman, "så jag infogade bokstaven 'w' i 'Tenex' för att göra det till 'Twenex'." (Detta namn spelar på ordet "tjugo", dvs. "tjugo")

Datorn som körde Twenex/TOPS-20 kallades ironiskt nog "Oz." Faktum är att DECSYSTEM 20 krävde en liten PDP-11-maskin för att driva terminalen. En hackare, när han först såg PDP-11 kopplad till den här datorn, jämförde den med en pretentiös prestation av Wizard of Oz. "Jag är den stora och fruktansvärda Oz! – reciterade han. "Titta bara inte på den lilla yngeln jag jobbar på."

Men det var inget roligt i den nya datorns operativsystem. Säkerhet och åtkomstkontroll byggdes in i Twenex på en grundläggande nivå, och dess applikationsverktyg utformades också med säkerhet i åtanke. Nedlåtande skämt om labbets säkerhetssystem har förvandlats till en allvarlig kamp för datorkontroll. Administratörer hävdade att utan säkerhetssystem skulle Twenex vara instabilt och risk för fel. Hackare försäkrade att stabilitet och tillförlitlighet kunde uppnås mycket snabbare genom att redigera systemets källkod. Men det fanns redan så få av dem i Laboratoriet att ingen lyssnade på dem.

Hackarna trodde att de kunde komma runt säkerhetsrestriktionerna genom att ge alla användare "styrrättigheter" - förhöjda rättigheter som ger dem möjlighet att göra många saker som den genomsnittliga användaren är förbjuden att göra. Men i det här fallet kan vilken användare som helst ta bort "styrbehörigheter" från vilken annan användare som helst, och han kunde inte returnera dem till sig själv på grund av bristande åtkomsträttigheter. Därför beslutade hackarna att få kontroll över systemet genom att ta bort "styrbehörigheter" från alla utom dem själva.

Att gissa lösenord och köra felsökaren medan systemet startade gjorde ingenting. Att ha misslyckats med "statskupp", skickade Stallman ett meddelande till alla laboratorieanställda.

"Tills nu hade aristokraterna besegrats," skrev han, "men nu har de fått övertaget, och försöket att ta makten har misslyckats." Richard skrev under meddelandet: "Radio Free OZ" så att ingen skulle gissa att det var han. En utmärkt förklädnad med tanke på att alla i Laboratoriet kände till Stallmans inställning till säkerhetssystem och hans hån mot lösenord. Richards aversion mot lösenord var dock känd långt bortom MIT. Nästan hela ARPAnet, prototypen av internet på den tiden, fick tillgång till laboratoriets datorer under Stallmans konto. En sådan "turist" var till exempel Don Hopkins, en programmerare från Kalifornien, som genom hackers mun till mun lärde sig att man kunde komma in i det berömda ITS-systemet på MIT genom att helt enkelt ange 3 bokstäver av Stallmans initialer som inloggning och lösenord.

"Jag är evigt tacksam för att MIT gav mig och så många andra människor friheten att använda sina datorer", säger Hopkins, "det betydde mycket för oss alla."

Denna "turist"-politik varade i många år medan ITS-systemet levde, och ledningen för MIT såg nedlåtande på det. . Men när Oz maskin blev huvudbron från laboratoriet till ARPAnet förändrades allt. Stallman gav fortfarande åtkomst till sitt konto med en känd inloggning och lösenord, men administratörer krävde att han skulle ändra lösenordet och inte ge det till någon annan. Richard, med hänvisning till sin etik, vägrade överhuvudtaget att arbeta på Ozs maskin.

"När lösenord började dyka upp på AI Lab-datorer bestämde jag mig för att följa min övertygelse om att det inte borde finnas några lösenord," sa Stallman senare, "och eftersom jag trodde att datorer inte behövde säkerhetssystem borde jag inte ha stöttat dessa åtgärder för att implementera dem."

Stallmans vägran att knäböja inför den stora och fruktansvärda Oz-maskinen visade att spänningarna växte mellan hackarna och labbets överordnade. Men denna spänning var bara en blek skugga av konflikten som rasade inom själva hackergemenskapen, som var uppdelad i 2 läger: LMI (Lisp Machines Incorporated) och Symbolics.

Symbolics fick mycket investeringar utifrån, vilket lockade många av Labs hackare. De arbetade på Lisp maskinsystemet både på MIT och utanför det. I slutet av 1980 anställde företaget 14 laboratorieanställda som konsulter för att utveckla sin egen version av Lisp-maskinen. Resten av hackarna, utan Stallman, arbetade för LMI. Richard bestämde sig för att inte ta parti och var av vana ensam.

Till en början fortsatte hackare som anlitats av Symbolics att arbeta på MIT och förbättrade Lisp-maskinsystemet. De, liksom LMI-hackarna, använde MIT-licensen för sin kod. Det krävde att ändringarna skulle returneras till MIT, men det krävdes inte att MIT distribuerade ändringarna. Men under 1981 höll hackare sig till ett gentleman's agreement där alla deras förbättringar skrevs in i MIT:s Lisp-maskin och distribuerades till alla användare av dessa maskiner. Detta tillstånd bevarade fortfarande en viss stabilitet hos hackerkollektivet.

Men den 16 mars 1982 – Stallman minns den här dagen väl eftersom det var hans födelsedag – upphörde gentlemannaavtalet. Detta skedde på uppdrag av Symbolics-ledningen de ville alltså strypa sin konkurrent, LMI-företaget, som hade mycket färre hackare som arbetade för det. Ledarna för Symbolics resonerade så här: om LMI har många gånger färre anställda, så visar det sig att det övergripande arbetet med Lisp-maskinen är fördelaktigt för den, och om detta utbyte av utveckling stoppas, kommer LMI att förstöras. För detta ändamål beslutade de att missbruka licensbrevet. Istället för att göra ändringar i MIT-versionen av systemet, som LMI kunde använda, började de förse MIT med Symbolics-versionen av systemet, som de kunde redigera hur de ville. Det visade sig att all testning och redigering av Lisp-maskinkoden vid MIT endast gick till fördel för Symbolics.

Som ansvarig för underhållet av laboratoriets Lisp-maskin (med Greenblatts hjälp under de första månaderna) var Stallman rasande. Symbolics hackare försåg kod med hundratals ändringar som orsakade fel. Med tanke på att detta var ett ultimatum, avbröt Stallman laboratoriets kommunikation med Symbolics, lovade att aldrig mer arbeta på företagets maskiner och meddelade att han skulle gå med i arbetet med MIT Lisp-maskinen för att stödja LMI. "I mina ögon var labbet ett neutralt land, som Belgien under andra världskriget", säger Stallman, "och om Tyskland invaderade Belgien, förklarade Belgien krig mot Tyskland och anslöt sig till Storbritannien och Frankrike."

När Symbolics chefer märkte att deras senaste innovationer fortfarande dök upp på MIT-versionen av Lisp-maskinen, blev de arga och började anklaga labbets hackare för att ha stulit kod. Men Stallman bröt inte alls upphovsrättslagen. Han studerade koden från Symbolics och gjorde logiska gissningar om framtida korrigeringar och förbättringar, som han började implementera från grunden för MIT:s Lisp-maskin. Symbolics chefer trodde inte på det. De installerade spionprogram på Stallmans terminal, som registrerade allt Richard gjorde. Så de hoppades att samla bevis på kodstöld och visa det för MIT-administrationen, men till och med i början av 1983 fanns det nästan ingenting att visa. Allt de hade var ett dussintal platser där koden för de två systemen såg lite lika ut.

När labbadministratörer visade Symbolics bevis för Stallman, tillbakavisade han det och sa att koden var liknande, men inte densamma. Och han vände logiken i Symbolics-ledningen mot honom: om dessa korn av liknande kod är allt de kunde gräva upp på honom, så bevisar detta bara att Stallman faktiskt inte stal koden. Detta räckte för att laboratoriets chefer skulle godkänna Stallmans arbete, och han fortsatte med det till slutet av 1983. .

Men Stallman ändrade inställning. För att skydda sig själv och projektet så mycket som möjligt från Symbolics påståenden slutade han helt titta på deras källkoder. Han började skriva kod uteslutande baserad på dokumentation. Richard förväntade sig inte de största innovationerna från Symbolics, utan implementerade dem själv, och lade sedan bara till gränssnitt för kompatibilitet med Symbolics-implementeringen, beroende på deras dokumentation. Han läste också symbolikens kodändringslogg för att se vilka buggar de fixade, och han fixade dessa buggar själv på andra sätt.

Det som hände stärkte Stallmans beslutsamhet. Efter att ha skapat analoger till de nya symboliska funktionerna övertalade han laboratoriepersonalen att använda MIT-versionen av Lisp-maskinen, vilket säkerställde en bra nivå av testning och feldetektering. Och MIT-versionen var helt öppen för LMI. "Jag ville straffa Symbolics till varje pris", säger Stallman. Detta uttalande visar inte bara att Richards karaktär är långt ifrån pacifistisk, utan också att konflikten om Lisp-maskinen berörde honom till det snabba.

Stallmans desperata beslutsamhet kan förstås när man tänker på hur det såg ut för honom - "förstörelsen" av hans "hem", det vill säga hackergemenskapen och kulturen i AI-labbet. Levy intervjuade senare Stallman via e-post, och Richard jämförde sig själv med Ishi, den sista kända medlemmen av Yahi-indianerna, som utrotades under de indiska krigen på 1860- och 1870-talen. Denna analogi ger de beskrivna händelserna en episk, nästan mytologisk räckvidd. Hackarna som arbetade för Symbolics såg detta i ett lite annat ljus: deras företag förstörde eller utrotade inte, utan gjorde bara det som borde ha gjorts för länge sedan. Efter att ha flyttat Lisp-maskinen till det kommersiella fältet ändrade Symbolics sitt förhållningssätt till programdesign - istället för att klippa dem enligt hackares inbitna mönster, började de använda mjukare och mer humana standarder för chefer. Och de betraktade Stallman inte som en motståndare för att försvara en rättvis sak, utan som en bärare av föråldrat tänkande.

Personliga stridigheter gav också bränsle till elden. Redan före symbolikens tillkomst undvek många hackare Stallman, och nu har situationen förvärrats många gånger om. "Jag blev inte längre inbjuden att åka på resor till Chinatown," minns Richard, "Greenblatt startade seden: när du vill äta lunch går du runt dina kollegor och bjuder in dem med dig eller skickar dem ett meddelande. Någonstans 1980-1981 slutade de att ringa mig. Inte nog med att de inte bjöd in mig, utan, som en person senare erkände för mig, satte de press på de andra så att ingen skulle berätta för mig om de planerade tågen till lunch.”

Källa: linux.org.ru

Lägg en kommentar