Eric Raymond: Katedralen og bazaren

Hvad er det der får os til at gøre os umage med vores arbejde? Er det penge og magt - eller er det lysten, legen og trangen til at gøre livet lettere for sig selv og andre?
I erhvervslivet er det tydeligvis pengene der kommer i første række. De ansatte i et firma får løn for at gøre som de får besked på, og firmaets produkter skal ikke gives væk, men sælges, og derfor fortæller man selvfølgelig ikke kunderne, hvordan de selv kunne bygge det samme produkt.

 

Men man kan også se helt anderledes på det. Måske knokler folk ikke kun for penge, men fordi de godt kan lide at være kreative og fordi de står med et konkret problem og en ide til hvordan det kan løses. Måske skal man ikke tænke på brugerne som "kunder", men i stedet se dem som deltagere og medspillere i udviklingen - og derfor skal man gøre det åbent og let for enhver at arbejde videre med ens ideer.

For udviklerne af open source software er det ikke alene mere sympatisk at arbejde ud fra åbenhed og kreativitet - i sidste ende er det også den mest effektive måde at udvikle nyttige programmer på.
"Den mest produktive måde for et firma at udvikle software på er paradoksalt nok at lade være med at presse programmørerne i en bestemt retning. Drop deadlines, lad dem arbejde med det de har lyst til. Økonomisk set er leg den mest effektive form for kreativt arbejde".
Dén påstand har været med til at gøre amerikaneren Eric Raymond til en af open source miljøets få berømtheder. Raymond er blevet hacker-filosofiens forkynder, og på jævnlige ture omkring på kloden forklarer han hvorfor IT-verdenen ville være bedst tjent med mere åbenhed, mere samarbejde og mere lidenskab.

Kontrol er in-effektivt
I 1999 skrev Eric Raymond et essay med titlen "The cathedral and the bazar" hvori han beskrev de erfaringer han havde gjort sig igennem sit arbejde med at lede udviklingen af programmet Fetchmail.

Fra starten af projektet forsøgte Raymond meget bevidst at udnytte nogle af de mekanismer, som især miljøet omkring Linux havde stor succes med.
Han lagde koden frit frem, indbød enhver til at komme med kritik og forbedringer, uddelegerede alle de opgaver han kunne komme afsted med, og så snart han foretog ændringer i koden, lagde han dem ud på nettet - i perioder dagligt.
Over en periode på på 5-6 år var over 800 hackere involveret i udviklingen af Fetchmail, og programmet gik fra at være et obskurt specialværktøj til at være et af de førende i sin kategori.

Processen sammenlignede Raymond med en mellemøstlig basar, hvor utallige små og store transaktioner foregår uden nogen central styring. Kunderne får det de skal bruge, men ingen har planlagt præcist hvordan. I basaren opstår løsningerne som resultatet af at mange medspillere hver især gør det, de har lyst til.
Modsætningen til basaren er katedralen: Den store flotte bygning, der opføres præcist som arkitekten har tegnet det, i en nøje planlagt og gennem-organiseret proces, som ingen uvedkommende kan blande sig i.
Efter Eric Raymonds mening udvikles de store, kommercielle software-systemer efter katedral-metoden. Hans påstand er imidlertid, at det er basaren, der er mest effektiv, når det drejer sig om at finde løsninger på komplekse og hastigt skiftende problemer.

"The cathedral and the bazar" er blevet en af nettets klassikere, fordi Raymond fik sat ord på en masse overvejelser og u-officiel viden som havde simret i hacker kulturen.
Eric Raymonds næste udspil var "Homesteading the Noosphere". I det essay analyserede Raymond nærmere hvad det er for mekanismer, der motiverer og belønner programmører. Han kiggede på ejendomsret, status og magtkampe indenfor udviklingsprojekter, og han opdagede, at mange af de mekanismer der var på spil, var de samme som havde vist sig da nybyggerne flyttede ind på prærien. De normer der bestemte hvornår en farmer kunne siges at have vundet hævd på et stykke jord eller som gav en person status i et nyt samfund, mindede til forveksling om den måde kontrollen over et software-projekt bliver fordelt.

Lysten driver værket
Raymonds konklusioner går stik imod mange af samfundets og erhvervslivets normale syn på grundlæggende størrelser som kontrol, magt, egoisme og penge. En hacker er ifølge Eric Raymonds definition "en programmør der betragter løsning af problemer som en kunstart" - og for hackere er det helt andre værdier, der driver værket:


