NAV feirer 2.000 åpne repoer - her er de nyttigste og rareste

Seniorutvikler Joakim Taule Kartveit i NAV mener repoene inneholder mye andre kan ha nytte av. Her er tipsene hans.

2.000 av NAVs totalt rundt 5000 git-repoer er åpen kildekode. 📸: NAV
2.000 av NAVs totalt rundt 5000 git-repoer er åpen kildekode. 📸: NAV Vis mer

– Mest mulig av koden og dokumentasjonen vi skriver bør være åpent tilgjengelig. Offentlig finansierte løsninger bør være offentlig tilgjengelig.

Det sier Joakim Taule Kartveit, senior backend-utvikler i NAVs IT-avdeling.

Nylig passerte NAV en stor milepæl og et mål de hadde satt seg – nemlig 2.000 git-repoer offentlig tilgjengelig på Github. Dette er såvidt vi vet mer enn noen andre offentlige eller private organisasjoner i Norge.

– I disse 2.000 repoene har vi alt fra applikasjoner som genererer PDF-er til biblioteker som validerer gyldigheten av norske fødsels- og D-nummere, og mange av tjenestene som innbyggere kan benytte seg av, sier Kartveit.

«Det at andre kan gjenbruke koden NAV-utviklerne har laget, er en heldig bieffekt.»

Avgjørende for NAVs samfunnsoppdrag

Kartveit forteller til kode24 at det er avgjørende for NAVs samfunnsoppdrag at det er et tillitsforhold mellom NAV og brukerne av NAV.

– Et viktig element for å skape tillit er åpenhet og gjennomsiktighet i det NAV gjør, sier han.

Motivasjonen for å gjøre så mye av koden til NAV åpent tilgjengelig er ikke først og fremst at andre skal bruke den, men at det skal være åpenhet og gjennomsiktighet i de digitale løsningene.

Det at andre kan gjenbruke koden NAV-utviklerne har laget, er en heldig bieffekt, mener Kartveit.

Det er imidlertid ikke alt som er åpent – totalt skal det være så mange som 5.000 kodebaser hos NAV.

Ønsker pull requester velkomne

Åpen kildekode er noe det ifølge Karveit snakkes mye om i NAV. Internt i virksomheten prøver de hele tiden å fremheve fordeler med å kode åpent – og vise til andre som har gjort det.

– Dette blir også presentert for nyansatte og konsulenter ved onboarding. Det gjør at å åpne opp kildekoden blir innarbeidet og ligger i ryggmargen til utviklere når de skal bygge ny eller flytte på eksisterende kildekode, sier Kartveit.

– Hvilken nytte har dere selv av at repoene er åpne? Får dere bidrag og pull requests fra andre utenfor NAV?

– Vi har stor nytte av dette. Vi får noen bidrag fra andre utenfor NAV, men skulle gjerne hatt flere. Jeg er sikker på at det er noen utenfor NAV som har gode tanker og løsninger for noen av applikasjonene vi har.

Han ønsker pull requests velkommen.

– Det kan til og med være noen som finner feil i systemene våre når de bruker dem.

«Jeg er sikker på at det er noen utenfor NAV som har gode tanker og løsninger for noen av applikasjonene vi har.»

Utfordringer for sikkerhet

Om åpen kildekode er bra eller dårlig for sikkerheten, er en evig diskusjon – og Kartveit innrømmer at åpen kildekode kan bety både muligheter og utfordringer for sikkerhet.

– Når vi åpner opp for innsyn kan eksterne melde fra om sikkerhetshull i koden vår, slik at vi ender opp med sikrere systemer. Samtidig må vi sørge for at sensitiv informasjon, slik som personopplysninger og tilgangsnøkler, ikke kommer i hendene til aktører med ondsinnede hensikter.

Kartveit forteller at det finnes en rekke verktøy som kan hjelpe til med å sørge for nødvendig sikkerhet når man koder åpent. For eksempel skanne etter tredjepartsbiblioteker med kjente sårbarheter, finne feil i koden eller kjøre automatisk penetrasjonstesting.

– Når man oppdager sårbarheter, må man raskt kunne deploye ny kode som lukker sårbarheten.

Gode råd til andre

Kartveit oppfordrer flere til å åpne opp kildekoden sin. Han sier de fleste utviklere han kjenner er fan av åpen kildekode, men at det ofte stopper opp i dialog med ledelsen og juridiske spørsmål om hvorvidt det er lovlig å dele koden.

– Mitt beste tips er å stå i den kampen, og at det er noe som bør prioriteres av virksomheten. Vis til andre som har åpnet kildekoden, og at dette er noe som er bra.

Sannsynligvis er virksomheten allerede avhengig av andres åpne kildekode.

– Det blir rart å bruke andres åpne kildekode, men ikke dele sin egen. Det blir som å synes det er stas og hyggelig å bli invitert til middag hos venner, men aldri selv inviterer vennene til seg.

Disse repoene er mest populære

2.000 repoer er mye å gå gjennom. Kartveit har derfor noen tips om hvilke du bør ta en nærmere kikk på.

De nyttigste og mest spennende repoene:

De mest populære repoene (stjerner på GitHub):

  1. Mock OAuth2 Server
  2. NAV's Design System
  3. Legacy COBOL System
  4. Retningslinjer for offentlig
  5. Rapids and Rivers-konsept
  6. Kafka PlainSasl Server 2 ad

– Hva er det rareste folk kan forvente å finne hos dere?

– Noe av det rareste må nok være å se på Det Sentrale Folketrygdsystemet. Dette er jo PL/I-kode som har duret og gått i mange år. Det er jo også en kjennsgjerning at vi fremdeles har noe legacy-systemer som vi jobber med å komme oss ut av, som stormaskin-applikasjonen Infotrygd.

kode24 har tidligere skrevet om denne kodebasen, og om Infotrygd som er skrevet i COBOL - det kan du lese mer om her: