Agger's Writing & Text Blogs

Reader

Read the latest posts from Agger's Writing & Text Blogs.

from agger

I denne uges uddrag fra min kommende bog om fri software skal vi høre om, hvordan det er muligt at sikre, at et program, der udgives som fri software, også forbliver frit, så det altid er muligt at bruge, undersøge, forbedre og videregive det.

Løsningen på dette ligger i ophavsretten og den underlige konstruktion, der kaldes “copyleft” – at en forfatter kan give afkald på sin eneret til at udgive et værk på betingelse af, at andre altid giver det videre på samme betingelser som de fik det.

GPL og fri software – licens til at dele

Richard Stallman modtog i 1990 MacArthur-fondens “Genius Award” som anerkendelse af GNU-projektets store tekniske betydning. Og dog var Free Software Foundations og GNU-projektets største nyskabelse måske ikke af teknisk, men af juridisk karakter.

Et tilbagevendende problem med den uhæmmede videregivelse og deling af programmer i 70ernes hackerkultur var, hvad der ville ske, hvis et program, som en håbefuld programmør havde sendt ud i verden med den klausul, at alle måtte tage det og bygge videre på det og gøre med det, hvad de ville, faldt i hænderne på en person, der ikke var interesseret i at dele sit arbejde med andre. I værste fald kan et firma som Microsoft eller IBM tage et stykke fri software og bygge videre på det og lave et “plus-produkt”, som koster penge og ender med at udkonkurrere den frie udgave, fordi det er meget smartere. Nogle programmører af fri software interesserer sig kun for det tekniske og har ikke noget imod, at firmaer bygger deres programmer ind i kommercielle produkter. Men GNU-projektet har jo netop til formål at skabe et helt frit system, der kan bruges af alle. Hvis Microsoft eller en anden softwaregigant skaber et smart men lukket GNU+, som alle mennesker bruger i stedet, vil det være et nederlag.

Da Stallman i midten af 1970erne skabte de første udgaver af sit berømte tekstredigeringsprogram Emacs, var han allerede begyndt at formalisere hacker-etikkens fordring om kollektivt ejerskab af koden ved at bede folk om at bidrage til fællesskabet. Med Emacs fulgte “the Emacs License”, der stipulerede, at alle udvidelser skulle udleveres til Stallman. Han kom dog senere til den erkendelse, at dette krav var for vidtgående. Mange mennesker lavede mindre udvidelser, som de selv brugte i det daglige, men som ikke kunne betragtes som færdige. Det var små ting, som folk lavede til sig selv uden tanke om at udgive det, og egentlig ville det være en krænkelse af deres privatliv at kræve det udleveret. Problemet var der dog stadig: Folk kunne tage et GNU-program og udgive deres egen version i en rent binær form, så brugeren ikke havde adgang til kildekoden. Brugerne ville altid kunne skaffe den oprindelige version af et GNU-program ved at henvende sig til Free Software Foundation, men det hjalp ikke meget, hvis de ikke vidste det, eller hvis det var en “udvidet” udgave af programmet, de havde fået.

Stallman udformede derfor en simpel licenstekst, der tog udgangspunkt i programmørens ophavsret over programmet. Denne licens sagde, at brugeren af programmet havde ret til at bruge det og ret til at modtage kildeteksten og undersøge det, forbedre det og udgive egne versioner af det – de fire friheder – men ændrede versioner af programmet skulle altid udgives under de samme licensbetingelser. Licensteksten skulle udleveres sammen med programmet, så brugeren blev oplyst om sine rettigheder. Hvis dette kunne formuleres, så det var juridisk holdbart, ville problemet være løst. Almindelige brugere blev ikke pålagt at udlevere deres egne ændringer, så længe de ikke havde til hensigt at udgive eller sælge dem, men bordet fangede, lige så snart noget blev udgivet, fangede bordet. Kommercielle virksomheder ville derfor være tvunget til at udgive deres egne versioner af GNU-projektets programmer som fri software og oplyse deres kunder om de rettigheder, som licensen gav dem.

Stallman henvendte sig til en advokat, som han fik til at udarbejde en licenstekst, der på juridisk skudsikker vis ville gøre et program til fri software for alle brugere af programmet og samtidig ville forbyde, at ændrede versioner kunne udgives under andre vilkår. Resultatet blev første version af GNU GPL eller GNU General Public License, der i sine forskellige varianter er den vigtigste frie softwarelicens i dag.

Helt grundlæggende formaliserer GPL det enkle princip, at alle ændrede og forbedrede versioner af et program skal videregives på samme betingelser, som man modtog dem. Da virksomheder og andre aktører kunne tænkes at undergrave licensens ånd ved at pålægge deres egne versioner særlige juridiske eller tekniske begrænsninger og på den måde sno sig uden om pligten til at stille deres egne ændringer til rådighed, indeholder licensteksten også en lang række tekniske og juridiske betingelser, der skal forhindre den slags manipulation. I den første version af GPL var der ikke taget højde for, at et firma kan udvide et program ved hjælp af en teknologi, der er omfattet af et patent og herefter forbyde andre at videregive programmet, eftersom de ikke har ret til at bruge den patenterede teknologi. For at imødegå dette medtog man i anden udgave af licensen den såkaldte “Liberty or Death”-klausul. Denne klausul forbyder modtageren af et program at udgive en ændret version af programmet under GPL uden samtidig at give alle modtagere af programmet fuld tilladelse til at anvende eventuelle patenter uden yderligere vederlag.

Et andet eksempel er på en teknisk undvigelse af GPL er “tivoisering”, baseret på en metode, der blev indført af Tivo, som producerer de avancerede harddisk-optagere af samme navn. En Tivo er udstyret med en udgave af styresystemet GNU/Linux, som er specielt tilpasset denne harddisk-optager og blandt andet implementerer en lang række restriktioner, der bl.a. kan begrænse, hvilke TV-programmer, ejeren af apparater kan optage. GNU/Linux-systemet og de tilhørende værktøjer er omfattet af GPL. Tivo opfyldte også formelt GPLs krav ved at lægge kildekoden til deres ændrede version til download på nettet. En Tivo er imidlertid udstyret med firmware, der nægter at køre en udgave af systemet, som ikke er signeret med en særlig krypteringsnøgle, som Tivo ikke valgte at lægge ud sammen med ændringerne i kildekoden. Resultatet var, at Tivos brugere nok kunne downloade, undersøge og ændre kildekoden til GNU/Linux-systemet på deres Tivo-maskiner, men deres egne udgaver ville ikke kunne køre på en Tivo, eftersom brugeren ikke havde adgang til krypteringsnøglen. GNU/Linux-systemet på en Tivo-maskine er derfor i praksis ikke fri software. Systemet er tilpasset med nogle ændringer, der kun giver mening på en Tivo – men netop en Tivo kan brugerne ikke få lov til at køre deres egne ændringer på.

For at undgå dette smuthul er version 3 af GPL udstyret med den klausul, at hvis et program under GPL ændres for at tilpasse det noget bestemt hardware, og hvis denne hardware kræver, at det udførbare program signeres med en særlig krypteringsnøgle for at kunne afvikles, så skal denne krypteringsnøgle stilles til rådighed sammen med kildekoden. Version 3 af GPL lukker en række andre huller og indeholder derfor en hel del kompliceret juridisk sprog, men som udgangspunkt er betingelserne helt enkle. Du har ret til at bruge, undersøge, ændre og videregive et program under GPL. Du har derfor også ret til at få udleveret kildekoden til det, på den ene eller den anden måde – om du så kan downloade den fra nettet eller (som det var almindeligt i gamle dage) må skrive til en bestemt adresse for at få den tilsendt med posten.

Fortalen til GPL er et kapitel for sig og minder mere om et politisk manifest end om en slutbrugeraftale:

The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program—to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

Selv om det måske er en underlig ting at sige om en softwarelicens, kan der ikke være nogen tvivl om, at det er historiens vingesus, vi hører, når vi læser denne tekst. Fri software er i dag, omend i nogen grad “bag facaden”, endog meget udbredt og faktisk ganske uundværligt for at få vores samfund og infrastruktur til at hænge sammen. Selv proprietære systemer som Microsofts Windows og Apples MacOS ville næppe være til at kende, hvis man tog al den frie software ud af dem. Og hvis der er noget, der har spillet en vigtig rolle i udbredelsen og ikke mindst beskyttelsen af fri software, er det GNU-projektets General Public License. GPL er blevet den gyldne standard for, hvordan programmer kan udgives som fri software på en måde, der sikrer at de også forbliver fri software.

Den grundlæggende idé i GPL kan siges at være “Den Gyldne Regel: “Gør mod andre, som du ønsker, de skal gøre mod dig”. Ophavsretslige bestemmelser med denne type betingelse kaldes med et ordspil på det engelske ord for ophavsret for copyleft. Det grundlæggende element i en copyleft-licens er, at det er tilladt at videregive og ændre det beskyttede materiale – men at det samlede værk skal videregives på de samme betingelser, som man modtod det. Det vil sige, at du skal tilbyde modtageren til hele det program, som du leverer til dem, inklusive alle dine egne ændringer eller tilføjelser.

GPLs regel om, at afledede værker skal udgives under samme betingelser som værket selv har ført til beskyldninger om, at GPL er en “virus”, som inficerer alle de programmer, der bruger den. Og det er da også sandt, at hvis man bygger et program under GPL sammen med et andet program, bliver det samlede program nødt til at være, om ikke under GPL, så under betingelser, der kan sameksistere med GPL – er “GPL-kompatible”, som man plejer at udtrykke det rent teknisk-juridisk.

