Att få Skolverkets DNP-SS12000 Referens API släppt som öppen källkod har varit en både givande och komplex resa. Myndigheter har ofta mycket att överväga – från säkerhet och juridik till långsiktig förvaltning – vilket innebär att varje steg mot en öppen källkodsrelease har krävt noggrant arbete och övertygelse. För detta projekt, som utvecklades för att stödja digitala nationella prov, hade jag en stark övertygelse om att öppen källkod skulle gynna både Skolverket och marknaden, men processen var inte utan hinder.
Projektet i fråga är Skolverkets DNP-SS12000 Referens API, en referensimplementation av SIS SS 12000:2020/2022 standarden. Släppt under Apache 2.0 och finns tillgängligt på Skovlerkets GitHub här.
Vem är jag? Jag är Gustaf Nilstadius och är lead utvecklare inom projektet för digitala nationella prov på Skolverket och har en förkärlek till öppen källkod.
Varför behövdes DNP-SS12000 Referens API?
Skolverket har som en av sina många uppgifter att främja standarder inom utbildningssektorn. En av dessa standarder är SIS SS 12000:2020. Det beslutades tidigt i projektet att provisionering av användaruppgifter för digitala nationella prov skall ske med denna standard då den är ämnad för informationsutbyte mellan verksamhetsprocesser i skolan. Problemet som uppstod är att enligt standarden skall Skolverket hämta information från skolhuvudmännen och inte tvärtom; som ett konventionellt API. Dette öppnade för behovet av att kunna emulera en skolhuvudmans system. Detta för att testa Skolverkets provisionerings-system, både ut ett funktionellt perspektiv men även för säkerhet och belastnings-tester.
Eftersom kravet fanns att systemet skulle användas vid belastning och säkerhets-tester behövde systemet vara nästintill produktionsdugligt.
Varför släppa projektet som öppen källkod?
Under utvecklingen av Skolverkets system för digitala nationella prov hade tolkningar av standarden SIS SS 12000: 2020 gjorts. Dessa tolkningar var implementerade i DNP-SS12000 Referens API. I kombination med att systemet nästintill är produktionsdugligt, drev jag tillsammans med mitt team på för att detta systemet även skulle gynna allmänheten. Vi ansåg att projektet skulle hjälpa utvecklare ute hos huvudmännen som skall kommunicera med våra system. Utöver att koden i sig skulle hjälpa skolhuvudmännen så var tanken att GitHub projektet även kunde vara ett forum för rent tekniska frågor.
Släppa öppen källkod för offentlig sektor, utmaningar på vägen.
När vi bestämt oss i teamet att det projektet lämpade sig väl för att släppas som öppen källkod började den riktiga utmaningen, att övertala verksamheten och övriga Skolverket.
Säkerhets- och sekretessfrågor
Inom myndigheter är säkerhetsrisker en hög prioritet. Att visa hur en öppen källkodsrelease kan vara lika säker (om inte säkrare) och dessutom ge en möjlighet till fler ögon på koden, tog både tid och övertygelse.
Juridiska barriärer
Flera juridiska aspekter behövde lösas. Det krävdes att vi förstod och förklarade de licenskrav och immaterialrättsliga frågor som följer med öppen källkod, vilket innebar ett nära samarbete med juridiska team. En stor tröskel att överkomma var att övertyga juridik att projektet inte konkurrerade med marknaden.
Kulturellt motstånd
Vi hade på Skolverket redan innan referens APIet gjort ett stort arbete för att gå ifrån gammal proprietär mjukvara till öppen källkods-alternativ. Men att vara mottaglig att använda öppen källkod är en lång väg ifrån att också släppa egna projekt som öppen källkod, även om det kan tyckas vara en dubbelmoral Här var min roll att visa de långsiktiga fördelarna: hur öppen källkod kan skapa ett mer dynamiskt och framtidssäkert tekniskt landskap.
Slutsats och lärdomar
I slutändan bidrog detta projekt till att skapa en plattform som underlättar samarbete och innovation för utbildningssektorn i Sverige. Det är ett steg mot en mer öppen offentlig sektor, men också ett exempel på hur viktigt det är att arbeta för förändring även när utmaningarna är många. Forumet for diskussion som skapades på GitHub har bidragit till flera bra tekniska förbättringar av lösningen baserat på givande bidrag från allmänheten/marknaden. Projektet har även bidragit till mycket “good will” från marknaden och har varit ett ovärderligt verktyg för att diskutera lösningar för att vi alla skall lyckas med digitala nationella proven.
För dem som överväger en liknande resa: håll fast vid fördelarna med öppenhet och samarbete, och var beredd på att arbeta igenom både kulturella och juridiska hinder för att nå målet. Projekten ni bygger för internt bruk kan likt detta projekt vara till större hjälp för allmänheten än vad man kan tro vid en första anblick.