Fri programvare

Når jeg begynte som IT-strateg i Buskerud fylkeskommune høsten 2002 begynte jeg å lese offentlige dokumenter som omhandlet IT i det offentlige. Noen kapitler handlet om åpen kildekode. Åpen kildekode? Nei, det hadde jeg aldri hørt om. Hva i all verden var det?

Fra min tidligere jobb i IT-bransjen visste jeg om den ideelle organisasjonen Norwegian Unix User Group (NUUG). Jeg visste at de var en helt sentral aktør i etableringen av Internett i Norge (gjennom sitt selskap EUnet) og jeg visste at de arbeidet for å fremme bruken av operativsystemet Unix, unix-lignende operativsystemer og fri programvare generelt.

Fri programvare?

Gratis programvare hadde jeg hørt om, men fri programvare? Nei, det var et ukjent begrep. Har det noe med gratis programvare å gjøre? Dette opplevde jeg som forvirrende i starten, og jeg har stor forståelse for de som idag møter disse utrykkene og ikke helt forstår hva som ligger i begrepene. Men det skulle vise seg at det ikke var helt enkelt å forklare disse begrepene på et enkelt, forståelig språk, ej heller ovenfor IT-kolleger. Tilhører du den gruppen mennesker som ser litt stort på ting, og som ikke har interesse av å vite alle detaljene rundt dette, så har jeg kommet fram til følgende, forenklede forklaring: Åpen kildekode og fri programvare er det samme, punktum.

Noen benytter det ene begrepet, andre det andre begrepet. Åpen kildekode er en litt dårlig oversettelse av det engelske begrepet Open Source Software. En mer korrekt oversettelse ville vært programvare med åpen kildekode, heretter kalt åpen kildekode. Eller åpen programvare, som også noen benytter.Men altså, i en forenklet verden, så konstaterer vi at begrepene handler om det samme. Det gamle utrykket «kjært barn har mange navn» gjelder (dessverre?) her som så mange andre steder. Siden organisasjonen NUUG og mange av de som utvikler denne type programvare bruker begrepet fri programvare, så har jeg valgt å benytte det samme begrepet. Gjennom en periode på ca to år (2005-07), så har mange engasjert seg i å samle seg om begrepet fri programvare. Mye tyder på at man har lykkes med det.

Men hva er det så som ligger i disse begrepene? Hva er det det handler om? Slik jeg ser det, så handler det om en alternativ måte å utvikle programvare på og en brukers rettigheter i forhold til hva han kan gjøre med programvaren.

En alternativ måte å utvikle programvare på? De fleste av oss har erfart at oppgaver kan løses på mange forskjellige måter. Produkter kan utvikles på mange forskjelige måter. Slik er det med programvare også. Normalt utvikles programvare innenfor en «bedrifts fire vegger», og de røper ikke detaljene for hvordan programmet er laget. For de fleste brukere er det jo heller ikke spesielt interessant å vite hvordan en dataprogram er laget. Men for andre programvareutviklere, og ikke minst for studenter som skal lære å utvikle god og stabil programvare, så kan det være kjekt å studere hvordan programmet er laget. For å gjøre det, må man ha tilgang til selve programkoden, den såkalte kildekoden. Derav begrepet åpen kildekode.

Fri programvare er altså programvare hvor kildekoden er fritt tilgjengelig. Fri programvare kan utvikles innenfor en «bedrifts fire vegger», men i en større undersøkelse utført for EU-kommisjonen høsten 2006, ble det avdekket at hele 70% av den frie programvaren ble utviklet av enkeltpersoner på frivillig basis. Skal du kunne delta i utviklingen av fri programvare må du selvfølgelig ha tilgang til selve programkoden (kildekoden).