Et eksempel på en mindre restriktiv er BSD-licensen, der bl.a. anvendes af styresystemet FreeBSD. FreeBSD er en direkte efterkommer af Berkeley Unix (BSD står for Berkeley Software Distribution, efter Berkeley-universitetet i San Fransisco). BSD-licensen er langt mindre restriktiv end GPL med hensyn til, hvad man må gøre med programmet.

Dybest set kan BSD-licensen, som forklaret på FreeBSDs hjemmeside www.freebsd.org, koges ned til to punkter:

  • Please don't claim you wrote this.
  • Please don't sue us if it breaks.

Hvis du ønsker at udgive et helt nyt system baseret på FreeBSD, er du altså forpligtet til, for eksempel ved at medtage en fil med licensteksten i installationsprogrammet eller ved at skrive det i et menupunkt, at fortælle, hvem der oprindelig har skrevet programmet. Du må også være klar over, at programmets oprindelige forfattere ikke påtager sig noget ansvar overhovedet for, hvordan det virker. Til gengæld er det muligt og tilladt at tage FreeBSD og lave dit eget private styresystem og sælge det, uden at du dermed er forpligtet til at give aftageren adgang til kildekoden. Du kan helt frit gøre det, som Stallman frygtede og for alt i verden ville undgå: Du kan tage et frit program og gøre det ufrit, proprietært. Faktisk er ét sådant system blevet meget populært, nemlig Apples styresystem MacOS, som oprindelig bygger på FreeBSD og har overtaget mange af Unix-systemets tekniske fordele. Den frihed, som Apple benyttede sig af, da de byggede deres indbydende og teknisk velfungerende system, har de dog ikke valgt at give videre til deres egne brugere.

Hvis man ønsker at tage to omtrent lige store programmer og bygge sammen til ét, så er det faktisk muligt, hvis det ene stykke kode er under en BSD-licens og det andet under GPL. Blot vil der gælde, at man skal kunne identificere de enkelte deles “oprindelse”, således at de dele af programmet, der oprindelig var under GPL, fortsat skal være under GPL, mens de dele, der oprindelig var under en BSD-licens, vil kunne ændres og videregives i overensstemmelse med BSD-licensen. Der er nemlig intet i BSD-licensens betingelser, der forhindrer folk i at lægge begrænsninger på den del af koden, der er omfattet af GPL, og der er intet i GPL, der forhindrer, at man distribuerer de dele af programmet, der er omfattet af BSD-licensen. Vi siger, at de to licenser er kompatible. Hvis to licenser for fri software ikke er kompatible, kan programmer omfattet af dem ikke lovligt kombineres til et nyt program.

Hvis du kombinerer et program udgivet under GPL med et andet program, kan licenserne kun være kompatible, hvis brugeren har adgang til kildekoden og til at udgive ændrede versioner af det samlede program. Hvis du kombinerer et program under GPL med et andet, vil begge programmer automatisk blive omfattet af de rettigheder til at ændre, undersøge og videregive programmet, som GPL giver brugerne. Bemærk, at betingelserne i GPL ikke medfører, at du er nødt til at udlevere programmet eller kildekoden til alle og enhver. Det er blevet almindelig praksis at lægge fri software på en offentligt tilgængelig side, f.eks. på Github, til ubegrænset download, men det er ikke obligatorisk. De fleste fri software-projekter ser det som en del af deres formål at stille deres arbejde til rådighed for offentligheden, men der er ikke nogen forpligtelse til at offentliggøre kildekoden. Licensbetingelserne sikrer, at enhver bruger af programmet har ret til at modtage kildekoden, men for at gøre krav på denne ret, må brugeren påberåbe sig det eksemplar af GPL, der fulgte med programmet. Det betyder, at de forpligtelser, der er indeholdt i GPL, kun omfatterne modtageren af et program – personer, der ikke allerede har modtaget det, har ikke krav på at få kildekoden udleveret.

Hvad sker der, hvis en virksomhed bliver en dag beslutter sig for at bygge et stykke software, der er omfattet af GPL, ind i sit eget system men “glemmer” at fortælle nogen om det? Rent juridisk er at computerprogrammers kildekode beskyttet af ophavsretten. Som modtager af et program har du ikke en ret til at udgive eller på anden måde videregive programmet, som du ikke eksplicit har fået af opretshaveren, det vil sige den oprindelige programmør eller dennes arbejdsgiver. GPL giver en sådan tilladelse, men kun på nogle nøje definerede betingelser, hvoraf den vigtigste er, at du skal oplyse brugerne om deres egne rettigheder under GPL, herunder til at få kildekoden udleveret.

Hvis du ikke vil acceptere disse betingelser, er der slet ikke nogen tilladelse til at videregive programmet, og den oprindelige programmør kan indbringe sagen for retten og kræve erstatning for krænkelse af sin ophavsret. Det særlige forhold, at proprietære systemer oftest distribueres uden kildekode, samtidig med at kildekoden til fri software under GPL næsten altid er gratis tilgængelig på nettet, har undertiden fristet enkelte firmaer, så de har valgt at “låne” programmer under GPL og bygge dem ind i deres egne systemer uden at gøre opmærksom på det. Det gælder ikke mindst producenter af routere og anden netværks-hardware, hvor de mest udbredte værktøjer til opsætning og kontrol er fri software, der er udgivet under GPL.

I USA er der siden 2007 rejst adskillige sager om mod en række store router-producenter(bl.a. Cisco og D-Link) om uberettiget anvendelse af sådanne værktøjerg anden hardware, men i de fleste tilfælde er sagerne endt med forlig, fordi GPL rent juridisk er så klart formuleret — producenternes advokater har ganske enkelt rådet dem til ikke at gå i retten med det.

En af de tidligste sager, som faktisk endte i retten, kan illustrere dette. Den tyske Linux-udvikler Harald Welte anlade sag ved retten i Frankfurt am Main, fordi producenten D-Link solgte en netværks-harddisk (en “Wireless G Network Media Storage DSM-G6000”) hvor der medfulgte en række værktøjer under GPL — herunder tre programmer, som Welte havde fået overdraget rettighederne til af deres oprindelige forfattere.

D-Link gjorde i deres forsvar blandt andet gældende, at den GPL-licens, der fulgte med de tre programmer, ikke udgjorde en forpligtende kontrakt mellem D-Link og softwarens producenter, og at GPL som kontrakt/licens slet ikke var gyldig, fordi den måtte opfattes som konkurrenceforvridende efter tysk lov. Derfor, mente de, var de ikke forpligtede til at overholde betingelserne i GPL.

Retten fandt til det første punkt, at licensen efter rettens mening godt kunne opfattes som en juridisk bindende kontrakt mellem D-Link og forfatterne af de tre programmer — men at det i modsat fald ikke ville have været til D-Links fordel, fordi der så slet ikke ville have været noget, der berettigede dem til at medtage de tre programmer i deres produkt.

Denne del af dommen lyder helt præcist:

In addition, if the GPL were not sufficient to form a legal relationship with Plaintiff, Defendant would not have any right to copy, distribute or modify the three programs, such that a copyright infringement by the Defendant would have taken place. In particular, the conditions of the GPL can in no case be interpreted to contain a waiver of legal positions afforded by copyright law. The GPL precisely stipulates that the freedom to use, modify and distribute the corresponding software initially afforded by way of a grant of a non-exclusive license to everyone is automatically terminated upon a violation of the GPL.

Til argumentet om at GPL ikke er gyldig som licens, fordi den kan virke konkurrenceforvridende, svarer retten i sin afgørelse, at det behøver den slet ikke at tage stilling til:

It need not be decided whether, as Defendant argues, the provisions of the GPL violate Article 81 EC and Section 1 of the German Antitrust Act (GWB), in particular the prohibition against price fixing and of predetermining the conditions of secondary contracts in the first contract. This would, according to Section 139 of the German Civil Code (BGB), result in the invalidity of the entire license agreement with the consequence that Defendant would not have a right of use in the software at all, so that Plaintiff could file a copyright infringement claim for that reason. If an agreement is partly invalid, the entire transaction is invalid pursuant to Section 139 of the German Civil Code (BGB), unless it can be assumed that the parties would carry out the transaction without the invalid part. This is not the case here. Since the parties agreed on the grant of the license being subject to the condition subsequent of compliance with the GPL, the possibly invalid part [of the GPL] (Sec. 2 of the GPL) is inseparably connected to the primary obligation, i.e. the grant of the license.

Kilde

GPLs styrke er blandt andet, at den aldrig forbyder nogen at bruge de programmer, den omfatter. Det er først i det øjeblik, at brugeren selv videregiver programmet til andre, at GPLs licensbeskyttelse sætter ind. Ifølge lov om ophavsret har man ingen som helst ret til at distribuere et værk uden udtrykkelig tilladelse fra ophavsmanden. Den juridiske beskyttelse af et værk er altså meget stærk i alle lande med en retslig beskyttelse af ophavsretten. D-Links forsvar, at GPLs licensbetingelser var urimelige og kunne skade dem over for deres konkurrenter, gav dem ikke ret til at bryde betingelserne — det betød bare, at der ikke var noget, der gav dem ret til at bruge programmerne som en del af deres eget produkt.

GPL, hvis bestemmelser D-Link ikke ville acceptere, var det eneste, der i den situation kunne have givet dem ret til det. Dommeren afgjorde derfor, at firmaet skulle betale klagerne 2.080,50 euro i erstatning samt retsomkostninger og timeløn for den tid, Harald Welte brugte på at bevise, at D-Link faktisk havde overtrådt licensen.

