En presentation av öppen källkod
Den här sidan sammanfattar anteckningarna inför en presentation av öppen källkod hos Dataföreningen 11 mars 2003. Dessa anteckningar anknyter även till tidigare presentation från 9 januari och en artikel om öppen källkod.
Presentationen skall ge en hastig översikt av det mesta inom öppen källkod. Det ligger i sakens natur att översikten därmed blir tämligen grov. Det finns också saker jag inte kommer att gå in på: Jag kommer inte att försöka förklara olika licensmodeller och jag kommer inte att tala särdeles mycket om Linux.
Språkbruk
Fri programvara och öppen källkod är i stort sett synonymer i sammanhanget, även om begreppet fri programvara i vissa sammanhang inkluderar mer av bakomliggande filosofi. Varför skriver jag då öppen källkod (open source) och inte fri programvara (free software)? Det är inte ett ställningstagande i fråga om den rivalitet som finns mellan de grupper som lanserat respektive benämning, utan ett utslag av pragmatism. När man talar om fri programvara tvingas man alltid börja med att förklara att man faktiskt menar fri, i ordets sedan länge etablerade svenska betydelse, inte gratis. När jag nämner en fri människa menar jag alltså definitivt inte en slav som någon har fått till skänks. Fri programvara kan mycket väl vara program jag har betalat för och program jag har fått gratis behöver inte vara fri programvara. För att minska antalet missförstånd på den punkten skall jag hålla mig till termen öppen källkod.
Definitioner och principer
Det centrala ifråga om öppen källkod är att den som får använda programmet också har rätt att läsa och ändra koden. Ytterst är det vad det handlar om. Till detta brukar man även foga rätten att sprida sina rättelser och ändringar.
Ett annat sätt att formulera saken är att användaren får tillgång till källkoden för programmet, så att användaren själv kan rätta fel och göra förbättringar i programmet, eller anlita någon programmerare som kan göra det.
Det finns ett antal sätt att formulera och precisera denna princip. De mest spridda är de som finns hos Open Source Initiative på http://www.opensource.org/docs/definition.php respektive hos Free Software Foundation på http://www.gnu.org/philosophy/free-sw.html.
Principerna bakom öppen källkod kan formuleras såväl i idealistiska som i högst pragmatiska termer. Den filosofiska aspekten har sin givna plats, men för de flesta som använder sig av program med öppen källkod är det de pragmatiska sidorna som är väsentliga. öppen källkod leder helt enkelt ofta till att program utvecklas snabbare och blir bättre.
Hur och varför öppen källkod?
Egentligen är öppen källkod ingenting nytt. GNU-projektet har varit igång sedan 1984. Open Source Initiative tillkom 1998. Eric Raymonds berömda essä "The Cathedral and the Bazaar" skrevs 1997. I termer av datorutveckling har det redan gått ganska lång tid sedan dess. Dock existerade naturligtvis kod i "public domain" långt tidigare än så.
Frågan varför man väljer öppen källkod för ett projekt har många svar. Troligen är kvalitetsaspekten central i de flesta fall. När fler programmerare får tillfälle att felsöka och rätta kod blir resultatet bättre kod. Denna ständigt pågående granskning påverkar dock inte bara själva kodens kvalitet, utan också den övergripande designens. Dessutom får man en stor mängd testare som levererar upprepningsbara felrapporter, vilket är en nyckel till att snabbt kunna finna och åtgärda fel.
Frågan varför man väljer att använda sig av en produkt med öppen källkod besvaras enklast med att man väljer enligt sina vanliga kriterier för den sorts system man för tillfället är ute efter. Sedan skulle jag hävda att om man väljer mellan två program som båda uppfyller kraven avseende funktionalitet, prestanda med mera, är det att betrakta som en fördel om det ena av dem har öppen källkod.
Ur praktisk synpunkt är det ganska få användare som går in och gör egna ändringar i spridda och väletablerade program som Apache, MySQL eller Linux-kärnan. Ändå är det en poäng att de kan göra det. Var och en kan hitta ett fel eller en funktion som hon vill förändra, göra sin ändring och använda sig av resultatet.
Kontroll ger trygghet
Med proprietär programvara har man ytterst gjort sig beroende av en programleverantör. Med öppen källkod har man alltid möjligheten att sparka ut en leverantör som inte motsvarar förväntningarna och skaffa en ny leverantör - till samma system. Man kan heller aldrig tvingas taga ett system ur bruk för att tillverkaren inte längre tillhandahåller support. Om systemet är stabilt och bra nog att hålla några år till kan man välja att köpa support av någon tredje part, alternativt se till att ha kompetens för det inom organisationen.
Det handlar inte om att det ena eller andra proprietära programmet skulle vara dåligt. Det finns många som är mycket bra. Vad det handlar om är att det också finns en stor mängd program med öppen källkod som är mycket bra. De programmen ger dessutom en extra trygghet i och med att de har öppen källkod. Titta gärna på Statskontorets rapport om öppen programvara, www.statskontoret.se/op.
Öppen källkod har givetvis såväl nackdelar som fördelar. Men jag vill särskilt framhäva denna fördel: Öppen källkod ger inte bara goda möjligheter till bättre kvalitet, framför allt ger det kontroll och därmed trygghet.
Monika Orski
M Orski Konsult
monika@orski.se
Hemsida för nätverket inom DFS, http://www.dfs.se/kretsar/sthlm/natverken/opensource/