Men det at du som bruker har tilgang til selve kildekoden er vanligvis kun en av de rettighetene du får med fri programvare. Det er opphavsmannen (en enkeltperson eller et selskap) til programvaren som bestemmer hvilke rettigheter han vil gi deg som bruker. Disse rettighetene er beskrevet i en avtale mellom deg og opphavsmannen. Denne avtalen kalles for en programvarelisens, ofte bare omtalt som en lisens. Du må godta betingelsene i denne lisensen (i avtalen altså) for å kunne installere og bruke programvaren.

Fri programvare benytter en lisenstype som gir deg en rekke rettigheter, vesentlige flere rettigheter enn hva som vanligvis er tilfellet med «vanlig» programvare. Disse rettighetene gir deg en stor grad av frihet, frihet ikke bare til å studere kildekoden, men også til å endre den. Som vanlig bruker vil du nok sette større pris på friheten til å gi bort en kopi av programvaren. Derav begrepet fri programvare.

«Vanlig» programvare er programvare som har en lisens som vanligvis gir deg svært få rettigheter, og som har en lisenskostnad. Eksempel på slik programvare er produktene fra programvareselskapene Microsoft, Adobe og Oracle. Slik programvare kalles ofte for proprietær, lukket, bundet eller ufri programvare. Når du installerer slik programvare, må du godta lisensbetingelser som begrenser hva du kan gjøre med programvaren, i motsetning til fri programvare, hvor du får stor grad av frihet til å bruke programvaren slik du selv vil, inkludert å kopiere den og gi den videre til andre. Denne friheten, eller sagt på en annen måte; dine rettgheter som bruker, er beskrevet i en lisens, en fri programvarelisens. Det har jeg skrevet mer om i en annen artikkel.

Fri programvare har vanligvis ingen lisenskostand knyttet til seg, ofte kan du laste den ned gratis fra Internett. Men du kan også kjøpe programvaren og få tilsendt CD-er. Da er kostnaden ofte mer knyttet til selve produksjonen og forsendelsen av CD-ene enn til selve programvaren. Det betyr at fri programvare er svært rimelig å anskaffe (men kan for bedrifter og offentlige virskomheter være omtrent like kostbar å bruke. Det koster å drifte IT-systemer, uansett om virksomhetens systemer er basert på fri programvare eller «vanlig» (proprietær) programvare).

Gratis programvare forbindes vanligvis med «vanlig» programvare som gies bort. Ofte får du da en begrenset versjon (en demo, en tidligere versjon eller en versjon som kun gjelder for et gitt tidsrom). For å installere programvaren, må du godta en lisens som vanligvis er lik den fulle versjonen av progravaren (altså en lisens med begrensede rettigheter; du kan f.eks. normalt ikke kopiere programvaren og gi den bort til andre). I FriProg-magasinet nr 1/2007 skrev jeg en artikkel om hva som er forskjellen på gratis programvare og fri programvare (pdf-fil).

Jeg må innrømme at når jeg satt på kontoret og leste om dette høsten 2002/våren 2003, ble jeg mer og mer fasinert over denne enorme dugnadsånden, dette merkelige fenomenet som gjør at programvareutviklere verden over, bruker egen tid, eller av bedriftens tid, til å utvikle programvare. Og det mest utrolige er at det meste av fri programvare kan lastes ned gratis over Internett. Dette høres nesten ut til å være for godt til å være sant. Men jo mer jeg studerte dette, jo mer lærte jeg om dette kanskje enestående fenomenet. Jeg har i ettertid fått bekreftet i mange sammenhenger at det frie programvaremiljøet produserer god, funksjonsrik og stabil programvare. Det tror jeg faktisk er tilfellet.

Så hvorfor benytter så ikke flere fri programvare?

Ikke minst i offentlig sektor? Det var det store spørsmålet jeg satt igjen med en høstdag i 2003. Hvilke skritt jeg så tok, kan du lese i en annen artikkel jeg har skrevet.

Er du av den typen som ønsker å komme til bunns i en sak, som vil vite eksakt hvordan dette henger sammen, ja så får du en lengre forklaring her.