Fri softwares oprindelsesmyte -- hackerkulturen på MIT i 1960erne
from agger
I dette uddrag fra min gamle og forhåbentlig kommende bog om fri software gennemgår jeg oprindelsen til ideen om software som noget, der skal deles og komme alle til gavn, i 1960ernes hackerkultur, som den opstod på MIT, hvor Richard Stallman langt senere grundlagde GNU-projektet og lagde grunden til al den “fri og open source software”, som vi har i dag. Det er en spændende historie.
Det følgende uddrag bygger hovedsagligt, men ikke udelukkende, på Steven Levys bog Hackers: Heroes of the Computer Revolution fra 1984.
Hackere og hackerkultur
Ideen om fri software stammer oprindelig fra hackerkulturen på Massaschusets Institute of Technology (MIT) i Cambridge, Massachusets. Denne kultur opstod i tilknytning til den gryende forskning i kunstig intelligens. Denne forskning foregik først ved hjælp af en af de første IBM mainframes og herefter med “minicomputeren” PDP-1, som var en af verdens første interaktive computere. Man kommunikerede dog ikke med den ved hjælp af en skærm, men ved hjælp af en “Teletype”. Brugeren skrev sit budskab til computeren på en hulstrimmel og fik svar tilbage på en anden hulstrimmel.
Om denne maskine og dens efterfølger flokkedes en gruppe studerende, der efter en konventionel målestok med fokus på karriere og kursusplaner egentlig havde bedre ting at tage sig til. De var fascinerede af selve computeren og alle de ting, man kunne bruge den til. Mange af dem havde tilbragt deres barndom med at skille ting ad, og deres tilstedeværelse på elite-universitetet MIT var i sig selv garant for en intelligens og en arbejdsomhed langt over gennemsnittet.
Disse unge mennesker var de første hackere. En hacker er i denne sprogbrug ikke en teenager, som bryder ind i forsvarets eller Nationalbankens computersystemer og laver hærværk. En hacker er heller ikke nødvendigvis en programmør. Alle dedikerede programmører har nok lidt af en hacker i sig, men der er forskel.
Der er for nogle mennesker en særlig fascination ved den måde, hvorpå det er muligt at beherske — virkelig at beherske — en computer ved hjælp af et programmeringssprogs instruktioner. Da den personlige computer kom frem i begyndelsen af 1980erne, var det mest populære programmeringssprog på markedet det såkaldte BASIC, der udmærker sig ved, at dets syntax og kommandoer minder meget om ganske almindeligt engelsk. Dengang udkom en lang række bøger, der sigtede mod at lære almindelige mennesker at skrive deres egne programmer i dette sprog. Sådanne bøger blev ofte populære, fordi de afspejlede forfatternes egen elementære glæde ved at beherske dette monstrum.
På MIT samledes denne type mennesker i computerteknologiens barndom i begyndelsen af 1960erne i den tekniske afdeling af universitets modeljernbaneklub. Her havde man specialiseret sig i at forsyne de (af den “ikke-tekniske” afdeling) omhyggeligt malede modeltog med en avanceret, elektronisk styringsmekanisme. Dette styresystem var blandt andet baseret på gammelt telefonudstyr, der var doneret af en tidligere studerende, der nu arbejdede hos telefonselskabet AT&TTK. Det var modeljernbanen og dens styresystem, der gav os ordet hacker. Et “hack” var i denne sammenhæng en særligt elegant løsning — et enkelt design, der kunne kontrollere toget helt ny måde, som de andre teknik-nørder anerkendte og beundrede som et originalt bidrag til deres fælles værktøjskasse. En “hacker” var en særligt dygtig konstruktør eller ingeniør, som havde udført mange anerkendte hacks.
I 1960 var computere ikke blot et paradis for utilpassede elektroniknørder; de var videnskabens og teknologiens yderste grænseland. For de unge mænd, som graviterede hen mod disse verdens første interaktive computere var der tale om opfyldelsen af en drøm.
De eftertragtede og meget dyre maskiner var dog ikke umiddelbart til rådighed for 18-19-årige førsteårsstuderende uden et studierelevant formål at bruge den til. Computertiden var opdelt i reservationer på hele og halve timer, hvor forskere og deres andendelsstuderende brugte dem til vigtige beregninger. Men somme tider dukkede forskerne ikke op til den aftalte tid. De unge computerentusiaster etablerede døgnvagt ved maskinerne. Viste der sig et hul i tidsplanen, smed de unge hackere alt, hvad de havde i hænderne for at styrte over mod computeren på niende sal.
Man skulle tro, at disse unge mennesker, for hvem universitetets avancerede computere åbenbart først og fremmest var en slags legetøj, ville vække en del modvilje hos personalet. Men MIT-professorer som John McCarthy og Marvin Minsky erkendte straks det betydelige talent bag de unge menneskers iver. Samtidig indså de, at den bedste måde at fremme dette talent var at se gennem fingre med “misbruget”. I samarbejde med systemadministratoren John McKenzie blev de enige om at lade hackerne bruge maskinen, når der ikke var andre, der skulle bruge den. De unge mennesker lærte snart at kode i TX0'ens og senere PDP-1'ens efter moderne standarder enkle, men noget uhåndterlige maskinkode. Hvad programmerne gjorde var i begyndelsen ikke så vigtigt. Det afgørende var selve fascinationen ved overhovedet at få maskinen til at gøre noget, ved at give den et input og se outputtet tikke ud på teletekst-strimlen.
Hackeren Peter Samson fik for eksempel lang tid til at gå med et program til at omsætte binære tal (udtrykt ved nuller og ettaller) til decimaltal og skrive dem ud. Han mente selv, at omsætning af vilkårligt lange binære tal til decimaltal var det tætteste, man kom på en programmeringens lakmusprøve: Man skal kunne indlæse de binære tal, gemme dem i hukommelsen, konvertere dem til titalssystemet ét ciffer ad gangen og til sidst skrive dem ud. På en maskine, hvor kun de mest primitive operationer var indbyggede og blot det at gange to tal med hinanden krævede en del programmering, krævede denne beregning et kompliceret bogholderi med menter og rester. Hvis man kunne det, kunne man programmere. Det blev til en hel sport, hvor det gjaldt om at løse udskrivning af decimaltal og andre problemer så hurtigt som muligt og med det kortest mulige program, så man brugte så lidt som muligt af maskinernes dengang meget begrænsede hukommelse.
Den interaktive programmering på TX0 og PDP-1 havde et modstykke, nemlig den kolossale IBM Mainframe, der blev drevet efter helt andre principper. Denne IBM-maskine var et tempel, der blev passet og plejet af et præsteskab, et beskyttende lag af bureaukrati, der havde til hensigt at beskytte maskinen mod almindelige brugere. Programmører, der skulle have noget lavet, kunne skrive et program og aflevere det på en stak hulkort. Præsteskabet ville så køre det i den næste ledige batch-kørsel. Hvis programmet indeholdt en fejl, ville det sandsynligvis gå i stå. Programmøren måtte så forsøge at gætte sig til, hvad der var gået galt og prøve igen. Denne procedure var en hån mod en ægte hacker. De unge menneskers fingre kløede efter at lægge hænderne på en rigtig computer, trykke på knapperne og skrue på skruerne og køre deres egne programmer. Med maskiner som TX0 og PDP-1 fik de deres chance, og i kraft af Minskys og McCarthys eftergivende holdning kom de efterhånden til at styre afdelingen. Hackerne blev op gennem 1960erne ansat som systemprogrammører og fik nu penge for det, de i forvejen gjorde gratis.
Normen for både lønnede og ulønnede hackere var tyve-timers-dage og syvdages-uger. De lange arbejdsdage blev kun afbrudt af ekspeditioner til områdets kinesiske restauranter og så meget søvn, som de kunne nøjes med, inden de igen kastede sig over programmeringen. Nat og dag løb ud i ét, og studier og eksamen fortonede sig i det fjerne. Hackerne var besat af MITs computere og af deres egen trang til at få dem til at gøre ting. Selv om der var en intens, venskabelig konkurrence om at gøre det bedst, blev enhver omstændighed, der kunne hjælpe med til at få tingene gjort, anset for at være et gode, mens alt, hvad der lagde hindringer i vejen, var af det onde. En af de unge hackeres allerførste opgaver var at skrive værktøjer, der kunne hjælpe med at få noget arbejde fra hånden. Udførbare programmer blev dengang “gemt” i form af lange papirstrimler med huller. Folk havde deres egne programmer til at ligge i skuffen. Hvis nogen skulle bruge et program, som en anden havde skrevet, gik de bare hen og tog det. Fandt de en fejl, blev den rettet, og den rettede udgave blev lagt tilbage.
Således opstod hackerånden. Alting handlede om at bygge nye programmer, så computerne kunne komme til at gøre spændende ting, og det var noget, man gjorde sammen. Et computerprogram tilhørte alle og ingen. Hvis nogen stod og manglede en programstump, som en anden havde skrevet, delte man den bare. Denne hackerånd blev efterhånden til en hel etik. I Stephen Levys bog “Hackers” fra 1984 opsummeres hackeretikken i få, men rammende hovedpunkter:
Adgangen til computere – og til alt andet, som kan lære dig noget om, hvordan computere virker – bør være ubegrænset
Alle regler og begrænsninger, der forhindrer hackerne i at udøve deres fag, er af det onde. På MIT udviklede der sig en kultur, hvor hackerne ikke ville acceptere, at værktøj eller computere var låst inde. Hvis en computer alligevel blev låst inde, var en komité af særligt dedikerede hackere parat til at dirke låse op og kravle gennem ventilationsskakter for at “befri” det udstyr, de havde brug for.
Al information bør være fri
Programmer er noget, man deles om, forbedrer og giver videre. Låste skuffer var af det onde, eftersom det var i skuffer, folk gemte papirstrimlerne med den seneste udgave af deres programmer.
Oplysninger om, hvordan en computer er bygget og hvad der får den til at virke, bør være tilgængelige i form af diagrammer. Hvis en given information ikke er umiddelbart tilgængelig, kan en lidenskabelig hacker tage det på sig at befri den. Nogle MIT-hackere beskæftigede sig også med phone phreaking, en fundamentalt venligtsindet udforskning af det gamle analoge telefonnet ved hjælp af små bokse, der kunne efterligne telefoncentralernes kontrolsignaler. Dermed kunne hackerne komme i kontakt med telefoncentraler i Vesttyskland og Singapore. Når nu verden og især tekniske systemer er så ufatteligt spændende, og vi ikke må få at vide, hvordan de fungerer, kan vi heldigvis selv finde ud af det. Phone phreaking udviklede sig i 1970erne til en særlig subkultur med politisk inspiration fra Abbie Hoffmans og Jerry Rubins udenomsparlamentariske yippie-bevægelse, hvor konstruktionen af “blå bokse”, der tillod brugeren at ringe gratis, blev betragtet som udtryk for legal modstand mod “systemet”. Den udforskning af telefonnettet, som MIT-hackerne praktiserede, skete dog ikke med henblik på nogen form for vinding, selv om den også stred imod de love og regler, som forhindrede hackerne i at udforske verden, som de havde lyst til.
Mistro autoriteter – decentralisering er godt
Systemet skulle altså være åbent, så hackerne havde fri adgang til udstyret. På MIT betød det især, at adgangen til computere og værksteder ikke burde være reguleret af nogen form for bureaukrati. Folk, der insisterede på deres status og forsøgte at misbruge denne autoritet til at forhindre hackerne i at bruge computerne var helt galt på den; sådanne initiativer måtte venligt, men bestemt imødegås. Brugernavne og passwords var af det onde, fordi de hindrede folk i at få adgang til andres programmer, når og hvis de havde brug for dem. Tanken om, at en sådan frihed kunne misbruges til at begå hærværk lå MIT-hackerne fjernt. Folk, der havde adgang til computerne, formodedes at opføre sig ordentligt.
Hovedsagen var, at man kunne lave spændende og interessante ting med computere og andet teknisk udstyr. Autoriteter var kedelige personer, der forsøgte sætte grænser for, hvad de kunne lave. Enhver autoritet var følgelig af det onde.
Hackere skal bedømmes på deres hacks, ikke efter falske kriterier som akademisk grad, alder, race eller stilling
Hackerne så sig selv som et strengt meritokrati. Hvis du kunne skrive et smukt program, der løser et problem på en elegant måde, fortjente det dine kollegers anerkendelse og respekt. Hvis ikke, hjalp det ikke med nok så mange akademiske grader eller professorstillinger.
En af hackerne på MIT var Peter Deutsch, der begyndte at komme i computerrummene, fordi hans far var lærer på stedet. Han var fra starten tiltrukket af computerne, og det varede ikke længe, før han havde lært sig selv at programmere. Deutsch sad gerne og kiggede de mere erfarne folk over skulderen, altid parat til at udpege en fejl eller et dårligt design i deres program. Dette gjorde ham ret upopulær blandt de mere traditionelle studerende, men hackerne tog ham til sig som en af deres egne. Han var da tolv år gammel.
Man kan skabe kunst og skønhed på en computer
Dette virker ret oplagt i dag, hvor hovedparten af verdens film og musik produceres på computere. Det er dog ikke den slags traditionelle kunstneriske udtryk, der tænkes på. Computerprogrammer kan også være kunstværker, hvis de rammer den balance af elegant design og simplistisk effektivitet, der kendetegner den dygtige programmør. I 1960erne var computeres kapacitet og hastighed stadig meget begrænset, og den mest umiddelbare løsning på mange problemer var ofte ubrugelige, fordi den brugte for mange ressourcer. Arbejder man med det, kan man ofte komme op med noget, der både er mere effektivt og mere elegant. Nogle gange kunne et geni vende verden på hovedet og løse problemet på en måde, som ingen havde tænkt på før. Blandt hackerne på AI-lab var der faktisk adskillige genier – de var trods alt blandt de bedst begavede af de studerende på et universitet, som i forvejen kun lukker de bedst begavede amerikanske studerende ind.
Et eksempel var netop det program til at udskrive binære tal som decimaltal, som vi talte om tidligere. De fleste hackere kunne skrive en “quick and dirty” version på hundrede linjer kode, hundrede instruktioner til computerens CPU. Hvis de bedste af de bedste virkelig gjorde sig umage, kunne det med nogle timers arbejde presses ned på lidt over halvtreds linjer. Men uanset hvor meget de anstrengte sig, var der ingen, der kunne komme under halvtreds linjer. Indtil en dag en stille type fra Maine ved navn Jensen fandt på at beregne tallene baglæns og udskrive dem forlæns. Jensens 46 linjer krystalliserede hans forståelse af det komplicerede problem som en slags datalogisk haiku.
Stephen Levy skriver om de øvrige MIT-hackeres reaktion på Jensens kunstværk:
Der var en kompliceret matematisk begrundelse for det, som først gik op for de andre hackere, da de så Jensens program hænge på opslagstavlen. Dette var hans måde at fortælle dem, at han nu havde taget udskriften af decimaltal til dens yderste grænse. Seksogfyrre instruktioner. Folk stirrede på koden og tabte underkæben. Marge Saunders husker, at hackerne var usædvanligt stille i flere dage efter.
“Vi vidste, at det var slut nu,” sagde Bob Saunders senere. “Det var Nirvana.” (s. 45)
Computere kan forandre dit liv til det bedre
Dette var hackeretikkens mest centrale bud og selve retfærdiggørelsen af de uendeligt mange timer, hackere brugte på deres kunst. Det er også noget af det, som kan være vanskeligst at forstå for udenforstående. De tidlige hackere brugte uanede mængder af tid og energi på at løse nogle ret beset unyttige eller ligegyldige opgaver. Vi har nævnt eksemplet med den intense konkurrence om at omsætte binære tal til decimaltal med så få instruktioner som muligt. Andre fik tiden til at gå med at skrive programmer, der omsatte almindelige tal til romertal. Da hackeren Bobby Saunders tog et kursus i numerisk analyse besluttede han, at det var under hans værdighed at bruge de gammeldags, mekaniske regnemaskiner, man dengang havde. Saunders brugte i stedet adskillige måneder på at skrive et program, der simulerede en regnemaskine, så han kunne løse sine opgaver på en computer. Programmet kaldte han “Expensive Calculating Machine” som en spøgefuld hentydning til det paradoksale i, at han nu havde skrevet et program, der satte en computer til flere millioner dollars i stand til at løse de samme opgaver som en regnemaskine til under en tusindedel af prisen.
Her vil mange mennesker naturligt nok spørge: “Og hvad så?” Hvad skal vi med et program, der gør det samme, som vi allerede kan med en lommeregner, når vi allerede har en lommeregner? Et af svarene er, at du selv får en computer til at gøre det. Du udtænker, hvordan programmet skal virke og befaler computeren at gøre det – og computeren adlyder. Det var en helt speciel og på det tidspunkt helt ny intellektuel magt, som stadig kan gribe programmører verden over.
En computer gør, hvad du beder den om. Hvis du ændrer i programmet, beder du den om noget andet, og så gør den noget andet. Et computerprogram med en brugerflade bliver til en del af brugerens virkelighed. Hvis brugeren ikke er tilfreds med, hvad programmet gør, kan du række om bag scenetæppet og ændre denne virkelighed. Programmøren får dermed inden for programmets virkelighed status af en magiker eller gud, der kan lave om i brugerens virkelighed, som det passer ham.
Dette gælder også i dag, så meget desto mere, som programmering meget ofte er envejskommunikation. En programmør eller designer af et populært computerprogram skaber og definerer den virkelighed, som millioner af mennesker lever og agerer i. Det gælder for administrative programmer, og det gælder ikke mindst for de store interaktive computerspil som Counterstrike, World of Warcraft og Runescape. Spilleren kan blive så stor, det skal være, i selve spillet, men vil altid kun kunne handle inden for spillets naturlove. Hvem bestemmer disse naturlove? Det gør spillenes programmører og producenter.
At være programmør er med andre ord det samme som at være gud for en verden, du selv skaber. En lille og begrænset verden, men alligevel. Dette besvarer dog kun spørgsmålet om, hvad nytte det er til, hvis computere overhovedet kan bruges til noget fornuftigt? Så oplagt svaret på dette spørgsmål kan forekomme os i dag, var det ikke helt så oplagt dengang.
Computere var nogle underlige og ofte truende maskiner, hvor man kunne foretage beregninger og spille bip-spil. I dag er de så udbredte, at hackeretikkens forestilling om, at computere kan gøre folks liv lettere og bedre må siges at have fået oprejsning. Lidt ret har og havde “og hvad så?”-folket alligevel i deres indvendinger.
Hvis en mekanisk regnemaskine kun kostede få hundrede dollars og allerede kunne foretage de fleste af de beregninger, man (som Saunders) havde brug for, hvorfor så bruge måneder på at skrive et computerprogram, der gjorde nøjagtig det samme? Dette spørgsmål ville være helt berettiget, hvis der aldrig var andre end Saunders, der skulle bruge det. Men når et program én gang var skrevet, lå det i skuffen med programmer, og alle computerens brugere kunne gå hen og indlæse det i maskinen. Hvis de ville, kunne de kopiere det, så andre maskiner af samme slags også kunne blive forvandlet til en simpel regnemaskine. Det tilsyneladende tåbelige og unyttige hack, der havde fået en dyr computer til at opføre sig som en billig regnemaskine, kunne forvandle alle computere til en billig regnemaskine. Hvor én regnemaskine var og blev én regnemaskine, med mindre man hostede op med pengene til en ny, kunne man med computerprogrammet fremstille uendeligt mange nye regnemaskiner, eller i hvert fald så mange, som der var computere – og det ganske gratis. Denne egenskab ved computerprogrammer kom softwarefirmaer som Lotus, Microsoft og IBM samt spilproducenter som Electric Artists, Sony og Nintendo senere til at tjene rigtig mange penge på. For de tidlige hackere kom noget en sådan kapitalisering slet ikke på tale. Når først et program var skrevet, blev det lagt i skuffen, hvor andre kunne tage det og bruge det, som de havde lyst – og det var, som det skulle være.
Programmering handlede om at opbygge et fællesskab omkring computerne og selve hackingen, og så snart noget var skrevet, tilhørte det alle. Det var en verden, hvor man kunne hævde sig ved at skrive noget, som andre kunne anerkende og beundre, ikke ved at sætte sig på det for at sælge det.
Denne elementære glæde ved at lave noget, der kan være til nytte for andre – for alle – inspirerer stadig millioner af hackere verden over.