"Vi elsker det vi gør! Vi vil skabe kode der er smuk og nyttig og som virkelig virker - og vi har fundet ud af at organisere os på en måde, der understøtter det. Hvis man arbejder for en traditionel kommerciel udvikler af "lukket" software kan det være meget frustrerende, for man kan lave den smukkeste kode - og alligevel ender det med at blive begravet på grund af politiske beslutninger man ikke selv kan kontrollere. Du kan blive fremmedgjort i forhold til din egen kode. Du kan gøre et fantastisk stykke arbejde - og så opdager du, at du ikke ejer det længere; du kan ikke genbruge det, du kan ikke lade andre arbejde videre med det, og du får aldrig set de resultater, som det skaber ude i verden.
I open source er der ingen der kan tage det fra dig, og du får en meget direkte form for feedback, der belønner dig for det arbejde du gør. Du hører fra brugere, du ser dit arbejde blive brugt ude i verden - og det feedback er med til at gøre dig til en bedre håndværker", forklarer Eric Raymond.

Men indenfor open source udvikling må det vel også forekomme, at det, man har knoklet med, ikke bliver taget med i de nye versioner af programmet, eller at ingen gider at bruge det, man selv synes er genialt?
"Jo, selvfølgelig", svarer Raymond: "Det kan ske. Der er ting der aldrig når fra alfa til beta, der er kode der forsvinder og glemmes, men det er okay, det er en del af evolutionen. Forskellen til de kommercielle projekter er at du ikke kan lave godt arbejde og få det begravet af en idiotisk chef. Hvis din kode ikke kommer ud og bliver brugt, så er det din egen fejl - og det er meget frigørende, faktisk".

At indbyde alverden til at bidrage med løsninger indebærer også at man må acceptere at miste noget af kontrollen med sit program. Typisk er det en enkelt person eller en lille gruppe, der står for at koordinere og lede udviklingen af et program. Det er lederen, der afgør hvilke ændringer, der skal indarbejdes i den officielle version, men som Eric Raymond peger på, så kan der opstå uenighed og de utilfredse deltagere kan principielt vælge at gå videre med koden på egen hånd, i en konkurrerende version.
I praksis er det sjældent at der sker den type forgreninger, men det, at muligheden altid er tilstede, tvinger projektlederne til at være lydhøre og u-egennyttige i deres beslutninger.

Egoisme/altruisme
Umiddelbart kan meget open source software virke som det rene godgørenhed. Det er forbløffende hvor stor en indsats nogle hackere gør for at udvikle løsninger, som de ganske gratis lader alle andre få glæde af. Men efter Eric Raymonds er det helt forkert at betragte det som altruistisk.

"Altruisme findes ikke. Vi har et fælles mål; vi vil have de bedst tænkelige løsninger ud - og derfor overlapper mine egne interesser med det der er bedst for fællesskabet. Vi forsøger at gøre os nyttige, og der er en stor psykologisk belønning i at mærke andres erkendelse af ens arbejde. Men dybest set er det gode, vi gør for andre, en måde selv at få det bedre på", mener han.

 

Hackerens belønning er altså dels at opleve at der opstår bedre programmer, dels selve fornøjelsen ved at løse problemer på en elegant måde. Og endelig er der status; det giver anseelse blandt ligemænd at skrive de bedste løsninger.
Men hvad med pengene, man kan trods alt ikke leve af anseelse alene?

Dét har Eric Raymond tænkt en hel del over. Han har fundet frem til en stribe forskellige modeller for hvordan man gøre open source-udvikling til en forretning.
Selskabet "Red Hat" er et eksempel. Red Hat er en service og konsulent virksomhed, der tjener penge på at vejlede virksomheder, der bruger open source programmer.
IBMs storstilede satsning på Linux fungerer på samme måde. Når IBM sælger systemer, der kører Linux, er softwaren i sig selv gratis, men derfor er der stadig en glimrende forretning i instruktion, opsætning, vedligeholdelse osv.

En anden model er at udnytte det omdømme man har opnået i kraft af sine gode bidrag til open source projektet. En hacker, der har deltaget intenst i udviklingen af et program vil være langt mere troværdig som rådgiver for et firma, der vil anvende det program.

