Archive for February, 2007

Linux, Fri Programvare og Åpen Kildekode – hva er det egentlig?

Tuesday, February 13th, 2007

Jeg ble nylig spurt av en bekjent om hva alt dette med Linux og åpen kildekode var. Burde jo være perfekt for et laaangt blog-innslag. Altså:

De siste årene har bruken av fri programvare og åpen kildekode eksplodert. “Alle” har hørt om Linux, og mange synes det høres spennende ut med alternativer til markedslederne i dataverdenen. Like fullt er det ofte stor mangel på forståelse for opphavet til denne teknologien, ikke minst blant politikere og i massemedia. I det følgende prøver jeg å gjøre kort og populistisk rede for den historiske bakgrunnen til begrepene, og hva de betyr.

Fri forskning – et prinsipp for fall?

Selv om vi har fått nye begreper er ikke tankegodset bak fri programvare og åpen kildekode nytt. Opprinnelsen ligger i tradisjonen om fri forskning, særlig utbredt i universitetsmiljøer over hele verden. Grunntanken er at resultater fra et forskningsprosjekt fritt skal kunne brukes i videre forskning.

Nedstengningen av UNIX

Operativsystemfamilien UNIX ble utviklet blant annet i forskningsmiljøene ved AT&T og Berkeley-universitetet i USA. Tradisjonen tro fulgte stort sett all kildekode med på lasset om man kjøpte operativsystemet, til fordel for studenter, undervisning og forskning. Senere ble UNIX kommersialisert, og tilgang til kildekoden i stor grad stengt. Hovedregelen ble propritær programvare, og videre forskning og utvikling basert på UNIX utenfor etablerte baser ble vanskelig.

RMS og FSF

En som så med stor skepsis på denne utviklingen var Richard M Stallman, ofte kjent under sine initialer (RMS). Mens han var programmerer ved MIT startet han i 1984 The Free Software Foundation (FSF). FSF har som formålet å fremme utviklingen av “Free Software” – fri programvare, der “fri” betyr “frihet“, og ikke (nødvendigvis) “gratis”. Stallmans kongstanke er at programvare bør være som annen fri forskning. Om du har lyst til å endre et program, og dele endringene med andre, bør du ha rett til å gjøre dette. Å nekte noen denne friheten er etisk galt. Kildekoden til programvare må derfor gjøres tilgjengelig gratis, eller for en mindre avgift som dekker kostnader til distribusjon.
For at et program skal klassifiseres som fri programvare etter prinsippene til FSF kreves det altså at:

  • Kildekoden er tilgjenglig, slik at man kan lese den, forstå den, og gjøre de endringer man har lyst til eller behov for.
  • Endringer du gjør må fritt kunne distribueres til andre.

GPL-lisensen

FSF vedlikeholder en standard-lisens, The General Public License (GPL), som sørger for at programmer oppfyller disse kravene. Alle står fritt til å bruke denne lisensen for programmer man utvikler. GPL går gjerne under det populære navnet “Copyleft“, ettersom den gjerne fremstilles som Copyright snudd på hodet. Uvikler man ny programvare basert på andre verk som er dekket av GPL, må også det nye verket dekkes av GPL. Denne “smitteeffekten” er omdiskutert i noen miljøer, og det finnes lisenser som defineres som fri programvare, også av FSF, men som ikke stiller like strenge krav som GPL gjør.

GNU-prosjektet – et komplett operativsystem

FSF har mange prosjekter, ikke minst kampen mot programvarepatenter. Men det viktigste er GNU-prosjektet, som har som formål å skape GNU-systemet, et komplett UNIX-aktig operativsystem, med alle brukerprogrammer man har behov for, bestående utelukkende av fri programvare. Tiltaket ble populært i programmeringskretser, for mye programvare av svært høy kvalitet ble gjort tilgjengelig for alle som ønsket det.

Linux – kjernen som manglet

GNU-prosjektet produserte mye programvare, men manglet en kritisk del for å få operativsystemet ferdig: Selve kjernen. Kjernen i et operativsystem styrer prosessers bruk av maskinvaren i datamaskinen, dvs prosessor, minne, disk-enheter, nettverks- og grafikkort, filsystemer, osv. Stallman & Co hadde store vyer for GNU-prosjektet, og la lista høyt for kjernen sin. I mellomtiden hadde en student i Finland, Linus Thorvalds, laget en liten UNIX-liknende kjerne som hovedfagsoppgave. Muntert oppkalt etter seg selv gav han den navnet Linux, og tilpasset den slik at den kunne kjøre programvare fra GNU-prosjektet. Resultatet postet han i nyhetsgrupper på Internett, og lot det være fri programvare under GPL.

Linux-distribusjoner og kommersielle aktører

