Hopp til hovedinnhold
29. oktober 2020

Altinn har for første gang mottatt kode utviklet av en ekstern utvikler. Dette er et viktig steg mot det å bygge et skikkelig community rundt felleskomponenten Altinn som åpen kildekode.

Torbjørn Kvåle ble onsdag 14. oktober historisk (ta-da!) da han opprettet pull request #4996 (PR) på Github for å fikse en bug som han selv oppdaget i Altinn Studio.

Portrett. Torbjørn Kvåle, Bouvet/Arbeidstilsynet
Bilde av Torbjørn, hentet fra hans GitHub-profil.

Denne måten å få fart på utviklingen, ved å kunne involvere hele Altinn-samarbeidet, har hele tiden vært en av flere motivatorer bak beslutningen om å utvikle Altinn 3 som åpen kildekode.

Nå som Altinn Studio og den nye Altinn 3-plattformen er i produksjon, ser vi en økning i tjenesteeiere og utviklere som ønsker å teste ut den nye løsningen. Og selv om kildekoden faktisk har vært tilgjengelig i over to år, så er det nok blitt enklere for andre å kunne bidra nå som vi er i produksjon, selv om vi fortsatt har en relativt høy endringstakt.

Vi ser også at det å benytte Slack som kanal for å ha dialog direkte med utviklere der ute fungerer veldig bra, og hver tjenesteeier har også fått sin egen kanal.

Revolverintervju på Slack

Så hvorfor ikke bruke Slack til å gjøre et kjapt «revolverintervju» med årets mann?

Eirik: – Nå som du har blitt en ruvende historisk figur i norsk e-forvaltning, så ønsker vi å få vite litt mer om deg, Torbjørn. Kan du si litt om deg selv?
Torbjørn: – Jeg er en teknologientusiast og nerd som er ansatt i Bouvet og jobber for Arbeidstilsynet. Bruker mye tid på makerspacet Hackheim. Som småbarnsfar blir det mindre og mindre koding på fritida enn tidligere, så da er det jo veldig gøy å få jobbe med Altinn 3, AWS og annet spennende i arbeidstida.

Eirik: – Skjønner, jeg vet akkurat hvordan det er med den tidsklemma. Men du er trønder, ref. GitHub-profilen?
Torbjørn: – Neida, født og oppvokst på Voss, kom til Trondheim i 2007 for å studere. Etter en del år har det blitt både barn og kone, så her blei jeg værende.

Eirik: – Din første PR til Altinn var en bugfix som traff kode for både parsing av XSD og generering av JSON Schema, det finnes mer triviell kode, og du brukte ikke særlig lang tid. Du må være en veldig dyktig og erfaren utvikler? 🙂
Torbjørn: – Jeg vil jo påstå at en trenger ikke være noe spesielt dyktig for å bidra på open source så lenge prosjektet har god dokumentasjon for å komme i gang, da er det bare å gjøre det du ønsker bit for bit. Og Altinn har ganske bra dokumentasjon for å komme i gang, synes jeg. Med god støtte på Slack så gikk det veldig lett!

Eirik: – Ah, takk, det var hyggelig å høre! Vi har jo også lagt ut all dokumentasjon åpent på GitHub som markdown. Det er lett å undervurdere hvor mye jobb det er å lage god dokumentasjon, vi har derfor forsøkt å lage den samtidig som vi har utviklet selve løsningen.
Torbjørn: – Ja, helt enig der. Er ikke alltid like lett å motivere seg til å skrive dokumentasjon, men her syns jeg Altinn har mye bra å vise til. De gangene jeg har sett noe utdatert eller feil så har det blitt oppdatert så og si umiddelbart. 👍

Eirik: – Det løsnet litt når vi begynte å flytte dokumentasjonen til GitHub, og med en enkel måte å teste lokalt med hugo (hei bep!) samt bruk av Git, så gjør det at dokumentasjon ikke er noe som er "på sidelinja". Vi jobber med den på akkurat samme måte som med kode.
Torbjørn: – Når jeg nå jobber som konsulent for det offentlige, så tenker jeg at vi også har et ekstra ansvar for å bidra inn i slike prosjekter. Og dokumentasjon er jo det første møtet alle har med et slikt prosjekt.
Eirik: – Amen!

