Fri som i Frihet på russisk: Kapittel 7. Den absolutte moralens dilemma


Fri som i Frihet på russisk: Kapittel 7. Den absolutte moralens dilemma

Gratis som i Freedom in Russian: Chapter 1. The Fatal Printer


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


Fri som i Frihet på russisk: Kapittel 3. Portrett av en hacker i ungdommen


Fri som i Frihet på russisk: Kapittel 4. Debunk God


Fri som i Frihet på russisk: Kapittel 5. En drypp av frihet


Gratis som i Freedom in Russian: Kapittel 6. Emacs Commune

Den absolutte moralens dilemma

Klokken halv tolv natt til 27. september 1983 dukket det opp en uvanlig melding i Usenet-gruppen net.unix-wizards signert rms@mit-oz. Tittelen på meldingen var kort og ekstremt fristende: "En ny implementering av UNIX." Men i stedet for en ferdiglaget ny versjon av Unix, fant leseren en oppfordring:

Denne høsttakkefesten begynner jeg å skrive et nytt, fullstendig Unix-kompatibelt operativsystem kalt GNU (GNU's Not Unix). Jeg vil fritt distribuere det til alle. Jeg trenger virkelig din tid, penger, kode, utstyr - all hjelp.

For en erfaren Unix-utvikler var budskapet en blanding av idealisme og ego. Forfatteren påtok seg ikke bare å gjenskape fra bunnen av et helt operativsystem, veldig avansert og kraftig, men også å forbedre det. GNU-systemet skulle inneholde alle nødvendige komponenter som en tekstredigerer, et kommandoskall, en kompilator, samt "en rekke andre ting." De lovet også ekstremt attraktive funksjoner som ikke var tilgjengelige i eksisterende Unix-systemer: et grafisk grensesnitt i programmeringsspråket Lisp, et feiltolerant filsystem, nettverksprotokoller basert på MIT-nettverksarkitekturen.

"GNU vil kunne kjøre Unix-programmer, men vil ikke være identisk med Unix-systemet," skrev forfatteren, "Vi vil gjøre alle nødvendige forbedringer som har modnet i løpet av årene med arbeid på forskjellige operativsystemer."

I påvente av en skeptisk reaksjon på budskapet hans, suppleret forfatteren den med en kort selvbiografisk digresjon under overskriften: "Hvem er jeg?":

Jeg er Richard Stallman, skaperen av den originale EMACS-redaktøren, en av klonene du sikkert har kommet over. Jeg jobber ved MIT AI Lab. Jeg har lang erfaring med å utvikle kompilatorer, redaktører, debuggere, kommandotolkere, ITS og Lisp Machine operativsystemer. Implementerte terminaluavhengig skjermstøtte i ITS, samt feiltolerant filsystem og to vindussystemer for Lisp-maskiner.

Det skjedde at Stallmans intrikate prosjekt ikke startet på Thanksgiving Day, som lovet. Det var ikke før i januar 1984 at Richard kastet seg ut i Unix-stil programvareutvikling. Fra perspektivet til en ITS-systemarkitekt var det som å gå fra å bygge mauriske palasser til å bygge forstadskjøpesentre. Utviklingen av Unix-systemet ga imidlertid også fordeler. ITS, til tross for all sin kraft, hadde et svakt punkt - den fungerte bare på en PDP-10-datamaskin fra DEC. På begynnelsen av 80-tallet forlot laboratoriet PDP-10, og ITS, som hackere sammenlignet med en travel by, ble en spøkelsesby. Unix, på den annen side, ble opprinnelig designet med et øye for portabilitet fra en datamaskinarkitektur til en annen, så slike problemer truet den ikke. Utviklet av juniorforskere ved AT&T, gled Unix under bedriftsradaren og fant et rolig hjem i tenketankens ideelle verden. Med færre ressurser enn hackerbrødrene deres ved MIT, tilpasset Unix-utviklerne systemet sitt til å kjøre på en dyrehage med ulik maskinvare. Hovedsakelig på 16-bit PDP-11, som Lab-hackere anså som uegnet for seriøse oppgaver, men også på 32-bits stormaskiner som VAX 11/780. I 1983 hadde selskaper som Sun Microsystems laget relativt kompakte stasjonære datamaskiner - "arbeidsstasjoner" - som i kraft kan sammenlignes med den gamle PDP-10 stormaskinen. Den allestedsnærværende Unix slo seg også ned på disse arbeidsstasjonene.

Unix-portabilitet ble levert av et ekstra lag med abstraksjon mellom applikasjoner og maskinvare. I stedet for å skrive programmer i maskinkoden til en spesifikk datamaskin, slik Lab-hackerne gjorde da de utviklet programmer for ITS på PDP-10, brukte Unix-utviklere programmeringsspråket C på høyt nivå, som ikke var knyttet til en spesifikk maskinvareplattform. Samtidig fokuserte utviklerne på å standardisere grensesnittene som deler av operativsystemet samhandlet med hverandre gjennom. Resultatet ble et system der enhver del kunne redesignes uten å påvirke alle andre deler og uten å forstyrre driften. Og for å overføre et system fra en maskinvarearkitektur til en annen, var det også nok å gjenskape bare én del av systemet, og ikke å omskrive det helt. Eksperter satte pris på dette fantastiske nivået av fleksibilitet og bekvemmelighet, så Unix spredte seg raskt over hele dataverdenen.

Stallman bestemte seg for å lage GNU-systemet på grunn av bortgangen til ITS, favorittinnsynet til AI Lab-hackere. Døden til ITS var et slag for dem, inkludert Richard. Hvis historien med Xerox-laserskriveren åpnet øynene hans for urettferdigheten av proprietære lisenser, presset døden til ITS ham fra aversjon til lukket programvare til aktiv motstand mot den.

Årsakene til døden til ITS, som koden, går langt tilbake i fortiden. I 1980 jobbet de fleste av Labs hackere allerede på en Lisp-maskin og et operativsystem for den.

Lisp er et elegant programmeringsspråk som er perfekt for å jobbe med data hvis struktur er ukjent på forhånd. Den ble skapt av pioneren innen forskning på kunstig intelligens og skaperen av begrepet "kunstig intelligens" John McCarthy, som jobbet ved MIT i andre halvdel av 50-tallet. Navnet på språket er en forkortelse for "LIst Processing" eller "list processing". Etter at McCarthy forlot MIT for Stanford, endret laboratoriets hackere Lisp noe, og skapte sin lokale dialekt MACLISP, der de første 3 bokstavene sto for MAC-prosjektet, takket være hvilket faktisk AI-laboratoriet ved MIT dukket opp. Under ledelse av systemarkitekten Richard Greenblatt utviklet laboratoriets hackere en Lisp-maskin – en spesiell datamaskin for å kjøre programmer i Lisp, samt et operativsystem for denne datamaskinen – også selvfølgelig skrevet i Lisp.

På begynnelsen av 80-tallet hadde konkurrerende grupper av hackere grunnlagt to selskaper som produserte og solgte Lisp-maskiner. Greenblatts selskap ble kalt Lisp Machines Incorporated, eller ganske enkelt LMI. Han håpet å klare seg uten eksterne investeringer og skape et rent "hackerselskap." Men de fleste av hackerne sluttet seg til Symbolics, en typisk kommersiell oppstart. I 1982 forlot de MIT fullstendig.

De som ble igjen kunne telles på fingrene på én hånd, så programmer og maskiner tok lengre og lengre tid å reparere, eller ble ikke reparert i det hele tatt. Og det verste av alt, ifølge Stallman, begynte "demografiske endringer" ved laboratoriet. Hackere, som tidligere hadde vært i mindretall, forsvant nesten, og la laboratoriet stå til full disposisjon for lærere og studenter, hvis holdning til PDP-10 var åpenlyst fiendtlig.

I 1982 mottok AI Lab en erstatning for sin 12 år gamle PDP-10 - DECSYSTEM 20. Applikasjoner skrevet for PDP-10 kjørte uten problemer på den nye datamaskinen, fordi DECSYSTEM 20 i hovedsak var en oppdatert PDP -10, men den gamle operativsystemet var ikke egnet i det hele tatt - ITS måtte porteres til en ny datamaskin, noe som betyr nesten fullstendig omskrevet. Og dette er på et tidspunkt hvor nesten alle hackerne som kunne gjøre dette har forlatt laboratoriet. Så det kommersielle Twenex-operativsystemet tok raskt over den nye datamaskinen. De få hackerne som ble igjen på MIT kunne bare godta dette.

"Uten hackere for å lage og vedlikeholde operativsystemet, er vi dømt," sa fakultetsmedlemmer og studenter. "Vi trenger et kommersielt system støttet av et eller annet selskap slik at det kan løse problemer med dette systemet selv." Stallman husker at dette argumentet viste seg å være en grusom feil, men på det tidspunktet hørtes det overbevisende ut.

Til å begynne med så hackere på Twenex som en annen inkarnasjon av et autoritært korporatokrati som de ønsket å bryte. Selv navnet reflekterte fiendtligheten til hackere - faktisk ble systemet kalt TOPS-20, noe som indikerer kontinuitet med TOPS-10, også et kommersielt DEC-system for PDP-10. Men arkitektonisk hadde TOPS-20 ingenting til felles med TOPS-10. Den ble laget basert på Tenex-systemet, som Bolt, Beranek og Newman utviklet for PDP-10. . Stallman begynte å kalle systemet "Twenex" bare for å unngå å kalle det TOPS-20. "Systemet var langt fra toppløsninger, så jeg kunne ikke våge å kalle det ved dets offisielle navn," husker Stallman, "så jeg satte inn bokstaven 'w' i 'Tenex' for å gjøre det til 'Twenex'. (Dette navnet spiller på ordet "tjue", dvs. "tjue")

Datamaskinen som kjørte Twenex/TOPS-20 ble ironisk nok kalt "Oz." Faktum er at DECSYSTEM 20 krevde en liten PDP-11-maskin for å betjene terminalen. En hacker, da han først så PDP-11 koblet til denne datamaskinen, sammenlignet den med en pretensiøs ytelse av Wizard of Oz. «Jeg er den store og forferdelige Oz! – sa han opp. "Bare ikke se på den lille yngelen jeg jobber med."

Men det var ikke noe morsomt i operativsystemet til den nye datamaskinen. Sikkerhet og tilgangskontroll ble bygget inn i Twenex på et grunnleggende nivå, og applikasjonsverktøyene ble også designet med sikkerhet i tankene. Nedlatende vitser om laboratoriets sikkerhetssystemer har blitt til en alvorlig kamp om datakontroll. Administratorer hevdet at uten sikkerhetssystemer ville Twenex være ustabil og utsatt for feil. Hackere forsikret at stabilitet og pålitelighet kunne oppnås mye raskere ved å redigere kildekoden til systemet. Men det var allerede så få av dem i Laboratoriet at ingen hørte på dem.

Hackerne trodde de kunne omgå sikkerhetsrestriksjonene ved å gi alle brukere «styringsprivilegier» – forhøyede rettigheter som gir dem muligheten til å gjøre mange ting som den gjennomsnittlige brukeren er forbudt å gjøre. Men i dette tilfellet kan enhver bruker ta bort "styringsprivilegier" fra enhver annen bruker, og han kunne ikke returnere dem til seg selv på grunn av manglende tilgangsrettigheter. Derfor bestemte hackerne seg for å få kontroll over systemet ved å ta bort "styringsprivilegier" fra alle unntatt seg selv.

Å gjette passord og starte debuggeren mens systemet startet opp gjorde ingenting. Etter å ha mislyktes i "statskupp", sendte Stallman en melding til alle laboratorieansatte.

"Til nå hadde aristokratene blitt beseiret," skrev han, "men nå har de fått overtaket, og forsøket på å ta makten har mislyktes." Richard signerte meldingen: "Radio Free OZ" slik at ingen skulle gjette at det var ham. En utmerket forkledning, med tanke på at alle i laboratoriet visste om Stallmans holdning til sikkerhetssystemer og hans hån mot passord. Richards aversjon mot passord var imidlertid kjent langt utenfor MIT. Nesten hele ARPAnet, prototypen på Internett på den tiden, fikk tilgang til laboratoriets datamaskiner under Stallmans konto. En slik "turist" var for eksempel Don Hopkins, en programmerer fra California, som gjennom hacker jungeltelegrafen lærte at du kunne gå inn i det berømte ITS-systemet ved MIT ganske enkelt ved å skrive inn 3 bokstaver av Stallmans initialer som login og passord.

"Jeg er evig takknemlig for at MIT ga meg og så mange andre mennesker friheten til å bruke datamaskinene sine," sier Hopkins, "det betydde mye for oss alle."

Denne "turist"-politikken varte i mange år mens ITS-systemet levde, og ledelsen i MIT så nedlatende på den. . Men da maskinen til Oz ble hovedbroen fra laboratoriet til ARPAnet, endret alt seg. Stallman ga fortsatt tilgang til kontoen sin ved å bruke kjent pålogging og passord, men administratorer krevde at han skulle endre passordet og ikke gi det til noen andre. Richard, med henvisning til sin etikk, nektet å jobbe på Ozs maskin i det hele tatt.

"Da passord begynte å dukke opp på AI Lab-datamaskiner, bestemte jeg meg for å følge min tro på at det ikke skulle være noen passord," sa Stallman senere, "og siden jeg trodde at datamaskiner ikke trengte sikkerhetssystemer, burde jeg ikke ha støttet disse tiltakene for å implementere dem."

Stallmans nektelse av å knele foran den store og forferdelige Oz-maskinen viste at spenningen vokste mellom hackerne og laboratoriets overordnede. Men denne spenningen var bare en blek skygge av konflikten som raste i selve hackermiljøet, som var delt inn i 2 leire: LMI (Lisp Machines Incorporated) og Symbolics.

Symbolikk mottok mye investeringer utenfra, noe som tiltrakk seg mange av laboratoriets hackere. De jobbet på Lisp-maskinsystemet både ved MIT og utenfor det. Ved utgangen av 1980 ansatte selskapet 14 laboratorieansatte som konsulenter for å utvikle sin egen versjon av Lisp-maskinen. Resten av hackerne, ikke medregnet Stallman, jobbet for LMI. Richard bestemte seg for ikke å ta parti, og var av vane alene.

Til å begynne med fortsatte hackere ansatt av Symbolics å jobbe ved MIT, og forbedret Lisp-maskinsystemet. De, som LMI-hackerne, brukte MIT-lisensen for koden sin. Det krevde at endringene ble returnert til MIT, men krevde ikke at MIT distribuerte endringene. I løpet av 1981 fulgte imidlertid hackere en gentleman's agreement der alle forbedringene deres ble skrevet inn i MITs Lisp-maskin og distribuert til alle brukere av disse maskinene. Denne tilstanden bevarte fortsatt en viss stabilitet til hackerkollektivet.

Men den 16. mars 1982 – Stallman husker godt denne dagen fordi det var bursdagen hans – gikk gentlemanavtalen ut. Dette skjedde etter ordre fra Symbolics-ledelsen; de ønsket derfor å kvele konkurrenten deres, LMI-selskapet, som hadde mye færre hackere som jobbet for det. Lederne for Symbolics resonnerte på denne måten: hvis LMI har mange ganger færre ansatte, så viser det seg at det samlede arbeidet med Lisp-maskinen er fordelaktig for den, og hvis denne utvekslingen av utviklingen stoppes, vil LMI bli ødelagt. For dette formål bestemte de seg for å misbruke lisensbrevet. I stedet for å gjøre endringer i MIT-versjonen av systemet, som LMI kunne bruke, begynte de å forsyne MIT med Symbolics-versjonen av systemet, som de kunne redigere slik de ville. Det viste seg at enhver testing og redigering av Lisp-maskinkoden ved MIT bare gikk til fordel for Symbolics.

Som mannen som var ansvarlig for å vedlikeholde laboratoriets Lisp-maskin (med Greenblatts hjelp de første månedene), ble Stallman rasende. Symbolics hackere ga kode med hundrevis av endringer som forårsaket feil. Med tanke på at dette var et ultimatum, kuttet Stallman laboratoriets kommunikasjon med Symbolics, sverget å aldri jobbe på selskapets maskiner igjen, og kunngjorde at han ville bli med i arbeidet med MIT Lisp-maskinen for å støtte LMI. "I mine øyne var laboratoriet et nøytralt land, som Belgia under andre verdenskrig," sier Stallman, "og hvis Tyskland invaderte Belgia, erklærte Belgia krig mot Tyskland og sluttet seg til Storbritannia og Frankrike."

Da Symbolics-ledere la merke til at deres siste innovasjoner fortsatt dukket opp på MIT-versjonen av Lisp-maskinen, ble de sinte og begynte å anklage Labs hackere for å stjele kode. Men Stallman brøt ikke opphavsrettsloven i det hele tatt. Han studerte koden levert av Symbolics og gjorde logiske gjetninger om fremtidige rettelser og forbedringer, som han begynte å implementere fra bunnen av for MITs Lisp-maskin. Ledere i symbolikk trodde ikke på det. De installerte spyware på Stallmans terminal, som registrerte alt Richard gjorde. Så de håpet å samle bevis på kodetyveri og vise det til MIT-administrasjonen, men selv i begynnelsen av 1983 var det nesten ingenting å vise. Alt de hadde var et dusin eller så steder der koden til de to systemene så litt lik ut.

Da Lab-administratorer viste Symbolics' bevis til Stallman, tilbakeviste han det og sa at koden var lik, men ikke den samme. Og han snudde logikken til Symbolics-ledelsen mot ham: hvis disse kornene med lignende kode er alt de kunne grave opp på ham, så beviser dette bare at Stallman faktisk ikke stjal koden. Dette var nok til at Laboratoriets ledere kunne godkjenne Stallmans arbeid, og han fortsatte det til slutten av 1983. .

Men Stallman endret tilnærming. For å beskytte seg selv og prosjektet så mye som mulig fra Symbolics’ påstander, sluttet han helt å se på kildekodene deres. Han begynte å skrive kode utelukkende basert på dokumentasjon. Richard forventet ikke de største innovasjonene fra Symbolics, men implementerte dem selv, og la deretter bare til grensesnitt for kompatibilitet med Symbolics-implementeringen, basert på dokumentasjonen deres. Han leste også symbolikkens kodeendringslogg for å se hvilke feil de fikset, og han fikset disse feilene selv på andre måter.

Det som skjedde styrket Stallmans besluttsomhet. Etter å ha laget analoger til de nye Symbolics-funksjonene, overtalte han laboratoriepersonalet til å bruke MIT-versjonen av Lisp-maskinen, som sikret et godt nivå av testing og feildeteksjon. Og MIT-versjonen var helt åpen for LMI. "Jeg ønsket å straffe symbolikk for enhver pris," sier Stallman. Denne uttalelsen viser ikke bare at Richards karakter er langt fra pasifistisk, men også at konflikten om Lisp-maskinen rørte ham til det raske.

Stallmans desperate besluttsomhet kan forstås når du tenker på hvordan det så ut for ham - "ødeleggelsen" av hans "hjem", det vil si hackersamfunnet og kulturen til AI Lab. Levy intervjuet senere Stallman via e-post, og Richard sammenlignet seg med Ishi, det siste kjente medlemmet av Yahi-indianerne, som ble utryddet i de indiske krigene på 1860- og 1870-tallet. Denne analogien gir de beskrevne hendelsene et episk, nærmest mytologisk omfang. Hackerne som jobbet for Symbolics så dette i et litt annet lys: Selskapet deres ødela ikke eller utryddet, men gjorde bare det som burde vært gjort for lenge siden. Etter å ha flyttet Lisp-maskinen inn i det kommersielle feltet, endret Symbolics sin tilnærming til programdesign - i stedet for å kutte dem i henhold til de harde mønstrene til hackere, begynte de å bruke mykere og mer humane standarder for ledere. Og de betraktet Stallman ikke som en motstanderkjemper til forsvar for en rettferdig sak, men som en bærer av utdatert tenkning.

Personlig strid ga også bensin på bålet. Allerede før Symbolics kom, unngikk mange hackere Stallman, og nå har situasjonen forverret seg mange ganger. "Jeg ble ikke lenger invitert til å dra på turer til Chinatown," husker Richard, "Greenblatt startet skikken: når du vil spise lunsj, går du rundt kollegene dine og inviterer dem med deg, eller sender dem en melding. Et sted i 1980-1981 sluttet de å ringe meg. Ikke bare inviterte de meg ikke, men som en person senere innrømmet overfor meg, la de press på de andre slik at ingen skulle fortelle meg om de planlagte togene til lunsj.»

Kilde: linux.org.ru

Legg til en kommentar