Og det er netop, fordi betingelserne i en licens som GPL er så klare og udnytter principperne i ophavsretten, at den så effektivt kan sikre, at de programmer, den omfatter, både er og faktisk forbliver fri software, som alle har ret til at bruge, undersøge, forbedre og videregive.

 
Read more...

from agger

I dette uddrag fra min kommende bog om fri software fortæller jeg, hvordan de konflikter, som jeg fortalte om i sidste uddrag førte Stallman til at grundlægge GNU-projektet, der fik stor betydning for udviklingen af alt, hvad vi forstår ved fri og open source software i dag.

GNU-projektet lanceres — og lidt forhistorie

Den 27. september 1983 satte Richard Stallman sig til tastaturet og udsendte en besked til Usenet-gruppen net.unix-wizards:

Starting this Thanksgiving I am going to write a complete Unix-compatible software system called GNU (for Gnu's Not Unix), and give it away free(1) to everyone who can use it. Contributions of time, money, programs and equipment are greatly needed.

To begin with, GNU will be a kernel plus all the utilities needed to write and run C programs: editor, shell, C compiler, linker, assembler, and a few other things. After this we will add a text formatter, a YACC, an Empire game, a spreadsheet, and hundreds of other things. We hope to supply, eventually, everything useful that normally comes with a Unix system, and anything else useful, including on-line and hardcopy documentation. [...]

Who Am I?

I am Richard Stallman, inventor of the original much-imitated EMACS editor, now at the Artificial Intelligence Lab at MIT. I have worked extensively on compilers, editors, debuggers, command interpreters, the Incompatible Timesharing System and the Lisp Machine operating system. I pioneered terminal-independent display support in ITS. In addition I have implemented one crashproof file system and two window systems for Lisp machines.

Why I Must Write GNU

I consider that the golden rule requires that if I like a program I must share it with other people who like it. I cannot in good conscience sign a nondisclosure agreement or a software license agreement.

So that I can continue to use computers without violating my principles, I have decided to put together a sufficient body of free software so that I will be able to get along without any software that is not free.

How You Can Contribute I am asking computer manufacturers for donations of machines and [...] If I get donations of money, I may be able to hire a few people full or part time. The salary won't be high, but I'm looking for people for whom knowing they are helping humanity is as important as money. I view this as a way of enabling dedicated people to devote their full energies to working on GNU by sparing them the need to make a living in another way.

GNU-projektet var født.

UNIX-systemets historie

For at forstå, hvad Stallman snakker om, er vi nødt til at spole tilbage til 1969, hvor forskerne Dennis Ritchie og Ken Thompson på AT&T Bell Labs pludselig havde fået masser af tid til rådighed. Telefonselskabet AT&T havde i samarbejde med MIT og General Electric i efterhånden mange år arbejdet på at udvikle det stort anlagte styresystem MULTICS, der var tænkt som verdens første ægte flerbrugersystem. Tiden var måske ikke inde til et sådant system, eller også var projektet for ambitiøst til, at det nogensinde kunne lykkes. MULTICS blev i alle tilfælde en fiasko, og AT&T valgte i foråret 1969 at trække sig ud af projektet. Det betød imidlertid, at Ken Thompson og Dennis Ritchie, som havde stået for AT&Ts bidrag til projektet, ikke længere havde noget at lave. Ken Thompson skrev derfor et spil ved navn “Space Travel”, så de havde noget at få tiden til at gå med, indtil der dukkede nye opgaver op. Thompson havde skrevet programmet til en mainframe, en kæmpecomputer, som det kostede 75 dollars i timen at have adgang til. De havde også en gammel PDP-7 stående i laboratoriet, og Thompson besluttede at omskrive spillet, så det kunne køre på den i stedet. Der manglede bare et ordentligt styresystem til PDP'en. Sådan et mente han nok, han kunne skrive i løbet af en uge eller to. Kort efter rejste hans kone en måned til Californien, og Thompson gik i gang.

Da Thompson og Ritchie havde omprogrammeret spillet og kunne spille det på deres PDP-7, begyndte de at interessere sig for, hvordan de kunne få det nye styresystem til at hænge fornuftigt sammen. Som en slags parodi på det fallerede flerbrugersystem MULTICS besluttede de at kalde det nye og meget simplere system for Unix. I 1972 designede Ritchie programmeringssproget C for at gøre det lettere at flytte Unix fra en slags computer til en anden. Systemet var oprindelig skrevet i maskinkode til laboratoriets PDP-7, men nu kom det også til at køre på den mere moderne PDP-11. Anvendelsen af et rigtigt programmeringssprog havde også den fordel, at systemprogrammerne blev lettere at læse og vedligeholde. I 1973 tog Ritchie og Thompson ned til Purdue University i New York og holdt et foredrag om systemet til the fourth ACM Symposium on Operating Systems Principles (SOSP). Publikum var et bredt udsnit af den akademiske sagkundskab indenfor computere og styresystemer.

Dette foredrag var en stor succes, og snart strømmede forespørgsler ind fra universiteter, der gerne ville have deres eget eksemplar af Unix. Dette satte Thompsons og Ritchies arbejdsgiver i et juridisk dilemma. På grund af den stramme amerikanske monopollovgivning måtte AT&T ikke markedsføre eller tjene penge på andet end telefoni. Ifølge firmaets advokater betød retspraksis på området, at AT&T var forpligtet til at levere systemet til alle, der ønskede det, mod et gebyr, der dækkede omkostningerne ved at levere det. Snart begyndte båndene at strømme ud til datalogiske institutter i hele landet.

Året efter omfattede Bell Labs' distributionsliste for nye versioner af Unix 40 installationer over hele verden, herunder London og Australien. Enkelte af aftagerne var private firmaer, men de fleste var universiteter med institutter for datalogi, hvor det nye system blev studeret flittigt. En bemærkelsesværdig egenskab ved det tidlige Unix-system var, at det blev distribueret sammen med hele kildekoden, så det var muligt at studere og ændre koden. Unix blev derfor hurtigt en naturlig del af undervisningen i styresystemer verden over. Systemets kildekode blev diskuteret ved konferencer og blandt forskere. Adgangen til kildekoden betød, at hvert enkelt universitet selv kunne forbedre systemet og tilføje nye funktioner. Med tiden blev Unix også porteret, det vil sige omprogrammeret, så det kunne køre på andre computere end den PDP-11, det oprindelig var beregnet til at køre på. Brugerne begyndte hurtigt at klage over den dokumentation, der fulgte med systemet. Der var faktisk slet ikke nogen, og Thompson og Ritchie plejede at henvise folk til at læse kildekoden. Det fik i 1976 australieren John Lions til at lave en annoteret udgave af hele kildekoden til sit kursus i styresystemer på universitet i New South Wales. Kildekoden omfattede på det tidspunkt knap 10.000 linjer C-kode. Lions' annotering af koden var oprindelig ment som en note til hans egne studerende, men efter AT&T ikke ønskede at levere dokumentation for et system, de ikke havde nogen mulighed for at tjene penge på, var hans bog den eneste tilgængelige analyse af systemet. Da Lions' Commentary on UNIX 6th Edition, with Source Code i 1977 blev alment tilgængelig, bredte den sig derfor hurtigt i universiteternes Unix-miljøer.

I slutningen af 1970erne ønskede forsvarsministeriets forskningsprogram DARPA at udbrede anvendelsen af deres nye kommunikationsprotokoller TCP/IP, der efterhånden blev brugt i en del universiteter og militære forskningscentre. Der var bare det ved det, at protokollerne indtil videre kun var tilgængelige på nogle ganske få computere, som allerede var på vej til at blive forældet. DARPA ville gerne have dem implementeret i et system, der var let at flytte fra én type computer til en anden. Valget faldt på Unix i den skikkelse, det havde fået på Berkeley-universitetet i Californien. De forskellige aftageres aftale med AT&T betød imidlertid, at de ikke havde lov til at beholde rettighederne til programmer, de udviklede til AT&Ts Unix-system. De udvidelser, porteringer til anden hardware og altså ikke mindst netværksprotokoller, der blev udviklet af systemets aftagere, blev flittigt udvekslet, men på betingelser, der ikke tillod kommerciel udnyttelse af deres bidrag til systemet. Da Berkeley-universitetets udgave af Unix i begyndelsen af 1980erne for alvor begyndte at brede sig, betød det også, at alle Unix-maskiner efterhånden kunne kommunikere over internettet. Eftersom Unix-systemet på det tidspunkt var den eneste helt universelle og altså også gratis implementation af internet-protokollerne, begyndte det modsatte også at gælde: En computer på Internettet var en computer, der brugte Unix. Dette var med til at gøre Unix til standardsystemet i den akademiske verden, ligesom det mindre avancerede MS-DOS på omkring samme tid blev det i den kommercielle. Det var dette system, Stallman den 27. september 1983 erklærede, at han ville erstatte med et fuldstændig frit system ved navn GNU. Det var en stor opgave, Stallman der havde påtaget sig, og det var han også godt klar over.

GNU-projektets tidlige år

Ordet styresystem eller operativsystem betegner egentlig kun de programmer, der kan få en computer til at starte og præsentere en brugergrænseflade, så man kan starte andre programmer. Men dengang var et styresystem i praksis mere end det – det var en fuldstændig samling af alle de programmer, man har brug for i sit daglige arbejde. GNU-systemet skulle derfor omfatte programmeringsværktøjer, tekstbehandling, systemværktøjer og ikke mindst underholdning. Et af de første programmer, som Stallman gik i gang med, var et skakspil. Det var, sagde han, vigtigt for et godt system at have gode spil. I februar 1984 opsagde Stallman sin stilling hos MIT og begyndte at implementere det nye system. Det betød dog ikke, at han af den grund holdt op med at færdes på MIT. AI-Labs ledelse sikrede ham en kontorplads og adgang til at bruge universitetets computere til arbejdet med det nye system.

I betragtning af projektets ambitiøse karakter er det kun naturligt, at der gik noget tid, før Stallman kunne fremvise et resultat af sit arbejde. Faktisk var hans første plan at skrive hele systemet færdigt fra ende til anden og så udgive det. Sådan kom det dog ikke til at gå.

Stallman havde via sin kontorplads stadig adgang til MITs Unix-maskiner. Han manglede imidlertid et ordentligt tekstbehandlingsværktøj. De skriveprogrammer, der var til rådighed på Unix — det ret gammeldags ed og det mere moderne, men også lidt specielle vi, som Bill Joy fra Berkeley-universitetet havde skrevet i 1976 — tiltalte ham ikke. Stallman ville have Emacs, så i 1985 begyndte han at lave sin helt egen Emacs til Unix, GNU Emacs. Hvor den gamle Emacs kunne programmeres i TECO-makroer, brugte den nye Lisp i stedet. Samtlige kommandoer var skrevet i Lisp, sådan at brugeren selv kunne ændre dem eller skrive sine egne. GNU Emacs var færdig efter nogle månedersTK intenst arbejde, og da Stallman lagde det færdige program op på MITs FTP-servere, blev det meget hurtigt populært. I 1987 udgav Stallman første udgave af sin nye compiler eller oversætter, GCC. GCC var beregnet til at oversætte C-programmer til dén maskinkode, som computerens CPU kunne forstå. GCC vakte opsigt, ikke blot, fordi den også blev lagt op på MITs FTP-server til fri afbenyttelse, men fordi der var tale om et fremragende stykke arbejde. Programmøren Michael Tiemann, der senere grundlagde Cygnus, det første firma, der specialiserede sig i GNU-software, husker den virkning, GCC havde, da den først kom frem:

During the 1980s, Tiemann had followed the GNU Project like an aspiring jazz musician following a favorite artist. It wasn't until the release of the GNU C Compiler in 1987, however, that he began to grasp the full potential of free software. Dubbing GCC a “bombshell,” Tiemann says the program's own existence underlined Stallman's determination as a programmer.

“Just as every writer dreams of writing the great American novel, every programmer back in the 1980s talked about writing the great American compiler,” Tiemman recalls. “Suddenly Stallman had done it. It was very humbling.”

Free as in Freedom, kap. 9

En anden ting, der var med at til at gøre GNU-programmer som Emacs og GCC populære, var de betingelser, de blev leveret under. Alle med Internet-adgang kunne altid hente den nyeste udgave af programmerne på MITs FTP-servere, og herefter havde man frie hænder til at installere det på alle sine maskiner. Man kunne selvfølgelig også hente kildekoden og lave sine egne ændringer. Havde man ikke adgang til nettet, tilbød Stallman at sende programmet på et bånd formedelst 150 dollars. De andre compilere, som man dengang kunne få til Unix, skulle betales pr. bruger. De blev også leveret uden kildekode, så hvis der var fejl i dem, var det bare ærgerligt for brugeren.

Den frie adgang til kildekoden indvarslede sammen med den høje kvalitet af Stallmans arbejde en helt ny æra for programmering på Unix og mange andre systemer. I et essay skrevet i anledning af tyve-årsdagen for den første udgivelse af GCC uddyber Tiemann sin første reaktion på den nye compiler:

GCC version 1.0 was a watershed event in my life. The first day I was intent on just learning how it worked—the parser, the lexical analyzer, the intermediate code generator, the optimizers, and the machine-dependent assembly output routines. I printed all the files (consuming three reams of paper) and proceeded to lay them out in piles across my extra-large dining table and any other horizontal surfaces I could see from my central position. I brought out the colored pencils I'd used when learning the art and science of integrated circuit design (red for polycilicon, green for n-diffusion, blue for metal, yellow for n-well, and black for vias and contacts) and gave the colors new meanings to track data, code, and other relationships relevant to compilers. After five days and nights, something “clicked” and I no longer needed the printouts—the data structures and basic organization suddenly became “obvious”. I put away the pencils and began to itch with the desire to hack GCC, and not lightly.

I decided to take the next step—to write a completely new port of the compiler to a microprocessor that had always fascinated me: the National Semiconductor 32032. I already had the manual from my days at the Moore School of Engineering at the University of Pennsylvania, and so I began the process of replacing templates used for the VAX and Motorola 68020 processors with templates appropriate for the National chip. I immediately ran into problems—but they were small problems and easily fixed. I had GCC generating code for the National chip within a few days, and I had it generating correct code a few days after that.

When I did this work, the typical compiler company charged millions of dollars for the service of delivering a compiler in 12-18 months, and sometimes longer. Two weeks to the day after I downloaded the compiler from the Free Software Foundation, I had it generating code that was 20% faster that the code coming from the National compiler. If I compared the $3000/month salary I earned at the time with what these companies charged, I delivered a product that was 20% better (6-9 months in Moore's Law time) for 1/1000th the cost in 1/30th the time.

GNU-værktøjerne fik, efterhånden som de kom frem, et ry for særdeles høj kvalitet. Emacs, GCC og enkelte andre værktøjer fra Stallmans værksted gik deres sejrsgang på universiteter verden over. De blev nok hjulpet på vej af den billige pris, men også af den høje kvalitet sammen med den omstændighed, at man kunne ændre og tilpasse dem, som man havde lyst. “Ændre og tilpasse” kunne nemlig også, som det fremgår af Tiemanns forklaring herover, betyde at få GNU-værktøjerne til at køre på andre maskiner end dem, som Stallman og hans medhjælpere havde adgang til. I 1990 var GNU-værktøjerne så anerkendte i den akademiske verden, at Stallman blev tilkendt den såkaldte “genipris” fra John D. and Catherine T. MacArthur Foundation. Prisen var på 240.000 dollars og betød ud over selve anerkendelsen af projektet, at Stallman for første gang kunne hellige sig GNU-projektet på fuld tid. Han havde hidtil levet af forskellige konsulent-jobs, mens han skrev GNU-programmer og holdt foredrag i sin “fritid”.

Omkring 1990 var GNU-projektet ved at være afsluttet i den forstand, at det næsten havde nået sit mål: Alle væsentlige dele af et styresystem var efterhånden på plads, så det var muligt at bruge en computer alene baseret på fri software. Det eneste, der manglede, var den meget væsentlige komponent, der kaldes en kerne. Kernen er den del af en computers styresystem, der rent faktisk er i kontakt med computerens hardware og læser fra tastaturet, skriver på skærmen, kommunikerer med printeren og så videre. GNU-projektet var begyndt at udvikle en sådan kerne tilbage i 1986. Dette projekt mislykkedes, blandt andet fordi man havde baseret sit arbejde på en eksperimentel kerne udviklet på MIT, som viste sig at være ubrugelig. I stedet håbede man at kunne bygge på BSD-systemets kerne. Det mener Thomas Bushnell, som dengang var ansvarlig for GNU-projektets kerneudvikling, stadig ville have været vejen frem:

RMS [= Richard M. Stallman] was a very strong believer — wrongly, I think — in a very greedy-algorithm approach to code reuse issues. My first choice was to take the BSD 4.4-Lite release and make a kernel. I knew the code, I knew how to do it. It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today.

Groklaw (archive.org)

På grund af disse forsinkelser kunne arbejdet med en kerne til GNU-systemet først for alvor gå i gang i løbet af 1991, og da var det på en måde allerede for sent. Projektet var hjemsøgt af problemer, og her næsten tyve år senere er GNU Hurd, som GNUs kerne-projekt kom til at hedde, stadig ikke klar til brug. Dette var problematisk for Stallmans GNU-projekt, men blev i sidste ende ikke noget stort problem for fri software-bevægelsen som sådan.

 
Read more...

from agger

I dette uddrag fra min kommende bog fortæller jeg om MIT-hackeren Richard Stallman, hvis frustration over den stigende kommercialisering og nedlukning af miljøet på AI-Lab i 1983 fik ham til at grundlægge GNU-projektet og dermed i sidste ende hele den nuværende bevægelse for fri software.

Dette skal vi høre mere om i kommende afsnit, her følger først og fremmest forhistorien — Stallmans traumatiske møde med en printer, der ikke kunne hackes og den borgerkrig, der i begyndelsen af 1980erne gjorde en ende på den gamle hackerkultur på MIT.

Man kan læse mere om Richard Stallman i biografien Free as in Freedom, i Steven Levys Hackers: Heroes of the Computer Revolution samt ikke mindst i Stallmans egen bog Free Software, Free Society.

Richard og printeren

Efterhånden som 1960erne randt ud og computerne vandt stadig større udbredelse i det omgivende samfund, blev den hackeretik, der havde besejret bureuakratiet og det stive hierarki på MIT, stillet over for en endnu mere formidabel modstander: Den virkelige verden. Dette gjaldt ikke mindst forretningsverdenen med dens krav om forretningshemmeligheder og hurtig fortjeneste på kundernes (dvs. brugernes) bekostning.

Denne konflikt vil vi nu se lidt nærmere på.

Enhver bevægelse med respekt for sig selv har en skabelsesmyte. For bevægelsen for fri software er det historien om Richard Stallmans vrede over printeren på MITs laboratorium for kunstig intelligens (AI-Lab).

Richard Stallman (f. 1953) tilhørte den sidste generation af de “gamle” hackere på MIT og var som systemprogrammør blandt andet ansvarlig for printerne i AI-Lab. Som inkarneret hacker levede og åndede han for den hackeretik, vi har beskrevet i forrige kapitel. Stallman var ikke tilfreds med den måde, tingene havde udviklet sig mod slutningen af 70erne. AI-Lab brugte på det tidspunkt hackernes hjemmelavede styresystem (the Incompatible Timesharing System, eller ITS), hvor alle brugere havde fuld adgang til hele systemet. Men omverdenen var begyndt at snige sig ind med dens krav om sikkerhed og beskyttelse mod vandalisme.

På MITs institut for datalogi var man som noget nyt begyndt at indføre brugernavne og kodeord, som brugerne skulle identificere sig med, når de loggede på systemet. Stallman lancerede en kampagne for at få folk til at bruge et tomt kodeord, så alle kunne komme ind på systemet gennem deres konto. På et tidspunkt knækkede han krypteringen af systemets password-fil og brugte det til at hilse systemets brugere med denne besked, når de loggede ind:

Jeg ser, at du har valgt kodeordet '(hvad det nu var)'. Vær opmærksom på, at det er meget bedre at vælge kodeordet '' (tom streng), for på den måde er du med til at sikre alles adgang til systemet og er med til at vise folk, at kodeord er et onde, som vi skal af med.

Stallman sørgede også for, at brugernes kodeord blev vist på skærmen, når de loggede ind, så forbipasserende kunne aflure folks kodeord ved at kigge dem over skulderen. På trods af Stallman og andre hackeres guerilla-aktiviteter kunne de ikke blive ved med at stå imod de nye krav om hemmeligholdelse af og ejerskab over filer og programmer. Dette skyldtes ikke mindst, at mange af de nye studerende ikke levede op til hackeretikken. I denne generation var forestillingen om, at der fandtes computere, allerede en del af folks almindelige bevidsthed, og selve maskinerne var billigere og mere udbredte.

Computerrummene var derfor ikke længere forbeholdt folk med en helt usædvanlig matematisk og/eller teknisk begavelse. Disse nye hackere var, hvad de “ægte” hackere kaldte “tabere”. De forstod ikke det ansvar for kun at gøre godt, som fulgte med den fri adgang til hele systemet. Samtidig begyndte et helt nyt begreb at snige sig ind i programmerne i AI-Lab, nemlig ejerskab. Nogle af de nye programmører var begyndt at forsyne deres programmer med copyright notices, der forbød andre at bruge eller videregive dem uden tilladelse. I en verden, hvor information skulle være fri og programmer var noget, som man skrev og delte helt frit, var dette en ganske uhørt tanke.

Det var ikke kun tiderne, der havde ændret sig. AI-Lab havde hidtil været financieret af en generel bevilling fra forsvarsministeriets forskningsprogram ARPA, der som allerede beskrevet også finansierede udviklingen af den teknologi, der udviklede sig til Internettet. Pentagon ændrede i løbet af 1970erne politik, så de fremover kun gav penge til øremærkede projekter. Det blev ikke længere anset for fornuftigt at investere millioner af dollars i grundforskning i håb om, at det måske ville have en eller anden militær anvendelse. For hackerne betød det først og fremmest, at de ikke længere var i stand til at ansætte alle, der havde talentet og dedikationen til det. Det betød også, at der blev stadig færre af dem. Den gamle hackerkultur var, til Richard Stallmans store sorg, ved at dø.

Stallman kom selv til AI-Lab i 1971. Som matematik- og fysikstuderende ved Harvard havde han hørt om det forjættede land på MIT, hvor alle kunne komme ind fra gaden, sætte sig ved en terminal og gå i gang med at kode. Han havde ikke troet på det, men gik alligevel i stedet ind og spurgte efter manualen til en af deres computere. I stedet fik han tilbudt et job.

Stallman havde som barn haft en brændende interesse og et stort talent for matematik og naturvidenskab — og en påfaldende usikkerhed ved andre menneskers selskab. I skolen fik han dumpekarakter i engelsk, fordi han nægtede at lave skriftlige opgaver, men topkarakterer i alle andre fag. På Harvard var han en af de få, der fulgte det legendariske førsteårskursus “Math 055”, der var forbeholdt den absolutte elite og dækkede de første fire år af matematikstudiet på blot to semestre. Stallman var en af de bedste også på det hold og kunne formentlig være blevet en stor matematiker, hvis han havde valgt dén vej. I stedet forlod han Harvard med en bachelorgrad med første karakter (magna com laude) og flyttede sine studier til MIT med henblik på en PhD-grad i fysik. På den måde rykkede han også tre kilometer nærmere AI-Lab, hvor han tilbragte stadig mere af sin tid.

Stallman fik aldrig nogen PhD-grad. Han blev i stedet opslugt af arbejdet i AI-Lab, hvor han blev en del af fællesskabet omkring 20 timers arbejdsdage, diskussioner om den eneste rigtige løsning på algoritmiske problemer samt udflugter til områdets mange kinesiske restauranter. Stallman havde fundet sig et hjem. For det socialt akavede geni, der hele sin barndom og ungdom havde lidt under sine jævnaldrendes afvisning, var fællesskabet i AI-Lab et paradis. Fra 1975 droppede han helt ud af fysikstudiet på MIT og koncentrerede sig om arbejdet i laboratoriet for kunstig intelligens.

Stallman sagde senere om fravalget af en akademisk karriere til fordel for arbejdet som programmør:

With physics and math, I could never figure out a way to contribute. I would have been proud to advance either one of those fields, but I could never see a way to do that. I didn't know where to start. With software, I saw right away how to write things that would run and be useful. The pleasure of that knowledge led me to want to do it more.

Med tiden fik Stallman ry som en af de bedste hackere i AI-Labs historie. Mange kom endda til at betragte ham som den største nogen sinde.

Stallmans mest kendte program fra den tid bliver stadig brugt af tusinder af mennesker. Det drejer sig om tekst-editoren Emacs, hvis udvikling indvarslede det princip om deling og fællesskab, som Stallman senere førte med sig over i bevægelsen for fri software. I 1960erne kunne man ikke skrive tekst ind på computeren og straks se resultatet, sådan som vi kan i dag. Input skete via en hulstrimmel, som man først skulle udfylde ved hjælp af en skrivemaskinelignende anordning. Med de første tekst-programmer blev det muligt at indtaste sine data direkte på computeren, men man kunne stadig ikke se det, som man selv skrev. Output foregik via en teleskriver og kom ud på papir. Og der var ingen grund til at spilde papir på at udskrive den tekst, man selv havde indtastet og selvfølgelig kendte i forvejen. Med mindre man var kommet til at skrive forkert, for så kunne det være smart at se indholdet af den pågældende linje i filen og rette den til det, der faktisk skulle stå.

De første “tekstbehandlingsprogrammer” var linjeorienterede. Selv da de første CRT-skærme begyndte at dukke op, fulgte det ikke automatisk, at det, som brugeren indtastede, også blev vist på skærmen. Tekstredigering på en computer var derfor en videnskab for sig. Brugeren var nødt til at udføre en række kommandoer ud fra et mentalt billede af teksten, hvorefter den kunne skrives ud på linjeskriveren, hvis det var nødvendigt at verificere ændringerne.

AI-Lab blev hjemsted for en af de første fuldskærmseditors, som hed TECO. Her var det muligt at se så meget af teksten, som der kunne være på skærmen. Der var stadig ikke tale om et “rigtigt” skriveprogram, som vi kender dem i dag. Teksten blev vist på skærmen, men hvis man ønskede at ændre i den, måtte man først indtaste en række kommandoer og derefter bede TECO om at opdatere den viste tekst. Selve indtastningen skete stadig “i blinde”. Under et besøg på Berkeley-universitetet i Californien stiftede Stallman imidlertid bekendtskab med et program ved navn E, hvor man både kunne indtaste teksten og se, hvad det var, man skrev. Da en kollega på AI-Lab opfandt et hack, der tillod brugeren at definere en række kommandoer (en såkaldt makro), der fik det til at se ud, som om man kunne indsætte en sætning direkte i teksten på TECO, gik Stallman i aktion. Med denne makro omdanne han TECO til en fuldskærmseditor, hvor ændringer i teksten straks blev vist — MITs første moderne skriveprogram. Stallman konstruerede den nye editor ved hjælp af en række kommandoer i det populære programmeringssprog LISP. Brugerne kunne derfor let ændre Stallmans kommandoer og skrive deres egne, hvis de havde lyst — og det havde de. Emacs var født. Noget helt almindeligt skriveprogram er Emacs ikke, til gengæld gik den hen og blev en af verdens mest udbredte tekst-editors. Den dag i dag er den stadig meget populær. Den komplicerede brugergrænseflade kompenseres i udstrakt grad af, at den frit kan tilpasses den enkelte brugers behov.

Tilpasningsmulighederne havde dog en ulempe: Alle lavede deres egne udgaver af Emacs' kommandoer. Efterhånden som hackerne i AI-Lab gik over til den nye editor, blev deres muligheder for at arbejde sammen om koden dårligere. Hvis en bruger satte sig ved en kollegas skærm for at arbejde videre på hans kode, kunne editoren opføre sig helt anderledes. Stallman løste dette problem ved at indføre noget, som han kaldte “Emacs-kollektivet”. Han krævede, at alle Emacs-brugere skulle give deres hjemmelavede udvidelser af programmet tilbage til Stallman, der så kunne vælge at tage dem med i den næste version eller lade være. På den måde blev Emacs hele tiden bedre, fordi de bedste af brugernes udvidelser og makroer blev lagt ind i selve programmet og kunne bruges af alle. Emacs blev altså til som en sammenskrivning af nogle af verdens dengang dygtigste og mest lidenskabelige programmørers personlige bidrag til brugeroplevelsen. Det er ikke overraskende, at den hurtigt begyndte at appellere også til andre. Emacs blev meget udbredt i naturvidenskabelige miljøer, og der opstod en lang række efterligninger.

Skønt Emacs således var et af de smukkeste eksempler på, hvad hackerkulturen og dens ideer om fællesskab kunne udrette, var selve kulturen som sagt døende. Hvor systemet tidligere var helt åbent, så alle brugere havde lov til at kigge og rette i alle filer, dukkede brugernavne og kodeord op i stedet. Flere og flere programmer blev stillet til rådighed på betingelse af, at programmøren underskrev en fortrolighedsaftale. Enkelte hackere begyndte endog at hemmeligholde deres kode for at kunne sælge deres programmer. Kontrasten til den traditionelle hackerkultur kunne næppe være større. Nyttig software skulle jo være frit tilgængelig for enhver! Stallman havde fundet et hjem i AI-Labs fællesskab og var fortvivlet over dag for dag at se det forsvinde.

Det var altså en garvet hacker og frihedskæmper, der en dag i 1980 sendte et 50-siders dokument til udskrift på den nye laserprinter fra Xerox. Printeren var noget af et vidunder – det var en prototype af en af verdens allerførste laserprintere. Datidens øvrige printere kunne være flere minutter om at udskrive en side i en kvalitet, der var på grænsen til det ulæselige. Med laserprinteren kom siderne ud næsten med det samme, og i bogtryk-kvalitet. Men den dag sad der noget papir i klemme i printeren, og der var kun kommet et par sider af Stallmans dokument ud.

Så irriterende det end var, vidste Stallman allerede, hvordan han skulle løse dette problem. Et par år tidligere havde han nemlig løst det for laboratoriets gamle linjeskriver. Man kan naturligvis ikke ordne et papirstop automatisk, men man kunne få nogen til at ordne det for sig. Alt, hvad der skulle til, var at tage det program på AI-Labs computer, der styrede og overvågede printeren (altså printerdriveren) og få det til at sende en besked ud på skærmen til alle brugere med dokumenter i print-køen: “Der er noget papir i klemme i printeren. Vær venlig at ordne det!” Dette var ikke en teknisk løsning, men var alligevel den hurtigste måde at få problemet ordnet. Når alle i udskriftskøen fik besked, ville mindst én af dem nok se beskeden og gå hen og ordne det. Folk med papir i udskriftskøen havde jo i bogstaveligste forstand noget i klemme og dermed et motiv til at ordne papirstoppet. Alt, hvad der skulle til, var et par linjer i kildekoden til printerprogrammet, og arbejdsgangen omkring udskrift ville igen blive optimal.

Stallman gav sig derfor til at lede efter kildekoden til printerdriveren. Desværre så det ud til, at folkene på Xerox havde begået en fejl, da de sendte printerdriveren til AI-Lab, for Stallman kunne kun finde den binære udgave af programmet. Det var naturligvis helt OK – fejl sker jo, og når nu Xerox havde været så flinke at sende laserprinteren helt gratis, ønskede Stallman ikke at ulejlige dem. I stedet ville han spørge nogle andre, der havde fået den samme printer. Det gjorde han så, når han alligevel besøgte andre universiteter, der også havde sådan én stående. Resultatet var dog alle steder det samme. Ingen vidste noget om kildekoden til den printer. For hackeren Stallman var det en kilde til frustration. Der var et program i hans system med en alvorlig fejl, som han ikke kunne rette. Samtidig begyndte han at få en nagende mistanke om, at der var noget galt. Måske var det helt bevidst, at printeren var leveret uden kildekode. Men så var Xerox' laserprinter at betragte som en trojansk hest, som fratog AI-Labs programmører kontrollen over, hvad der skete i deres system.

Stallman fandt efter nogen tid frem til, hvem der måtte have skrevet printerdriveren. Han havde dog forladt Xerox og var nu ansat på Princeton. Stallman skulle alligevel snart til Princeton i forbindelse med et af AI-Labs forskningsprojekter og besluttede at kigge forbi og spørge efter koden. Dette endte med at blive en traumatisk oplevelse for Stallman. Den tidligere Xerox-ansatte erkendte at have skrevet printerdriveren, men kunne ikke udlevere kildekoden. Den var omfattet af en NDA – en non-disclosure agreement, en fortrolighedsaftale, som Xerox' medarbejdere havde underskrevet, og som det kunne give store problemer at overtræde. Det program, som Stallman gerne ville indsætte et par linjer i, var ikke blot ikke tilgængeligt, det var en forretningshemmelighed. Med laserprinteren havde Xerox smuglet deres nye, private og hemmelige software dybt ind i hjertet af Stallmans hacker-paradis på MIT. Dette var ikke blot en forbigående irritation, fordi nogen havde glemt at vedlægge kildekoden. De havde gjort det med vilje.

Stallman er senere gang på gang vendt tilbage til denne begivenhed for at forklare, hvad der drev ham til at stifte bevægelsen for fri software. Syv år senere opsummerede han begivenheden i en tale på den Kongelige Tekniske Højskole i Stockholm:

The first time we had a graphics printer at MIT, we wrote the software ourselves, and we put in lots of nice features, for example it would send you a message when your job had finished printing, and it would send you a message if the printer ran out of paper and you had a job in the queue, and lots of other things that were what we wanted. We then got a much nicer graphic printer, one of the first laser printers, but then the software was supplied by Xerox, and we couldn't change it. They wouldn't put in these features, and we couldn't, so we had to make do with things that “half worked”. And it was very frustrating to know that we were ready, willing and able to fix it, but weren't permitted. We were sabotaged.

Denne kontrol over brugerens computer er forudsætningen for, at almindelige mennesker kan umyndiggøres i det højteknologiske samfund. Selv de af os, der gerne ville sætte sig ind i den teknologi, der skaber rammerne for vores tilværelse, kan ikke gøre det, fordi stort set alt er blevet forretningshemmeligheder:

There are all the people who use computers and say that the computers are a mystery to them, they don't know how they work. Well how can they possibly know? They can't read the programs they're using. The only way people learn how programs should be written, or how programs do what they do, is by reading the source code.

Stallman fik dog snart andet at tænke på end laserprintere. Den latente spænding mellem kommercialisme og hackeretik mundede ud i en regulær borgerkrig mellem hackerne, hvor Stallman kom til at spille en afgørende rolle.

Borgerkrig i AI-lab

Striden begyndte, da hackeren Richard Greenblatt besluttede at lave et firma, der lavede LISP-maskiner. Greenblatt var kommet til MIT i 1961 og blev af mange betragtet som selve inkarnationen af den næsten selvdestruktivt dedikerede hacker. LISP var et programmeringssprog, der var designet til forskning i kunstig intelligens. Navnet er en forkortelse af “LISt Processing”, men faktisk var det et af de første af de såkaldte funktionelle programmeringssprog. Et af dets kendetegn er et rekursivt typebegreb, der er modelleret over en gren af den matematiske logik, der hedder lambda-kalkyle. LISP er velegnet til at udtrykke komplicerede sammenhænge i en form, der er tæt på et almindeligt menneskeligt ræsonnement — i modsætning til den maskinkode, som man normalt programmerede i dengang. Greenblatt havde implementeret LISP i AI-labs store forskningsprojekt MAC og havde også arbejdet med et af verdens første skakprogrammer, The Greenblatt Chess Hack – det første computerprogram, der for alvor var godt nok til at tage kampen op mod menneskelige spillere.

LISP havde en alvorlig ulempe: Sprogets store vægt på lister og rekursive strukturer gjorde det vanskeligt at implementere på tidens ret ressourcefattige computere. Greenblatt havde derfor rigget noget hardware sammen med en ny processor, der bedre kunne håndtere LISPs kompleksitet. Det logiske næste skridt var at bygge en computer, der kun var beregnet til at køre LISP – en LISP-maskine. Efterhånden som efterspørgslen efter Greenblatts LISP-maskiner voksede, blev det klart, at opgaven med at bygge dem ikke hørte hjemme i AI-lab. Laboratoriets opgave var at lave forskning i kunstig intelligens, og hackernes opgave var at opbygge og vedligeholde systemer, som forskerne kunne bruge i deres arbejde.

Hackerne havde rimeligt frie rammer, men decideret produktion af computere faldt alligevel udenfor. Greenblatt så det også som en chance for at komme videre til et liv uden for den døende kultur i AI-lab. Han allierede sig derfor med Russell Noftsker, der havde forladt en stilling som systemansvarlig i AI-lab for at prøve lykken i det californiske erhvervsliv. De blev imidlertid hurtigt uenige om, hvilken retning, projektet skulle tage. Noftsker ville have investorer, startkapital, salgsafdeling og direktion. Greenblatt ville trække sig op ved at bygge nogle få maskiner, sælge dem og lade fortjenesten derfra finansiere det videre arbejde. Noftsker ville have et traditionelt firma med kommandoveje og hierarki; Greenblatt ville flytte MITs hackerparadis til en anden adresse. Det blev hurtigt klart, at de ikke ville blive enige, og resultatet blev ikke ét, men to nye firmaer: Noftskers Symbolics, Inc. og Greenblatts Lisp Machines International (LMI). Denne splittelse blev det endelige dødsstød for hackerkulturen i AI-lab.

De fleste af laboratoriets hackere troede mere på Noftskers mere traditionelt kommercielle fremgangsmåde. Der var kun ringe tiltro til, at et firma organiseret efter Greenblatts ideer overhovedet kunne blive til noget. Resultatet var, at Noftsker kunne hverve 14 af AI-labs hackere til Symbolics, mens kun et par stykker gik med Greenblatt over i LMI. De to firmaers produkter var grundlæggende ens. Der var tale om LISP-maskiner, som Greenblatt og de andre hackere på MIT allerede havde designet og leveret omkring femogtredive af. Symbolics anlagde en aggressiv strategi om at forbedre deres produkter for at udmærke dem frem for LMIs. Samtidig fik de en aftale med MIT om, at universitetet fik gratis opdateringer til Symbolics' system til gengæld for at Symbolics kunne bruge MITs lokaler. Men det indgik i betingelserne for denne aftale, at Symbolics' nyudviklede system skulle betragtes som en forretningshemmelighed. Det måtte ikke gives videre til andre, og især ikke til konkurrenterne hos LMI. Den ansvarlige for vedligeholdelsen af MITs LISP-maskine hed på det tidspunkt Richard Stallman.

Det store frafald af programmører til LMI og Symbolics havde ramt hackerkulturen i AI-lab hårdt. Stallman var faktisk tæt på at være ene mand tilbage. Efter at have lidt nederlag til kravet om brugernavne og kodeord på systemerne og efter at have set hackernes hjemmelavede og sikkerhedsløse Incompatible Timeshare System sat på pension til fordel for et inferiørt kommercielt produkt, så Stallman nu sin arbejdsplads invaderet af et system, der var baseret på hans og hans kollegers arbejde på AI-lab, men alligevel ikke kunne ændres eller deles med andre. Stallman vedligeholdt i begyndelsen MITs egen LISP-maskine ved at udse sig de bedste opdateringer fra både Symbolics og LMI. Resultatet sendte han i bedste hackerånd tilbage til de to firmaer til fri afbenyttelse. For Symbolics' ledelse med Noftsker i spidsen betød det imidlertid, at deres udviklingsindsats gik til at finansiere konkurrenten LMI. Med deres nye, agressive holdning til licensbetingelser blev den vej derfor lukket: hvis MIT fortsat ønskede opdateringer fra Symbolics, måtte de ophøre med at sende ændringer af det samlede system videre til LMI. Hackernes paradis var invaderet af kommercielle interesser repræsenteret af en flok gamle kolleger, der var gået over til fjenden. Stallman tog det som en krigserklæring:

The way I saw it, the AI Lab was a neutral country, like Belgium in World War I. If Germany invades Belgium, Belgium declares war on Germany and sides with Britain and France.

Free as in Freedom, kapitel 7

Stallman svor, at så længe han havde kræfter til det, skulle LMIs system ikke komme til at stå tilbage for Symbolics'.

Rent juridisk kunne Stallman ikke bare sende Symbolics' opdateringer videre til konkurrenten. I stedet kunne han læse i dokumentationen og se, hvordan opdateringerne virkede, og han kunne afprøve det nye system på MITs LISP-maskine. Herefter gen-programmerede han systematisk samtlige Symbolics' opdateringer af styresystemet på LISP-maskinen, hvorefter han sendte sin egen udgave af ændringerne til LMI. Det måtte han gerne, eftersom de nu var implementeret af MIT. På en måde var det et af de største hacks nogensinde: Symbolics' stab omfattede 15-20 udviklere, hvoraf flere var blandt verdens allerdygtigste programmører. Stallman formåede ene mand at genskabe alt deres arbejde i det meste af 1982 og hele 1983.

Stallmans tidligere kollega Bill Gosper ankom til MIT i 1961 (samme år som Greenblatt) og er især kendt for sit arbejde med John Horton Conways berømte matematiske simulation Game of Life. Selv om han nu var ansat i Symbolics afdeling i Californien, havde han svært ved at skjule sin beundring for Stallmans indsats. Når kollegerne på Symbolics kritiserede den tekniske kvalitet af Stallmans arbejde, var Gosper mere forbeholden:

I really wonder if those people aren't kidding themselves. Or if they're being fair.

I can see something Stallman wrote, and I might decide it was bad (probably not, but somebody could convince me it was bad), and I would still say, “But wait a minute – Stallman doesn't have anybody to argue with all night over there. He's working alone! It's incredible anyone could do this alone!”

(Levy: Hackers, s. 426)

Steven Levy sammenligner Stallmans ensomme kamp mod en hel udviklingsafdeling med John Henry, den sagnomspundne amerikanske arbejderhelt, der arbejdede om kap med en damphammer og vandt. Stallman kæmpede ikke mod en maskine, men mod et stjernehold af nogle af sin generations skarpeste hjerner:

RMS had single-handedly attempted to match the work of over a dozen world-class hackers, and managed to do it during most of 1982 and all of 1983. “In a fairly real sense,” Greenblatt noted at the time, “he's been outhacking the whole bunch of them.”

(ibid)

Men det kunne ikke blive ved i længden. Den virkelige verdens indtog i MIT understregede, at der var mere på spil end blot hackerlivet på MIT. Proprietær software, hvor man som bruger ikke kan få lov til at se eller pille i den kildekode, der ligger bag programmerne, holdt efterhånden sit indtog overalt. I de tidlige firsere blev denne form for programmer markedsført til de nu allestedsnærværende mikrocomputere, som folk som noget helt nyt havde råd til at købe til sig selv. Disse forbrugere havde aldrig hørt om MIT eller for den sags skyld om programmeringssprog og kildekode og satte derfor ikke spørgsmålstegn ved de vilkår, de fik programmerne leveret på. Stallman var derimod vant til at arbejde med computere i et frit miljø, hvor alle brugere havde adgang til at rette i programmerne og bagefter delte deres arbejde med kollegerne, i princippet med resten af menneskeheden. Hvis det overhovedet skulle være muligt at arbejde med computere på den måde — sammen med brugerne i stedet for imod dem — måtte der gøres noget. Nogen måtte påtage sig at skrive et frit system, som alle kunne undersøge og bidrage til. Hvis nogen havde forudsætningerne for det, var det en systemprogrammør som Richard Stallman.

 
Read more...

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.

 
Read more...

from notes

WriteFreely, som er det værktøj, som denne side er bygget i, giver mulighed for at have mange forskellige blogs for hver bruger.

Hidtil har jeg skrevet i den blog, der hedder agger, men nu har jeg også oprettet denne, hvor jeg kan skrive forskellige små indlæg og artikler, noter, som man siger.

Det har noget at gøre med, at jeg er ved at være træt af de sociale medier men stadig har ting, som jeg gerne vil skrive og have folk til at læse. Hæng endelig på.

 
Read more...

from agger

Den nedenstående redegørelse for Internettets tidlige historie er et uddrag af en bog om fri software, som jeg begyndte på for mange år siden og for nylig er begyndt at redigere for at se, om jeg kan få den færdig og udgivet.

Det er den lidt utrolige historie om, hvordan de kommunikationsnetværk, der endte med at blive til Internettet, blev udviklet – af det amerikanske militær, no less – i fuld åbenhed og om hvilke helt konkrete og reelle fordele, det gav.

Fordele ved fri og åben software

I slutningen af 1960erne sætter en gruppe forskere ved Defense Advanced Research Projects Agency (en forskningsenhed under det amerikanske forsvarsministerium, som er bedre kendt under forkortelsen DARPA) sig for at skabe et netværk af computere, der kan holde til selv de mest ekstreme betingelser. Dette netværk skal ikke kommunikere gennem en fælles central ligesom et telefonsystem gør det. I stedet skal det opbygges helt decentralt ved, at dets computere taler direkte til hinanden og sender beskeder ved at lade dem hoppe fra den ene computer til den anden, indtil de finder den rigtige.

Fidusen ved denne strategi er, at hvis en del af netværket pludselig bliver afskåret på grund af et fjendtligt angreb, kan de overlevende dele af netværket stadig tale sammen. Eftersom kommunikationen mellem computerne selv kan finde vej gennem nettet uden at gå gennem en central, vil konsekvensen af et udfald i halvdelen af netværket blot være, at trafikken mellem de resterende computere i nettet må vælge en anden vej. Hvis en vigtig forbindelse mellem to grene af netværket overskæres, betyder det ikke, at netværket holder op med at virke på nogen af de berørte computere. Nettet deles bare i to separate undernet, som stadig er fuldt funktionsdygtige, selv om de ikke længere kan tale sammen. Meningen med dette projekt er, at det amerikanske samfund – militær, regering og vigtige samfundsinstitutioner som universiteter og hospitaler – skal kunne blive ved med at kommunikere indbyrdes, selv om et fjendtligt angreb sætter dele af netværket ud af spillet. Et militært angreb på USA forekommer dengang, hvor den kolde krig stadig er på sit højeste, ikke urealistisk.

Dette netværksprojekt er finansieret af DARPA, men udvikles i samarbejde med universiteter og virksomheder. Udviklingsprocessen foregår derfor i fuld offentlighed. Netværkets opbygning og grundlæggende principper lægges frem i en række dokumenter, der kaldes Request for Comments. Hver af disse “RFC'er” specificerer et aspekt af det nye netværk.

Vi forbinder ofte militære forskningsprojekter, der skal sikre infrastrukturen mod et fjendtligt angreb, med noget tys-tys og tophemmeligt. DARPA går i 1960erne en anden vej med designet af det nye netværk. De ønsker, at deres decentrale og robuste netværk skal have så stor udbredelse som overhovedet muligt. De nøjes derfor ikke med at udvikle nettets specifikationer i fuld offentlighed – de opfordrer alle, der har mulighed for det, til at bruge det. Det gamle ARPANET breder sig til flere og flere virksomheder og universiteter i USA. Med udbredelsen vokser mængden af anvendelser for det nye netværk. Email har eksisteret i hvert fald siden 1965, men er i starten begrænset til kommunikation mellem forskellige brugere på samme maskine. Den første email mellem to computere i et netværk sendes af programmøren Ray Tomlinson (1941-2016) i slutningen af 1971, og i begyndelsen af 1972 har teknikken bredt sig til en række andre ARPANET-computere. Omkring samme tid udvikles protokollerne FTP og TFTP til udveksling af filer.

Netværkets decentrale natur og den frie adgang til at bygge programmer, der kan kommunikere over det, sætter det i stand til at udvikle sig til noget langt større, end nogen havde forudset. I løbet af 1980erne bliver Internettet, som det nu hedder, standard for kommunikationen på universiteternes naturvidenskabelige fakulteter. Efterhånden kommer også kommercielle udbydere til, som sælger adgang til det nye netværk til menigmand. Resultatet er det netværk, som vi i dag alle kender som Internettet (der er mere kritiske ting at sige om den måde, nettet blev privatiseret på – grundlæggende blev det foræret væk til en række monopolister, der stadig tjener mange penge på at yde amerikanerne en rigtig dårlig service – men det vender vi tilbage til senere).

Internettets succes må i første omgang tilskrives de åbne standarder, det byggede på. Netværkets hjerte er en række af protokoller for udveksling af data mellem computere – en slags meget grundige opskrifter for, hvordan kommunikationen skal foregå. Disse protokoller lægger DARPA og den tilhørende arbejdsgruppe IETF (Internet Engineering Task Force) frit frem for alle, der har lyst til at implementere dem. Det geniale ved denne løsning er, at Internettet ikke defineres ved nogle bestemte programmer, som er installeret på netværkets computere, men ved en specifikation af, hvordan programmer kan kommunikere med hinanden. Alle firmaer og privatpersoner kan, hvis de ønsker det, lave deres egne programmer, der kommunikerer efter denne specifikation. På Berkeley-universitet i San Francisco i Californien udgiver man i 1983 en af de første fungerende implementationer af disse protokoller, som man i 1989 stiller til rådighed for alle interesserede. Berkeley-universitetets implementation af TCP/IP-protokollen breder sig hurtigt og danner grundlag for understøttelsen af Internet i styresystemer som Windows, GNU/Linux og FreeBSD.

I 1990 udvikler en ung fysiker ved CERN et internet-baseret system, der har til formål at lette udvekslingen af data mellem forskellige videnskabelige faciliteter. Fysikeren hedder Tim Berners-Lee, og opfindelsen kalder han World Wide Web. Berners-Lee beslutter i åbenhedens ånd at hjælpe sit system på vej ved at lægge både programmer og kildekode til download og fri afbenyttelse på CERNs Internet-servere.

Berners-Lees nye system består af en central server, der kan servere dokumenter for systemets brugere. Brugerne læser dokumenterne ved hjælp af en særligt indrettet klient eller browser, der kan formattere den kode, dokumenterne er skrevet i, så de ser pæne ud. Denne kode er den første udgave af det i dag meget udbredte formatteringssprog HTML, som Berners-Lee opfinder til lejligheden. For at snakke sammen bruger klient og server en ny netværksprotokol, som Berners-Lee kalder HTTP – en forkortelse for “Hyper Text Transfer Protocol”.

Berners-Lees opfindelse breder sig hurtigt til universiteter verden over. National Center for Supercomputing Applications (NCSA) i Illinois i USA skaber i 1993 verdens første virkelig udbredte web-browser, som de kalder Mosaic, med udgangspunkt i Berners-Lees oprindelige software. James H. Clark grundlægger i 1994 firmaet Netscape og skaber sammen med en stor del af de oprindelig programmører fra NCSA verdens første kommercielle browser. Netscape har med sin indbydende grafiske brugerflade og overskuelige formattering af nettets HTML-sider en stor del af æren for at bringe Internettet ind i almindelige menneskers hjem. En anden gruppe af tidligere ansatte hos NCSA ender hos Microsoft, hvor de bruger koden fra Mosaic som grundlag for de første versioner af Microsofts Internet Explorer-browser. Da folk først begynder at blive opmærksomme på muligheden for at lave sider på World Wide Web, breder ideen sig hurtigt. Mange virksomheder, institutioner, organisationer og enkeltpersoner laver hjemmesider, hvor de reklamerer for deres produkter eller fortæller om noget, der er vigtigt for dem. Sidernes grafiske præsentation styrkes af HTML-sprogets rige formatteringsmuligheder, og det er let for alle at lære. Alle browsere indeholder nemlig en funktion, der hedder “Se HTML” eller “Se sidens kildekode”. Det gør det let for folk hurtigt komme i gang med at lave nye sider ved at tage udgangspunkt eksisterende siders HTML-kode. Alle kan altid se, hvordan en given sides layout er skabt, og grafiske nyskabelser breder sig med omtrent samme hastighed som selve teknologien.

En gruppe af frivillige og repræsentanter for forskellige firmaer arbejder videre med Berners-Lees oprindelig server-program og udvikler i 1995 web-serveren Apache, der i årtier fastholder en position som den mest udbredte webserver på internettet. Denne gruppe betragter serverens design som et fælles, åbent projekt, som alle kan bidrage til og nyde godt af. Mens virksomheder som Microsoft, Netscape og IBM sælger webservere til meget høje priser, fortsætter folkene bag Apache med helt i Berners-Lees ånd at dele deres server ud til hvem, der end vil have den. Apaches popularitet tiltrækker så vægtige bidragydere, at denne gratis web-server i årtier fastholder en position som den bedste af dem alle sammen.

Når Internettet og World Wide Web kan få så stor udbredelse er det altså først og fremmest, fordi de bliver beskrevet og dokumenteret i fuld offentlighed, og fordi de første udgaver af de underliggende programmer er frit til rådighed for enhver, der har lyst til at bruge og ændre dem. Internettet får med andre ord kun den succes og udbredelse, som det har i dag, fordi det bygger på åbne standarder og fri software.

 
Read more...

from notes

Greenberg: "Manufacturing Depression"

So I'm reading Gary Greenberg's book “Manufacturing depression”. It's not an ironclad scientific demonstration of the ineffectiveness of much of the modern psychiatric medicine such as you may find in the work of (say) Joanna Moncrieff, but it is an entertaining and critical journalistic narrative of the pharmacological history of depression.

At one point he's comparing depression and SSRIs with diabetes and insulin, mocking the psychiatrists who, unlike real doctors prescribing insulin to diabetics

don't have to convince their diabetic patients that they have a “real illness”. A diabetes doctor doesn't have to worry about the clinical appropriateness of treatment. He doesn't have to wait for a new definition of diabetes to be hashed out in committees of his brethren and then learn the new diagnostic criteria. (...) All he has to do is to take a urine or blood sample. He doesn't have to talk about chemical imbalances that he knows aren't the problem or contend with package inserts that say, in plain black and white, that the drug makers have no idea why their drug works.

The prevailing narrative is still, if you ask doctors, that depression is caused by low levels of serotonin in the brain and that antidepressants work by increasing the levels of serotonin. It's hard to understand, though, how this narrative can still exist given that Irving Kirsch (lecturer in medicine at the Harvard Medical School and Beth Israel Deaconess Medical Center) thoroughly debunked the idea in 2009, 15 years ago.

What Kirsch demonstrated by a thorough analysis of a vast number of clinical trials of SSRIs was

  • Antidepressants fare very badly in clinical trials. They are statistically better than placebos, but the difference is so small that it's not clinically significant. I.e., clinically they're not proven to be any better than placebos.
  • They are speculated to work by lowering serotonin levels, but in fact there is no evidence at all that depression is related to serotonin levels – the evidence that is often cited is that the SSRIs seem to work on depression, but the clinical trials suggest they actually don't.
  • It has been shown that if people have the levels of serotonin in the brain depleted, it doesn't affect their mood at all.
  • One outlying anti-depressant in use in France is actually a Selective Serotonin Reuptake Enhancer, i.e. it lowers levels of serotonin in the brain, and it fares no better and no worse than the SSRIs.
  • the small statistical difference between SSRIs and placebo can probably be explained by the placebo effect – patients in clinical trials realize that they're on the real drug because of the onset of (often unpleasant) side effects, thus increasing their expectation of a positive effect.

I won't claim to know how to cure depression, except that I'd guess that it's not a disease whose root causes lie at the neurochemical level and hence it probably isn't curable with medication (even though such medication may be helpful in shorter periods). I'd really love for someone to come up with a real answer.

But why do we allow ourselves and the industry to carry on, 35 years after introducing these drugs, 15 years after Kirsch thoroughly debunked them, to continue treating this very serious disease with medicine

  • whose own manufacturers still can't say why it would work
  • except by referring to a serotonin hypothesis which has never been proven,
  • a hypothesis which has in fact been debunked?

I'm afraid we're in need of some reforms here. Maybe, just maybe, the abolishment of medical patents and of any and a nationalisation of medical research, so that new drugs and treatments will be developed according to patients' needs – and not according to the drug companies' chances of commercial success.

 
Read more...