Resultatet lot ikke vente på seg. Med Linux som kjerne var GNU-systemet komplett nok til å kunne brukes selvstendig. Utviklingen skjøt fart, godt hjulpet av Internett og et stadig voksende fellesskap av frivillige programmerere over hele verden. Programpakker fra GNU-prosjektet, og annen fritt tilgjengelig programvare ble tilpasset Linux. Etter hvert fikk kommersielle leverandører øynene opp for fenomenet, og pakket sammen delene til et ferdig operativsystem, med installasjons-CD’er og brukermanualer, klappet og klart i papp og krympeplast for salg over disk (eller over Internett). En slik ferdig samling kalles gjerne en Linux-distribusjon.

Populære distribusjoner i dag er f.eks Red Hat og SuSE (nylig kjøpt opp av Novell).

På sett og vis kan man si at GNU-prosjektet kom i havn med Linux som kjerne. FSF insisterer derfor gjerne på å kalle de ferdige distribusjonene for GNU/Linux.

Andre frie operativsystemer

I skyggen av Linux finnes det andre frie operativsystemer. De mest kjente er BSD-familien der FreeBSD har størst utbredelse. BSD’ene er basert på den UNIX-varianten som ble utviklet på Berkeley-universitetet, men som er renset for alle propritære deler, og slik er minst like “fri” som Linux. Apple sitt nyeste operativsystem for bruk på moderne Macintosh-maskiner, OSX, er basert på FreeBSD, og det finnes programvare fra de frie BSD’ene både i Windows og kommersielle versjoner av UNIX.

Mindre politikk – mer resultater

Richard Stallman og FSF sin politikk blir av mange sett på som ekstrem og nærmest religiøs. Mange synes også at selve begrepet “Free Software“, lett feiltolket som gratis programvare, kan være skremmende og misledende, særlig i økonomiske sammenhenger. Med kommersiell utnyttelse oppsto det et behov for å tone ned det politiske budskapet, og heller vise til resultatene som kunne oppnås ved bruk av de metoder som oppsto med framveksten av Internett og fri tilgang til kildekode.

The Browser Wars

Mot slutten av “The Browser Wars”, da Netscape og Microsoft konkurrerte om å levere den ledende nettleseren, gjorde Netscape det klart at de ønsket å gjøre kildekoden sin tilgjengelig for verden. De ønsket imidlertid ikke knytte seg for tett til det politiske budskapet til FSF, og lanserte i stedet et nytt begrep, Open Source – åpen kildekode.

Open Source – Åpen kildekode

Begrepet Open Source setter fokus på metoden som brukes for å utvikle programvare der kildekoden er tilgjengelig for alle. Forkjemperne hevder at denne modellen er svært attraktiv og gir gode økonomiske resultater. Eksempler på argumenter som brukes er

  • Rask og effektiv utvikling på tvers av geografiske og politiske skiller
  • God tilgang til motiverte testere som effektivt finner feil, og ofte kommer med konkrete forslag til endringer og forbedringer
  • Sikkerhet for investeringer – programvaren dør ikke om et firma går konkurs. Og er man ikke fornøyd med et uviklerselskap kan man ta med seg kildekoden og gå til konkurrenten.

En av dem som var med i gruppa som fant på begrepet, Eric S. Raymond, startet sammen med Bruce Perence “The Open Source Initiative” (OSI). OSI forsøker å samle lisenser og retningslinjer for bruk av åpen kildekode under en felles paraply. OSI jobber også for åpne dokumentstandarder og filformater, slik at disse kan brukes på tvers av operativsystemer og programplattformer.

Oppsummering

Fenomenet Linux og annen populær programvare der kildekoden er tilgjengelig, kan virke som en nyskapning, men prinsippene bak er ikke nye. Tankene som står som basis for den frie forskningen er grunnlaget også for fri programvare og åpen kildekode.

Fri programvare og åpen kildekode er samme fenomen sett fra forskjellige ståsteder – utvikling og videreutvikling av programvare der kildekoden er tilgjengelig for alle, og deles videre. Med begrepet fri programvare legger man vekt på politiske og etiske aspekter. Med begrepet åpen kildekode legger man vekt på økonomiske og tekniske aspekter.

Hvilken fremtid har Linux og åpen kildekode?

6 av 10 nettsteder på Internett kjører på åpen kildekode. Multimilliard-selskaper som Sun, Novell og Oracle satser på Linux som sin primære plattform. I Norge baserer svært synlige mediebedrifter som NRK, VG, Dagbladet, Aftenposten, A-pressen, og Eniro sine nettsider på programvare med Linux og fri programvare som plattform. I servermarkedet er det ingen som lenger ser på åpen kildekode som noe sjeldent og rart.

Det neste paradigmet er skrivebordet. Med stadig innsig i skoler og offentlig sektor for øvrig blir det spennende å se hvilken vei utviklingen vil gå.