Hvorfor fri programvare er en god idé i offentlig sektor
Det siste året har det vært et økende fokus på bruk av fri programvare i det offentlige. Diskusjonene raser i mange medier, og på tvers av fagområder, hvor vidt dette er en god idé. Jeg synes mange av diskusjonene til en viss grad bærer preg av usaklighet, manglende fakta eller at forskjellige momenter blir mikset sammen til en stor suppe.
I denne artikkelen prøver jeg å forklare hva jeg oppfatter som hovedpoengene med bruk av fri programvare i det offentlige, og hvorfor jeg synes dette er et veldig bra initiativ.
Hva menes med “fri programvare”?
Fri programvare er programvare der kildekoden er fritt tilgjengelig. Det vil si at man kan laste ned og se på kildekoden. Man kan også gjøre endringer av kildekoden, og distribuere disse endringene til andre. Mange tenker på fri programvare som “gratis programvare”. Det er egentlig feil, da fri betyr noe annet enn gratis i denne sammenhengen. Friprogsenteret har en fin artikkel som forklarer dette litt mer detaljert.
Det er flere måter man kan benytte seg av fri programvare. Jeg velger å skille på to hovedmåter:
- Bruk av eksisterende fri programvare – Med dette mener jeg ferdige produkter eller rammeverk som man benytter som de er.
- Tilgjengeliggjøre egne ting som fri programvare – Med dette mener jeg at det man utvikler gjøres tilgjengelig som fri programvare.
Det er viktig å skille mellom disse punktene. Det er for eksempel et hav av forskjell mellom det å ta i bruk OpenOffice som kontorløsning i en organisasjon, eller det å tilgjengeliggjøre en egenutviklet applikasjon som fri programvare. I det første tilfellet er det helt andre krav som må stilles og vurderinger som skal gjøres enn i det andre.
I de følgende kapitlene prøver jeg å redegjøre for hvilke fordeler jeg ser ved å benytte fri programvare. Først noen generelle fordeler ved å bruke eksisterende fri programvare, deretter noen fordeler ved å tilgjengeliggjøre offentlig programvare som fri programvare.
Fordeler ved bruk av fri programvare
Dette er en av de mest omdiskuterte temaene innen benyttelse av fri programvare, og kanskje også det folk flest tenker på når de hører ordene “fri programvare”. Når er det riktig å vurdere å bruke fri programvare fremfor proprietær? I de fleste tilfeller vil det være en avveiing mellom mange forskjellige faktorer. Noen fordeler med å velge fri programvare kan være:
- Direkte lisenskostnader – Fri programvare har som regel gratis lisenser, eller i hvert fall vesentlig billigere lisenser enn proprietær programvare.
- Tilgang til hjelp/support – Alle etablerte prosjekter basert på fri programvare har åpne miljøer hvor alle kan finne informasjon og få hjelp. Mailinglister, forum, wikier osv. er vanlige verktøy. For proprietær programvare må man ofte betale for tilgang til slike verktøy. Når verktøyene er åpne vil det bli langt enklere å finne informasjonen man er ute etter ved å søke på Google e.l.
- Tilgang til koden – Siden man har tilgang til koden er det enklere for tekniske ressurser å finne feil/gjøre endringer på produktet selv. Man trenger ikke vente på patcher eller andre tidkrevende prosesser hos programvareleverandøren.
- Spisset funksjonalitet – Fri programvare er som regel skrevet for å løse spesifikke problemer, ikke tjene penger. Altså er kanskje produktet ofte mer rettet mot nøyaktig den oppgaven som skal utføres, og inneholder ikke alt mulig annen funksjonalitet som man “kanskje får bruk for”.
- Bedre sikkerhet – Dette er et omdiskutert tema. Jeg vil påstå at ved å gjøre kildekoden tilgjengelig er det enklere å avdekke og få tettet sikkerhetshull. Motstandere vil hevde at sikkerheten er bedre i proprietær programvare, men hvem kan egentlig vite dette? Skal man bare stole blindt på hva en leverandør forteller deg om sikkerheten? Eller ønsker du muligheten til å sjekke det selv?
Alle disse punktene er interessante å ta med i betraktningen når man vurderer å ta i bruk fri programvare. Det gjelder både ved første gangs anskaffelse eller om man søker å bytte ut proprietære produkter. Om det er lurt å ta i bruk fri programvare vil være noe man må bedømme i hvert enkelt tilfelle, og det er ikke noen prinsipielle forskjeller mellom private bedrifter og det offentlige i behov og krav.
Så bruk av fri programvare er altså en vurdering som må gjøres ut fra konkrete behov. Når det gjelder tilgjengeliggjøring av fri programvare mener jeg det er en annen sak. Her mener jeg spesielt det offentlige har store fordeler å hente.
Fordeler ved å tilgjengeliggjøre offentlig utviklet programvare som fri programvare
Det brukes veldig mye offentlige midler i Norge på utvikling av programvare. Store prosjekter der mange konsulenter jobber over lengre tid for å utvikle mer eller mindre skreddersydd funksjonalitet. Hvilke fordeler vil man ha ved å ta i bruk fri programvare og prinsipper på disse prosjektene?
I følgende liste prøver jeg å oppsummere hvorfor det kan være lurt å vurdere å frigi offentlige utviklingsprosjekter som fri programvare:
- Deling mellom offentlige enheter – Ved å tilgjengeliggjøre ting som fri programvare er det enklere for andre å ta del av investeringer som allerede er gjort. For eksempel vil en kommune kunne ta i bruk et system en annen kommune har betalt for å utvikle.
- Ingenting å tape – Det er ingen konkurranse i offentlig sektor. Man har ingen hemmeligheter å “miste” ved å frigi programvaren som utvikles, kun fordeler.
- Større konkurranse mellom leverandører – Når koden er tilgjengelig vil det være enklere for leverandører å gi nøyaktige og kvalifiserte tilbud på utvidelser og ny funksjonalitet. Alle kan “lære seg” systemet på forhånd, og man slipper å gjette på hvordan ting fungerer.
- Bedre kvalitet – Hvis man vet at det man lager skal legges ut fritt tilgjengelig vil man kanskje fokusere på å ha en kodemessig kvalitet som er høyere enn det man vanligvis ville gjort?
- Ekstra kvalitetssikring – Når alle har tilgang vil terskelen for å komme med innspill bli vesentlig lavere. Det kan oppleves som kritikk mot prosjektet, men er jo i virkeligheten kun gratis kvalitetssikring. Et godt eksempel er diskusjonen som oppstod på digi.no ifm. den nye reiseregningsapplikasjonen.
- Offentlige midler -> offentlig produkt – Når man bruker offentlige midler på utvikling er det rimelig å kunne kreve at resultatene blir tilgjengelige for folk flest. Et godt eksempel på dette er frigjøringen av data fra yr.no. Selv om dette gjelder data, og ikke programvare, er prinsippet som følges nøyaktig det samme.
Jeg klarer i grunn ikke se noen større grunner til at offentlige prosjekter ikke skal kunne tilgjengeliggjøres som fri programvare. Det er heller ingen motsetninger mellom tilgjengeliggjøring av fri programvare og bruk av proprietær programvare. Det er ingen grunn til at programvare utviklet på for eksempel Microsoft-teknologi (.NET e.l.) ikke kan tilgjengeliggjøres som fri programvare. Man kan fint tilgjengeliggjøre kildekoden selv om den er avhengig av Windows, Sharepoint eller andre Microsoft-teknologier for å kjøre. Grunnen til at jeg tok med dette eksempelet er at Microsoft har uttalt seg kritisk mot statens satsing på friprog-løsninger, for eksempel i Teknisk Ukeblad. Sikkert fordi de er redd for ikke å selge like mye Windows og Office til staten i fremtiden, men dog nokså usaklig og lite gjennomtenkt utspill synes jeg.
Konklusjon
Fri programvare i offentlig sektor er en viktig sak. Det er flott å se at det er mye engasjement knyttet til dette.
Når det gjelder ren bruk av fri programvare mener jeg det må gjøres vurderinger i hvert enkelt tilfelle. Skal man gå over til Linux i stedet for Windows i skolene? Burde statens utelukkende bruke OpenOffice fremfor Microsoft Office? Er Firefox et bedre alternativ som standard browser på offentlige datamaskiner fremfor Internet Explorer? For å svare på disse spørsmålene må man vurdere fordeler og ulemper; typisk modenhet på produktene, funksjonalitetsområdene de dekker, prisen, opplæringstiden osv.
Når det gjelder å tilgjengeliggjøre det som utvikles i offentlig regi som fri programvare er jeg ikke i tvil. Staten har ingenting å tape på det, så det burde bli en standard og et krav som settes fra starten av i alle prosjekter. De eneste som taper på dette er selskaper som har et monopolistisk leverandør-forhold til staten som de ikke ønsker å gi slipp på. Alt som utvikles for offentlige midler bør i utgangspunktet være offentlig tilgjengelig!
Diverse linker/referanser:
- Friprogsenteret – Hva er fri programvare?
- Friprogsenteret
- Reiseregningen – Statens første friprog løsning (+ diskusjon)
- Diverse Teknisk ukeblad artikler:
Flott artikkel – er enig i det du skriver
Når det gjelder fordeler vil jeg bare legge til at den åpne tilgangen til hjelp/support er viktig – den betyr at man har flere mulige kilder for slik hjelp/support. Man kan kjøpe den fra andre aktører, utføre det selv, leie inn konsulenter til å gjøre det – mange muligheter. Med lukket programvare er man låst inne og prisgitt leverandøren – lite heldig sett fra kundens ståsted…
Tilgangen til koden gjør deg også mindre sårbar mot evt endringer fra programvareleverandørens side – det være seg nye versjoner (for eksempel i forbindelse med oppkjøp / konsolidering) eller om leverandøren skulle gå under… Med fri programvare har man alltids mulighet til å gjøre videreutvikling selv / leie inn noen / kjøpe det.
Tilgjengeliggjøring av offentlig kode som fri programvare bør være standard – man bør kunne forvente at det ikke sløses med offentlige midler gjennom at lik programvare utvikles samtidig mange steder. Her har man vel egentlig en plikt til å legge til rette for andres bruk.