En tredje model er at bundle open source software med et andet produkt man sælger. Hvis man eksempelvis sælger netværks kort, kan det være smart at lade driver-softwaren til kortet være gratis og med fri adgang til koden. På den måde får kunderne mulighed for selv at udvikle nye muligheder, og det kan i sidste ende gøre det mere attraktivt for andre at bruge netop det netkort.

Køb en andel i udviklingen
Den mest interessante grænseflade mellem open source-filosofien og pengenes verden er måske de tilfælde, hvor et firma betaler deres ansatte for at deltage i et open source udviklingsprojekt.

Det er en model, der er i kraftig vækst. Eric Raymond skønner eksempelvis, at 40% af medlemmerne på Linux kernens mailingliste idag er aflønnet af selskaber for at arbejde med udviklingen af Linux.

Et andet eksempel er webserveren Apache: "Der er mange selskaber der har brug for en robust webserver i høj kvalitet - og Apache er den bedste af slagsen", siger Raymond: "Hvis det firma har særlige ønsker til Apache softwaren kan de hyre folk til at deltage i projektet på deres vegne, og til at hjælpe med at trække projektet i den retning selskabet ønsker".
Eric Raymond forventer at meget software fremover vil blive udviklet af konsortier af brugere, der har indset at de bedste løsninger opnås ved at lade kilden være åben.

" Selskaberne kunne selvfølgelig vælge at holde sig ude og bare bruge softwaren uden selv at bidrage, men ved at betale folk for at være involveret kan de bedre sikre sig at udviklingen holder tempoet. Man kan sige at de køber en andel i projektet. De får de features og den nytte de gerne vil have, men de behøver ikke at betale fuld pris, fordi de deler resultatet med alle andre", mener Eric Raymond.

Man kan synes at den strategi ikke er så forskellig fra den måde, industrien danner lukkede konsortier og alliancer omkring udvikling af standarder, eksempelvis indenfor operativsystemer til mobil-telefoner.
Raymond mener imidlertid, at de helt åbne projekter har den fordel, at langt flere og mere forskellige parter deltager i afprøvningen og videreudviklingen:
"Det er en fordel at du ikke kan forudsige, hvem der vil kigge på softwaren på forhånd. Det betyder at man må være meget mere omhyggelig når man skriver koden, for man ved, at det ikke kan lade sig gøre at feje bugs ind under gulvtæppet", mener han.

Effektivitet
Alt i alt mener Eric Raymond at man må spørge sig, hvad man overhovedet får ud af at organisere sig på den traditionelle topstyrede facon. Det kan hverken være pålidelig overholdelse af deadlines, overholdelse af budgetter eller overlegne specifikationer af software.

Raymonds påstand er, at projekter baseret på gaveøkonomi konsekvent overgår projekter af samme størrelse, der er baseret på lønninger.
"Folk arbejder bedre, når de selv kan vælge deres opgaver. Det er klart; de er bedre motiverede, og så vil de i gennemsnit gøre et bedre job. I open source projekter er næsten alle deltagere folk, der har valgt at deltage fordi de går lidenskabeligt op i projektet".

Men hvad så hvis man har brug for at styre et projekt i en bestemt retning, og ingen af programmørerne føler sig motiverede for det - hvorfor skulle et selskab betale løn, når de risikerer at de ansatte fører projektet i en helt anden retning end den firmaet har brug for?
Raymonds svar er at man må tænke i "pull" snarere end "push". Den sædvanlige strategi er "push"; enten makker du ret og arbejder på den her opgave - eller også må du sulte. I stedet tror Raymond på "pull"; selskabet må forklare hvorfor et projekt er interessant og forsøge at finde folk, de kan tiltrække til netop den opgave.

Man må sige at Raymond har den glød der skal til for at forkynde det glade open source-budskab. En interessant blanding af idealisme og benhård økonomisk nyttetænkning. Da Eric Raymond talte ved årets Linux forum i forskerbyen Symbion i København var det på en scene der var flankeret af bannere fra forummets sponsor, IBM. På bannerne stod fire budskaber: Et "peace" tegn, et hjerte, en Linux-pingvin og "IBM@™server".
Hippierne møder nørderne, sponsoreret af en gigantisk koncern. Det kan ikke slå fejl:
"Vi vinder", siger Raymond: "for man kan kæmpe mod det, der er bedre eller mod det, der er billigere - men man kan ikke vinde over begge dele".

http://www.tuxedo.org/~esr/writings/cathedral-bazaar/