Formål og målgruppe
Denne veilederen skal hjelpe offentlige virksomheter med å bruke, dele og bidra til åpen kildekode på en ansvarlig og praktisk måte. Den er særlig relevant deg som tar beslutninger om digitale løsninger. Veilederen er overordnet. Den skal gi nok støtte til å komme i gang, og vi planlegger å utdype ulike tema videre i egne moduler.
Hvorfor er åpen kildekode viktig for offentlig sektor?
Åpen kildekode gir offentlig sektor større åpenhet, kontroll og handlingsrom. Løsninger kan lettere gjenbrukes og videreutvikles i fellesskap, samtidig som kildekoden gir bedre muligheter for innsyn og etterprøving. Dette er særlig viktig når digitale løsninger påvirker innbyggere og samfunnsfunksjoner, og når kunstig intelligens tas i bruk i offentlig sektor.
Åpen kildekode bidrar til mer rettferdig konkurranse ved at flere leverandører kan bygge videre på eksisterende løsninger og konkurrere om drift, forvaltning og videreutvikling.
Mange offentlige virksomheter ønsker å bruke mer åpen kildekode, men diskusjonen knyttes ofte til risiko og sikkerhet. Samtidig bygger de fleste moderne digitale løsninger allerede på åpne komponenter, også når løsningene leveres av kommersielle leverandører. Web- og skyløsninger kan være avhengige av hundrevis eller tusenvis av slike komponenter.
Risiko i programvareforsyningskjeden oppstår derfor ikke først når virksomheten velger åpen kildekode. Den er allerede en del av dagens digitale infrastruktur. Det sentrale spørsmålet er hvordan virksomheten får oversikt over avhengighetene og forvalter dem på en ansvarlig måte.
Ansvarlig bruk stopper heller ikke ved egen virksomhet. Når offentlig sektor er avhengig av åpne komponenter og prosjekter, bør den også vurdere hvordan den kan bidra tilbake gjennom krav i anskaffelser, finansiering, deling, vedlikehold eller aktiv deltakelse i utviklingsmiljøene.
EU peker på åpen kildekode som et virkemiddel for interoperabilitet, digital suverenitet og bedre gjenbruk i offentlig sektor. Det gjør kompetanse om bruk, deling og bidrag stadig viktigere også for norsk offentlig sektor.
For virksomhetene betyr dette først og fremst tre ting: bruk åpne løsninger bevisst, del det dere selv utvikler når det er forsvarlig, og ta ansvar for de åpne komponentene dere er avhengige av.
Hva mener vi med åpen kildekode?
Åpen kildekode er programvare der kildekoden er tilgjengelig, og der en åpen lisens gir rett til å bruke, studere, endre og dele programvaren og kildekoden videre. Dette bygger på definisjonen fra Open Source Initiative (OSI).
Åpen kildekode må ikke forveksles med åpne standarder. Åpne standarder beskriver hvordan systemer og løsninger kan samhandle, mens åpen kildekode handler om tilgang til og rettigheter til selve programvaren og kildekoden. De to utfyller ofte hverandre.
Åpen kildekode betyr ikke at programvaren er uten kostnader. Drift, forvaltning og videreutvikling må fortsatt finansieres.
For offentlig sektor bør åpen kildekode ses som en del av hele livsløpet til digitale løsninger – fra valg og anskaffelse til utvikling, deling, drift, videreutvikling og bidrag tilbake til fellesskapet.
Åpen kildekode som hovedregel
Når offentlig sektor utvikler programvare selv eller får det utviklet for offentlige midler, bør kildekoden som hovedregel gjøres åpent tilgjengelig under en åpen lisens.
Planlegg for åpenhet fra starten, og publiser koden så tidlig som mulig når det er forsvarlig. Gjør deling til en del av utviklings- og forvaltningsløpet, slik at åpenhet, dokumentasjon og tydelig ansvar bygges inn fra starten.
Vurder hva som kan deles innenfor hensynet til blant annet personvern, sikkerhet, juridiske forhold, og tredjepartsavhengigheter. Hvis hele løsningen ikke kan åpnes, vurder hvilke deler som likevel kan deles, for eksempel kildekode, dokumentasjon, eller testverktøy.
Hovedregelen følges opp gjennom tre anbefalinger for hvordan offentlig sektor bør bruke, dele og bidra til åpen kildekode.
Anbefalinger: bruk, del og bidra
Anbefalingene dekker ulike deler av livsløpet: hva dere bygger løsningene på, hva dere gjør tilgjengelig for andre, og hvordan dere tar ansvar for den åpne programvaren dere selv er avhengige av.
Bruk: vurder åpen kildekode først
Undersøk om eksisterende åpen kildekode kan dekke behovet eller brukes som utgangspunkt før dere utvikler eller kjøper noe nytt.
Vurder kvalitet, sikkerhet, drift, vedlikehold, kompetanse og kostnader gjennom hele livsløpet. Skaff oversikt over komponenter, avhengigheter og lisenser, og still krav som gjør det mulig å videreutvikle løsningen eller bytte leverandør senere.
Bruk åpne løsninger, åpne grensesnitt og kontroll over egne data til å bevare endringsevne og digitalt handlingsrom. Unngå unødvendig innlåsing i enkeltleverandører, teknologier eller forvaltningsmodeller.
Dersom det finnes et velfungerende marked, er det viktig at det gjøres en vurdering av om krav om åpen kildekode kan ha negative effekter på anskaffelsen. Vurder markedet grundig før anskaffelser og investeringsbeslutninger, og gå i dialog med eksisterende leverandører. Det er viktig at virksomheten ikke bare ser på sitt eget behov i denne sammenheng.
Målet er ikke å velge åpen kildekode uansett, men å vurdere det først og velge det når det samlet sett er et godt og forsvarlig alternativ.
Del: åpent som hovedregel
Publiser programvare som utvikles for offentlige midler under en åpen lisens når det er forsvarlig.
Deling handler ikke bare om gjenbruk. Åpen kildekode gir også innsyn og mulighet for etterprøving av digitale løsninger offentlig sektor utvikler og bruker. Dette er særlig viktig når løsningene påvirker rettigheter, tjenester og samfunnsfunksjoner.
Gjør koden mulig å forstå og ta i bruk. Sørg for tydelig lisens, god dokumentasjon, kontaktpunkt og avklart ansvar for videre forvaltning.
Skjerm det som må skjermes, men ikke hold hele løsningen lukket dersom begrensningen bare gjelder enkelte deler.
Bidra: sikre den digitale grunnmuren
Kartlegg hvilke åpne prosjekter og komponenter virksomheten er avhengig av, og vurder hvordan dere kan bidra tilbake til dem.
Bidra med det som gir størst verdi: kode, feilretting, dokumentasjon, testing, sikkerhetsarbeid, deltakelse i fagmiljøer eller finansiering. For kritiske avhengigheter bør virksomheten aktivt bidra til at prosjektet har nødvendig vedlikehold, sikkerhetsoppdateringer og bærekraftig videreutvikling.
Bruk også bidrag som en måte å bygge kompetanse og få større innsikt og innflytelse i programvare virksomheten er avhengig av.
Å bidra tilbake er en del av ansvarlig forvaltning av den digitale grunnmuren offentlig sektor bygger på.
Hva får dere igjen?
Åpen kildekode kan gi offentlig sektor større kontroll over digitale løsninger gjennom hele livsløpet. Gevinstene kommer ikke av seg selv, men når åpenhet kombineres med god styring, kompetanse og langsiktig forvaltning.
Større handlingsrom over tid
Digitale løsninger i offentlig sektor har ofte lang levetid. Behov, leverandører, teknologi og rammebetingelser kan endre seg flere ganger i løpet av denne perioden.
Med tilgang til kildekoden og nødvendige rettigheter står virksomheten friere til å videreutvikle løsningen, bytte leverandør eller endre forvaltningsmodell. Det gir større endringsevne og reduserer risikoen for at viktige løsninger blir avhengige av valg virksomheten selv ikke kontrollerer.
Vurder derfor hele livsløpet når dere velger løsning – ikke bare kostnaden ved anskaffelse eller utvikling, men også drift, vedlikehold, kompetanse, migrering og avvikling.
Mindre leverandørinnlåsing
Åpen kildekode kan gjøre det enklere å skille mellom programvare, drift og videreutvikling, slik at flere leverandører kan konkurrere om tjenestene rundt løsningen.
Kombinert med åpne standarder, dokumenterte grensesnitt og kontroll over egne data gir dette bedre muligheter til å bytte leverandør eller flytte løsningen senere.
Målet er ikke leverandøruavhengighet, men å unngå unødvendige bindinger og bevare reelle valgmuligheter.
Bedre gjenbruk og samarbeid
Offentlige virksomheter har mange av de samme behovene. Når kode deles åpent, kan andre ta den i bruk, bygge videre på den eller bidra til videreutviklingen i stedet for å løse samme problem på nytt.
Å publisere kildekoden er likevel ikke nok i seg selv. For at andre faktisk skal kunne vurdere, ta i bruk og videreutvikle løsningen, må lisens, dokumentasjon og ansvar for forvaltning være på plass.
Når flere bruker og videreutvikler samme løsning, kan investeringer og kompetanse utnyttes bedre på tvers av virksomheter og forvaltningsnivåer.
Mer åpenhet, etterprøvbarhet og tillit
Tilgang til kildekoden gjør det mulig å undersøke hvordan en digital løsning er bygget og hvordan sentral funksjonalitet er implementert. Det gir bedre muligheter for innsyn og etterprøving, særlig for løsninger som påvirker innbyggere, rettigheter og viktige samfunnsfunksjoner.
Dette blir stadig viktigere med økt bruk av kunstig intelligens i offentlig sektor. Når KI brukes til å utvikle programvare eller inngår i løsninger som støtter vurderinger og beslutninger, er det viktig å kunne forstå og etterprøve hvordan løsningene fungerer og hvordan de er utviklet. Åpen kildekode kan gi større åpenhet og sporbarhet i koden, integrasjonene og endringene som gjøres.
Åpen kildekode gir ikke alene full forklarbarhet i en KI-løsning. Også blant annet modeller, data, konfigurasjon og beslutningsprosesser kan ha betydning. Men åpenhet om programvaren er et viktig bidrag til at offentlig sektor kan dokumentere, forklare og stå inne for løsningene den bruker. Det er vesentlig for å bevare tilliten til digitale offentlige tjenester.
Sterkere digital beredskap
Åpen kildekode kan redusere sårbarhet ved at virksomheten ikke er like bundet til lukkede løsninger, enkeltleverandører eller utilgjengelig kompetanse. Det gir større handlefrihet ved teknologiske, økonomiske eller geopolitiske endringer.
Tilgang til kildekode og nødvendige rettigheter gir også flere muligheter dersom en leverandør endrer strategi, en teknologi fases ut eller kritiske komponenter må erstattes.
Åpen kildekode er derfor ikke bare et spørsmål om teknologi eller kostnader, men om hvordan offentlig sektor bevarer kontroll, tillit, handlingsrom og evne til å videreutvikle digitale tjenester over tid.
Hva må dere ha kontroll på?
Før dere går videre med å bruke, dele eller bidra til åpen kildekode, må virksomheten etablere noen grunnleggende rammer. Det bør være tydelig hvem som beslutter hva som kan åpnes, hvilke krav som gjelder i anskaffelser og utviklingsløp, hvordan sikkerhet og lisensiering håndteres, og hvem som har ansvar for videre forvaltning.
Rammene trenger ikke være omfattende, men de bør være kjent og brukes konsekvent i virksomheten.
Sikkerhet og sårbarheter
Ha rutiner for å følge opp avhengigheter, sårbarheter og sensitiv informasjon. Bygg sikkerhet inn i utviklings- og forvaltningsprosessen, og avklar hvordan sikkerhetsfeil skal meldes og håndteres.
Lisenser og rettigheter
Avklar tidlig hvilke lisenser som gjelder, hvilke rettigheter virksomheten har til programvaren, og hvem som kan beslutte lisensvalg og publisering.
Dokumentasjon og forvaltning
Sett tydelige forventninger til dokumentasjon, kontaktpunkt og videre forvaltning. Publisert kode må være mulig å forstå, bruke og følge opp over tid.
Roller og ansvar
Gjør det tydelig hvem som eier koden, hvem som kan godkjenne endringer, og hvem som følger opp sikkerhet, feil og eksterne bidrag.
Kostnader og kompetanse
Planlegg for nødvendig kapasitet, kompetanse og finansiering gjennom hele livsløpet – fra anskaffelse og utvikling til drift, videreutvikling og avvikling.
For mange virksomheter vil det være nyttig å samle disse rammene i en enkel intern policy eller veiledning for bruk, deling og bidrag til åpen kildekode.
Hvordan komme i gang med åpen kildekode
Virksomheter har ulike utgangspunkt. Noen bruker allerede mye åpen kildekode, mens andre har etablert praksis for å dele kode eller bidra aktivt til åpne prosjekter. Start der dere er, og bygg praksisen videre steg for steg.
Skaff oversikt
Begynn med å forstå dagens situasjon. Helheten er viktig. Kartlegg hvilke åpne komponenter og løsninger dere allerede bruker, hva dere selv utvikler, og hvilke eksterne prosjekter dere er særlig avhengige av.
Avklar samtidig hvem som har ansvar for lisenser, sikkerhet, publisering, drift og forvaltning.
Prøv ut praksisen
Velg et konkret område der dere kan få erfaring. Det kan være å:
- vurdere en eksisterende åpen løsning før en ny anskaffelse
- publisere én egnet kodebase og etablere gode rutiner rundt den
- forbedre styringen av åpne komponenter dere allerede bruker
- bidra tilbake til et prosjekt virksomheten er avhengig av
Ved publisering bør dere planlegge for åpenhet tidlig. Gjennomgå kode, repository, dokumentasjon og historikk før publisering, og vurder om hele løsningen kan åpnes eller om bare deler bør deles.
Start gjerne avgrenset, men bygg erfaringen inn i virksomhetens ordinære arbeidsprosesser.
Gjør det til normal praksis
Når dere har erfaring, bør vurderinger av åpen kildekode inngå naturlig i arkitektur, anskaffelser, utvikling, sikkerhet og forvaltning.
Målet er ikke at alle virksomheter skal organisere arbeidet likt, men at bruk, deling og bidrag blir bevisste valg som følges opp gjennom hele livsløpet.
Sjekkliste for bruk, deling og bidrag
Bruk sjekklisten som støtte når dere vurderer en konkret løsning, kodebase eller avhengighet.
Når dere skal bruke åpen kildekode
Når dere skal dele kode
Når dere skal bidra tilbake
Neste steg
Start der dere er. Velg ett område der dere kan forbedre praksisen – enten det handler om å få bedre kontroll på det dere allerede bruker, dele mer av det dere utvikler, eller bidra tilbake til den digitale grunnmuren dere er avhengige av.
Over tid bør målet være at åpen kildekode ikke behandles som et særskilt teknologivalg, men som en naturlig del av hvordan offentlig sektor utvikler, anskaffer og forvalter digitale løsninger.
Status - og hvordan kan du bidra?
All informasjon på disse sidene er arbeidsdokumenter som er under arbeid. Vi tar gjerne imot tilbakemeldinger fra alle som er engasjerte i tematikken ☺️. Send tilbakemeldinger oss via diskusjonssiden på github eller på epost. Det er også lov å åpne en pull-request mot repoet. Arbeidsgruppen vil vurdere eventuelle bidrag.
Relevante kilder
Se kildeoversikten vår for kilder som er relevante for denne veiledningen.