Eirik: – Du nevnte Slack, og som du naturlig nok vet så har vi en åpen Slack på altinnstudio.slack.com der både jeg og teamene våre i Altinn er direkte tilgjengelig. Tanken er å få til samarbeid, og dialog, både mellom tjenesteeiere og mellom Altinn og dere som utvikler applikasjoner. Hvordan synes du det har fungert for deg og Arbeidstilsynet?
Torbjørn: – Det har fungert helt supert med Slack for oss. Som hyppig bruker av Slack faller det meg helt naturlig å bruke det som en kanal for spørsmål og support. Å få umiddelbare svar på denne måten tror jeg er veldig viktig for å holde høy fart på prosjekter. Epost-tickets med 3 dagers responstid er meget frustrerende! Når jeg da heller får svaret umiddelbart og løst problemet mitt der og da, blir motivasjonen bra og en får fart på utviklingen. Særlig viktig er nok dette nå i tidlig fase.
Eirik: – Stemmer. Det føles også godt å få "instant feedback" når man hjelper noen, så det er vinn-vinn på alle måter. En mer menneskelig måte å jobbe på.

Eirik: – Hva tenker du om at Altinn, kanskje den største felleskomponenten i Norge, nå er open source, med helt åpen backlog? Ble du litt overrasket?
Torbjørn: – Ja, jeg ble faktisk veldig overrasket! Alt en trenger for å bidra ligger der helt åpent, og en kan følge med på de sakene en bryr seg om. Ikke bare kan en se issues, men bygge-logger og deploy av app'ene vi ruller ut kan en selv inspisere på Azure DevOps.

Eirik: – Ja, er litt viktig for oss å være "ekte" open source, og ikke bare dumpe kode. Vi tror det er eneste måte å kunne bygge et skikkelig community rundt dette prosjektet.
Torbjørn: – Når alt er åpent er det også en trygghet for oss som bruker løsningen. Nå har en mulighet til å akselerere endringer som en er avhengig av selv ved å bidra eller rett og slett løse de selv.

Eirik: – Bingo! Man unngår også lock-in, særlig nå som proprietære skjema i Altinn 2 er erstattet med container-baserte applikasjoner i Altinn 3.
Torbjørn: – Ser for meg at selv sluttbrukere kan bidra inn her hvis det er noe de syns burde vært gjort annerledes. Relativt vanlig i annen åpen kildekode, men vil tro det ville vært relativt unikt i offentlige systemer.
Eirik: – Ja, interessant tanke, og vi tar selvfølgelig imot pull requests fra alle, ikke kun fra tjenesteeiere eller konsulenter som jobber for tjenesteeiere.

Eirik: – Hvordan synes du det har vært å jobbe med appen til Arbeidstilsynet i Altinn Studio? Det at man benytter repos i Gitea for lagring og en helt normal .net core applikasjon som du kan utvikle, kjøre og teste lokalt som utgangspunkt? (vi i Altinn elsker forresten ikke bare hugo, men også vscode).
Torbjørn: – Jobber selv i vscode og med .net core er det jo veldig kjent og trygt stoff å jobbe med, så det har fungert utmerket. Det gjør det også lett å ta inn nye folk i prosjektet med kjente teknologier som dette. Selv er jeg ingen docker-ekspert, men det var ikke noe hinder for å komme i gang. Ting snurra opp helt fint uten større problemer og jeg var i gang. Gitea har funka fint også og det var ypperlig å komme til dekket bord med ferdig bygge-pipeline og deploymentfunksjonalitet.
Eirik: – Hehe, pokker så bra, nå vil folk tro at jeg skriver alle svarene selv!! 😂

Skjermdump fra Slack
Skjermdump fra Slack for å bevise min journalistiske integritet.

Eirik: – Vi bør vel runde av, skulle jo være et kort revolverintervju dette her... Har du noen siste ord? Hilse hjem til kona?
Torbjørn: – Neida, men er veldig spent på hvordan plattformen utvikler seg!

Eirik: – Tusen takk skal du ha, for både PR og intervju!

Eirik Mikkelsen
Fagdirektør, Digitaliseringsdirektoratet

Eirik Mikkelsen

Eirik er sjefsarkitekt i Digdir og har jobbet som arkitekt og utvikler av komplekse IT-løsninger siden 2000.

Forfatter

Eirik Mikkelsen
Eirik Mikkelsen
Fagdirektør, Digitaliseringsdirektoratet

Kommenter

Felt merket med en rød stjerne (*) er obligatoriske.

Innholdet i dette feltet blir holdt privat og vil ikke bli vist offentlig.
Er du et menneske?
13 + 3 =
Løs dette enkle mattespørsmålet og skriv inn svaret. For eksempel: For 1+3, skriv inn 4.