In dit webinar spreken Anne Jan Brouwer (VWS) en Marlena van Ooijen (Logius) onder begeleiding van RADIO gastheer Lykle de Vries vanuit het perspectief van opensourcewerken over broncode publiceren als overheid. De Wet Hergebruik Overheidsinformatie verwacht een inspanning om alle soorten overheidsinformatie te hergebruiken, en actieve openbaarmaking (WOO) kan daarbij helpen. In dit webinar delen Anne Jan en Marlena geleerde lessen uit het verleden, waarbij broncode niet makkelijk openbaar gemaakt kon worden, en laten zien dat het voordelen heeft om vanaf het begin rekening te houden met openbaarmaking van broncode. Bekijk de goodiebag met tips uit het webinar

In dit webinar spreken Anne Jan Brouwer, van VWS, en Marlena van Ooijen, van Logius, onder begeleiding van RADIO-gastheer Lykle de Vries vanuit het perspectief van opensourcewerken over broncode publiceren als overheid.
[Logo Rijksoverheid. RADIO-webinar: Publiceren van broncode. 28 januari 2026.]
LYKLE: Welkom bij het RADIO-webinar 'Publiceren van broncode'. Mijn naam is Lykle de Vries. Ik werk voor RADIO: de RijksAcademie voor Digitalisering en Informatisering Overheid. En ons doel is om zoveel mogelijk van onze collega's zonder IT-achtergrond digitaal een beetje fitter, vaardiger en kundiger te krijgen. En daarvoor maken we onder andere deze webinars. Deze week is het niet toevallig ook EU Open Source Week, waar op Europees niveau veel aandacht wordt besteed aan open en opensourcewerken. En dat komt goed uit, want daar hadden wij deze week dus ook twee webinars over. Dit webinar, en het webinar van afgelopen maandag. Dat ging over... Dat ging over?
MARLENA: Ambitieladder, opensource inkopen.
LYKLE: We zijn los, want ik heb m'n eerste fout gemaakt. We gaan nu praten over het publiceren van broncode. Daarvoor hebben we mensen met verstand van zaken aan tafel. Anne Jan Brouwer, Head of Engineering van iRealisatie bij het ministerie van VWS. En Marlena van Ooijen, CIO-adviseur, OSPO en AI-lead bij Logius. Van harte welkom allebei. Fijn dat jullie er zijn.
ANNE JAN EN MARLENA: Dankjewel.
LYKLE: Beste kijkers, wanneer je dit live kijkt, dan heb je de gelegenheid om via de chat vragen te stellen. Daarvoor zitten mijn collega's Titus en Femke klaar. Die zullen de mooiste vragen doorspelen naar deze tafel om te beantwoorden. Als je de opname van dit webinar terugkijkt, zul je het moeten doen met de vragen die eerder al gesteld zijn. Eerst wil ik wel even weten wie er zo ongeveer in ons publiek zit. Daarvoor heb ik de eerste poll. Ik ben benieuwd of jullie, beste kijkers, zelf ervaring hebben met het actief openbaar maken van overheidsinformatie. Want dat is voor een belangrijk deel het begin van ons verhaal vandaag. Er was een app, een toepassing met de naam DigiD, en iemand vond het een goed idee om daar de broncode van op te vragen met een Woo-verzoek.
MARLENA: Wie was dat?
ANNE JAN: Dat was een goede vriend van mij, Mendel Mobach. Die was heel benieuwd naar de DigiD-app en de achterliggende infrastructuur. Hij heeft daar een Woo-verzoek voor ingediend. Vrij duidelijk gespecificeerd. 'Ik wil graag de broncode, de configuratieinformatie, zeker niet de credentials en dat soort zaken. De geheimen willen we zeker niet.' Maar wel hoe je dit kan uitrollen op een omgeving, zodat je ook er zelf mee kan spelen in je eigen lokale omgeving.
LYKLE: Ons publiek heeft de vraag kunnen beantwoorden. De overgrote meerderheid heeft geen ervaring met actieve openbaarmaking. Ik had een soort van veegantwoord erbij gezet: Ik heb misschien wel ervaring met het beantwoorden van een Wob/Woo-verzoek. Dat is een klein deel van ons publiek. Dus ik denk dat we erg nieuwsgierige mensen voor de buis hebben zitten die hopen hier veel van op te steken. Want ik kan de conclusie al een beetje verklappen: het is niet alleen een goed idee om broncode zoveel mogelijk te publiceren, maar er zijn ook wetten voor die zeggen dat je dat in sommige gevallen expliciet moet. We gaan daar veel meer over horen van jullie. Anne Jan, jij liet het al een klein beetje weten, maar Marlena, waarom zit jij hier vandaag aan tafel?
MARLENA: Je had het net al over dat Woo-verzoek dat gedaan was. Hij was dubbel. Hij ging niet alleen over de DigiD-app, maar ook over de DigiD-backend. Het was één groot geheel. En ik mocht daarbij helpen. We hadden een heel team dat daaraan werkte en dat moest gecoördineerd worden. Toen dacht ik: Ik snap hier helemaal geen bal van. Geen idee wat opensource is. Toen dacht ik: Ik wil dit wel leren en helpen dat te coördineren. Daarmee leer je heel veel en kom je erachter wat voor een superinteressant onderwerp dit is.
LYKLE: Je werkt bij Logius. Op dat moment ook al?
MARLENA: Op dat moment ook al.
LYKLE: Was Logius de logische ontvanger van dit Woo-verzoek? Dat weet ik eigenlijk niet. Aan wie stel je die vraag?
ANNE JAN: In dit geval was het wel de logische ontvanger, aangezien Logius de eigenaar en beheerder van de DigiD-app en -omgeving is. Niet de fysiek beheerder, maar wel de juridisch beheerder. Dus de eigenaar.
MARLENA: Ja, en daar hebben we ook processen voor. We hebben een Woo-coördinator die Woo-verzoeken behandelt en die hier ook bij betrokken was.
LYKLE: Voordat we daar verder op ingaan... Anne Jan, jij was medeaanvrager. Vanuit welke capaciteiten? Hoezo?
ANNE JAN: Als vriend en kennis, en als iemand met veel ervaring met opensource. Ik ben zelf nu meer dan 25 jaar ontwikkelaar, en ook sinds 2008/2009 heel actief met allerlei opensourceprojecten. Zelf wat projecten gestart. Op dat moment werkte ik samen met Mendel bij het ministerie van Volksgezondheid als externen, als softwareontwikkelaar, aan opensourceproducten. Dus vanuit mijn capaciteit als kenner van software en van de juridische kant ook een beetje, de licenties en dat soort voorwaarden, dacht ik: Ik wil me er graag tegenaan bemoeien. Dus eerst het verzoek meebekeken, daar een beetje finetuning aan en ook in de rest van het proces. Maar daar komen we straks wel op.
LYKLE: Want die broncode van DigiD was op dat moment dus niet publiek zichtbaar. Klopt dat?
MARLENA: Klopt.
LYKLE: Wat was daar de achterliggende gedachte achter? Heb je daar een idee van? Of moet ik dat niet aan jullie vragen?
ANNE JAN: Ik heb daar wel een idee van. Want het was zelfs bij Logius nog niet volledig bekend of zij wel eigenaar van de broncode waren. Dat DigiD-product bestaat uit een heleboel componenten. Zowel de app, maar ook in de backend. En in de backend zijn ook verschillende componenten die over tijd door verschillende partijen geproduceerd zijn. Logius maakt zelf de software niet, dat doen andere partijen. En de appkant bijvoorbeeld is door het Competence Center van de Belastingdienst gemaakt. En in de backend hebben allerlei bedrijven die verschillende componenten gemaakt. En bij de aankoop kijk je vaak naar afspraken over het product en dat soort zaken, maar niet naar de ingrediëntenlijst.
LYKLE: Dus het was op dat moment nog niet even duidelijk, en dat was een reden om maar niet te publiceren?
ANNE JAN: Het is denk ik een stukje gewoonte ook.
MARLENA: Een heel groot gedeelte, en ik denk niet alleen bij Logius, maar ook bij een heleboel andere overheidspartijen, wordt nog niet veel aan actieve openbaarmaking gedaan. We komen uit hele andere werelden, andere manieren van softwareontwikkeling. Een waterval: alles achter gesloten deuren houden. Dus een hele verandering is er gaande om juist meer opensource te gaan werken. En als je kijkt naar het 'Open, tenzij'-beleid dat we hebben, bestaat dat pas sinds 2020. Je kan zeggen 'vrij nieuw'.
LYKLE: Dus er is heel veel software van voor die tijd.
MARLENA: Ja, heel veel is gewoon ouder. DigiD is ook ouder. Die had laatst z'n verjaardag. Dus dat ligt daarvóór. Dus ook logisch dat het niet openbaar gepubliceerd is, want het hoefde niet. En daarvoor was het niet heel normaal.
LYKLE: Wat was de eerste reflex toen het verzoek binnenkwam?
MARLENA: De eerste reflex was eigenlijk de reflex die bij de meeste Woo-verzoeken van broncode komt: We hebben een heel mooi verhaal om dat af te wijzen, want broncode ga je niet vrijgeven. En toen hadden we op dat moment een CIO die dacht: Tja, afwijzen? Laten we eens kijken wat er mogelijk is. Van het afwijzen kom je er ook achter dat de Woo een aantal dingen heeft benoemd waaraan je moet voldoen om het te openbaren. Dat is heel veel op documenten gericht die daaraan moet voldoen. Maar eigenlijk valt broncode ook onder die Woo. Daarnaast hebben we ook het 'Open, tenzij'-beleid. Dat hangt precies onder diezelfde voorwaarden van de Woo. Je maakt het openbaar, tenzij je aan deze voorwaarden voldoet. Gelimiteerd zijn die opgenoemd.
LYKLE: En er is de Wet hergebruik overheidsinformatie die het zou moeten aanmoedigen om te publiceren. Maar die is ook vrij nieuw, toch?
MARLENA: Die is nog wat nieuwer. Vraag me niet wat daar de exacte datum van is, maar die is wat nieuwer. Daarbij hebben we DigiD. We hebben ook de Wet digitale overheid die ook zegt dat authenticatiemiddelen openbaar moeten zijn. Maar dat moet er nog aan komen. Dat is nog niet vastgesteld. Zo zijn er verschillende dingen waarom je het wel zou moeten doen, maar dan nog kan je hele goede verhalen maken waarom je het niet zou doen.
LYKLE: De vraag kwam op een tijd dat dit nog niet de normale routine was, en het was bijzonder dat de CIO van dat moment zei: Laten we kijken wat we wél kunnen doen.
MARLENA: Ja. Wat is mogelijk? Laten we dit proces eens gaan doorlopen en kijken of we het kunnen doen. Dat hebben we in nauw contact gedaan met de Woo-verzoekers om dat te gaan vragen. We gaan dit onderzoeken, maar het is voor ons nieuw en we willen dit gedegen doen. We hebben het toch over een heel belangrijk product van de Nederlandse overheid. Dus dat kunnen we niet zomaar doen.
LYKLE: Ik snap heel goed de reflex. 'Ik weet eigenlijk niet of mensen daar zomaar in zouden moeten neuzen, want wat nou als ze een achterdeurtje vinden?
MARLENA: Dat klopt.
LYKLE: Dat is niet een raar idee. Maar we weten ondertussen dat het bij opensource vaak anders kan werken. Dat juist die openbaarheid kan leiden tot veel verbeteringen, waar je misschien in de ontwikkeling nog overheen gekeken had. Dat speelde hier niet direct? Dit was een nieuwsgierigheid van: Wat is dat gereedschap, hoe werkt het en mag dat publiek worden?
ANNE JAN: En ook een stukje: zouden we hier ook nog andere dingen mee kunnen doen? Een stukje hergebruik, maar ook een stukje interoperabiliteit. DigiD kun je niet gebruiken in een geautomatiseerd proces. En in sommige gevallen zou het fijn zijn om daar wel iets mee te kunnen doen. Dan is het leuk om eens te kijken: Is dat mogelijk? Zou dat kunnen? De conclusie was daar: Nee. Maar het was wel leuk om naar te kijken.
LYKLE: Je hoeft nu niemands woord daar meer voor aan te nemen, want je kunt dat zelf verifiëren omdat je zelf de code kunt bekijken.
MARLENA: En de voorbeeldfunctie die DigiD natuurlijk heeft. We hebben een cruciaal product binnen de digitale overheid. En als dit product dus wel iets open kan geven, wat betekent dat voor andere digitale producten binnen de overheid?
LYKLE: Dus het was bewust een keuze om de mogelijke wrijving op te zoeken en te kijken wat er te leren viel.
MARLENA: Het was meer de kennis van de CIO die dacht: Laten we echt eens kijken of wij kunnen voldoen aan al die wetgeving en alles wat vraagt: maak dit openbaar. Is dat mogelijk?
ANNE JAN: En ook de nieuwsgierigheid van de CIO. Want wat ik net al aangaf: in eerste instantie was het nog niet eens bekend of Logius daadwerkelijk eigenaar van de broncode was. Ze waren wel eigenaar van de producten, die zijn aangekocht, alleen hoe zat dat met de afspraken die met verschillende leveranciers gemaakt zijn op het gebied van de broncode, doorontwikkeling en hergebruik.
LYKLE: Dat zijn inkoopafspraken, toch?
ANNE JAN: Exact, maar die waren ook niet direct bekend. Dus de CIO was ook heel nieuwsgierig: hoe zit dat eigenlijk?
LYKLE: En toen eenmaal alles boven water was, zijn er toen nog inkoopvoorwaarden retrospectief aangepast? Of bleek het allemaal op orde te zijn?
ANNE JAN: Dat weet ik eigenlijk niet.
MARLENA: Niet direct. Het product bleef en die verandering is er niet. We hebben wel aanbevelingen meegegeven, want het heeft... Dat gaat een hele grote conclusie zijn van dit traject dat we doorlopen hebben: het was echt heel veel werk dat we hebben gedaan. We hebben contact gehad, maar het heeft wel twee jaar geduurd dat we hiermee bezig zijn geweest. Dus we hebben er dingen van geleerd, waaronder ook inkoopvoorwaarden. Dus we hebben wel in elk geval Logius intern meegegeven: Houd dit wel in gedachten bij andere producten die eraan komen.
LYKLE: Zodat je niet nog een keer zoveel moeite gaat hebben bijvoorbeeld.
ANNE JAN: Want ook de leveranciers moesten aan de bak. Het verzoek kwam binnen bij Logius, maar alle leveranciers van de verschillende componenten zijn dus aangeschreven en moesten ook aan het werk om die broncode te gaan zoeken. In sommige gevallen hebben zij die ook weer overgedragen gekregen van een andere partij in een eerdere overdracht. En daar zat aan alle kanten heel veel werk in.
LYKLE: Dus achteraf kun je vaststellen: Als je daar op voorhand andere of betere voorwaarden voor stelt, dan bespaar je jezelf een hoop werk. Ik loop een beetje vooruit op jullie conclusies. (GELACH) Maar moet je niet sowieso, wanneer je de opdracht geeft om software te laten ontwikkelen, afdwingen dat de code jouw eigendom wordt, zodat je het kunt publiceren. Moet dat niet de standaard zijn? Of zijn er ook wel redenen om dat niet meteen te willen?
ANNE JAN: Ik denk vanuit historisch oogpunt: vroeger werd daar zo niet naar gekeken. Dan koop je een product. Het is hetzelfde als dat wanneer je een auto koopt, dan krijg je ook niet een lijstje van alle componenten. Terwijl als je bij de Ikea een kast koopt, dan heb je netjes een lijstje met een overzicht van alle componenten die je dan ook nog los kan bijbestellen. Daar zit gewoon een verschil van inzicht in. En eigenlijk bij alle software die tot 2015 of zo is aangekocht, is daar nooit zo over nagedacht. Het was altijd van: we gaan naar de dealer en we kopen een auto, in plaats van shoppen wat de mogelijkheden zijn.
LYKLE: En als-ie het niet doet, breng ik hem wel terug naar de garage.
ANNE JAN: En dan heb ik al dan niet garantie.
LYKLE: Dus een van de dingen die veel tijd kostte was überhaupt de code achterhalen. Die kwam uiteindelijk ter beschikking voor jullie. Wat moest er nog meer gebeuren?
MARLENA: Daarna kwam eigenlijk het grote werk.
LYKLE: Dit klonk al als een flinke opgave, maar dit was het nog niet?
MARLENA: Eerst is er een onderzoek gedaan, van: hoe groot is de code? Hoe omvangrijk is het? Dit hebben we dus twee keer gedaan, want we hebben het in tweeën gesplitst. We hebben de DigiD-app en daarna de DigiD-backend. De DigiD-app was wat kleiner, zeg ik als niet-coder. Mensen die de code daadwerkelijk hebben gezien, kunnen dit mogelijk ontkrachten. Maar die was minder complex dan die van de backend. Eerst moest gekeken worden: hoe groot, hoe omvangrijk is het? Hoeveel werk is het om het regel voor regel na te lopen? Want dat is wat er uiteindelijk gedaan is. En als dat helemaal nagelopen wordt, wie moeten dat doen? Ik haal het weer aan, maar het was dus de CIO die hier zelf kennis had. Daar is-ie bijgestaan door onze IB'er. Heel veel werk hebben die met z'n tweeën gezet, maar toch waren er nog verschillende controlestappen in het proces die we hebben gedaan. We hebben onder andere een veiligheidsonderzoek gedaan bij een externe partij. Ook dat kostte weer tijd.
LYKLE: Een veiligheidsonderzoek is een onderzoek naar of er achterdeurtjes zijn? Mag ik het zo zeggen?
ANNE JAN: Kwetsbaarheden. Achterdeurtjes vind ik in deze context een verkeerde term. Meer vergetelheidjes, losse schroefjes.
MARLENA: En dat wilden we ook echt door een professioneel bedrijf laten doen, want het is DigiD, essentieel binnen onze digitale overheid. Daar wil je geen risico mee lopen. Dus daar hebben ze naar gekeken. We hebben ook nog gevraagd of de leverancier meegekeken heeft. We hebben nog een non-disclosure act gedaan om te vragen of de Woo-verzoekers, met de kennis die ze hadden, ook mee wilden lezen.
LYKLE: Nou ben ik benieuwd. De software is ook een keer opgeleverd en ongetwijfeld getest, en toch ook beoordeeld op dit soort aspecten. Was dat niet aanwezig? Was dat er wel, maar was er een reden om het opnieuw te doen? En wat was die reden dan?
MARLENA: Op een hele andere manier. Dit is heel grappig. Vroeger heb ik ander werk gedaan. Ik heb beschikkingen geschreven. Beschikkingen zijn iets wat naar buiten gaat, wat je presteert. Dat is een beslissing op een aanvraag. Voor broncode is dat niet het geval. Eigenlijk kan je zorgen dat je code werkt. Daarna trek je de deur dicht, en alleen de mensen die achter die deur erin rommelen zien dat. Maar er wordt nooit gekeken: aan wat voor eisen moet dat nou voldoen als je het echt naar buiten doet? Veiligheidseisen, toegankelijkheidseisen, dat zit allemaal niet in de broncode en hoe we nu werken. Dat is iets nieuws. Dus op het moment dat je het naar buiten gaat doen, zijn er toch echt andere veiligheidseisen waar je aan moet denken dan als je het in die dichte kast houdt.
LYKLE: Dit zijn veiligheidseisen voor het feit dat die code publiek beschikbaar is? Dus niet hetzelfde als de veiligheidseisen voor het laten werken van de applicatie.
MARLENA: Ja.
ANNE JAN: Daar wil ik heel even weer een auto-analogie in gooien. Je hebt verschillende manieren van dat soort security-assessments van software. De blackbox-methode, die is van het product. Dus stel, je hebt een auto. Als je naar die keuringen kijkt, heb je die Euro NCAP-veiligheidseisen. Dat gaat om de auto. Dus je neemt de auto, die rij je tegen een muur en je kijkt wat er gebeurt. Datzelfde gebeurt vaak ook met software. Maar je hebt ook allerlei eisen over emissies en dat soort dingen, en dan wordt ook in de motor gekeken naar de verschillende componenten. En dat is een hele andere manier van assessment dan die vaak gedaan wordt. Voor die veiligheidsassessments ga je vaak juist uit van het product en het ecosysteem, en niet van wat erin zit. En op het moment dat je de ingrediëntenlijst gaat publiceren, zou het maar zo kunnen zijn dat daar hele andere overwegingen in zitten.
MARLENA: En veiligheid, maar ook privacy. Want je bent ermee bezig, je test, je verzint een naam, zet er een naam in, je werkt eraan. Dus daar zaten ook nog een heleboel privacydingen in. En het is een Woo-verzoek. En wat doen we als overheid met Woo-verzoeken? Lakken. Dus dat moesten we ook doen met deze code. Maar het meest gelakte bij een 'normaal' Woo-verzoek zijn de namen van de mensen die eraan gewerkt hebben. Datzelfde heb je ook in die software. Heel vaak zit er bovenaan een stuk software een korte uitleg van wat het is, wie het gedaan heeft, e-mailadressen, zodat ook de collega's eventueel vragen kunnen stellen aan de juiste persoon over dat stuk code. Maar bij een Woo-verzoek wil je dat niet gaan publiceren.
LYKLE: Nou weet ik een beetje hoe een gelakt document eruit kan zien. Hoe ziet gelakte code eruit?
MARLENA: In dit geval is er gekozen voor s'jes en p'tjes. De p'tjes voor privacy en de s'jes voor security.
LYKLE: Dus in plaats van het karakter dat er stond zet je een 'p' neer om aan te geven: dit hebben we weggehaald vanwege privacy. En een 's' voor: dit halen we weg vanwege security.
MARLENA: En dit is allemaal handmatig gedaan.
ANNE JAN: Nou...
MARLENA: Grotendeels. Maar een enorme klus is dit geweest.
LYKLE: Ik weet niet veel van software, maar een simpele applicatie kan al zo een paar duizend regels code hebben. Dit is geen simpele applicatie lijkt me zo. Dus ik kan me voorstellen dat je het over eindeloos veel A4'tjes zou hebben als je het op die manier zou uitprinten.
ANNE JAN: En dat is dus in het verleden ook nog wel gebeurd. Dit was niet het eerste verzoek voor een stuk software, waar ik van op de hoogte ben. In het verleden is er ook weleens naar stukken software, formules of algoritmes bij de overheid gevraagd. En wat je dan als verzoeker meestal krijgt, is een heel groot pakket papier waar je helemaal niks aan hebt, waar die code op uitgeprint staat.
LYKLE: Dus dat waren s'jes en p'tjes die in de code werden gezet. En hoever waren we toen?
ANNE JAN: Eerst dus de app. Dat was een jaar na aanvraag, zoiets. Ik weet de tijdlijn niet meer goed.
MARLENA: Ik heb een spiekbriefje voor me liggen. Even kijken. We hebben het Woo-verzoek gekregen in de zomer van 2022. De app hebben we 16 januari 2023 vrijgegeven.
LYKLE: Ruim een half jaar.
MARLENA: En 15 mei 2024 hebben we pas de backend gepubliceerd.
LYKLE: Dus dit is een Woo-verzoek dat twee jaar gelopen heeft.
ANNE JAN: Een van de andere redenen... Jij noemde dat de app wat compacter, wat kleiner is dan de backend. Daarnaast krijg je de app ook als eindgebruiker. Je kan hem al downloaden naar je telefoon, et cetera. Dus een serieus geïnteresseerde kan hem ook al uit elkaar halen. Dan krijg je het niet zo netjes als bij broncode. Dus je krijgt niet de mooie namen van de functies binnen de applicatie. Maar de flow van hoe de data door zo'n applicatie loopt kun je wel weergeven. Dus daarom is een app een stuk minder 'eng' dan iets wat daadwerkelijk in een datacenter draait.
LYKLE: Een leuke vraag over s'jes en p'tjes. Als die eenmaal in de code staan, is de code dan nog wel 'executable' of te compileren? Ik zou zelf denken: niet noodzakelijkerwijs.
ANNE JAN: Ik zou denken van wel. En dat kan ik ook wel uitleggen. De privacygevoelige dingen zitten niet in de daadwerkelijke programmeercode, maar meer in de omgeving, dus in de commands of in testcode. In testcode worden vaak ook namen gebruikt. Ik weet van mezelf dat ik heel vaak m'n eigen e-mailadres in kleine testcode gebruik als een standaard e-mailadres, omdat ik die ook al bij de rest van de bestanden heb bij een stukje copyright. Dus die testcode kan dan stukgaan, maar de applicatie zelf compileert bijna altijd wel met die p'tjes en s'jes, omdat het niet in de functie zit, maar in de omgeving.
MARLENA: Dan is ook de vraag: is dat het doel van het Woo-verzoek? Wil je dat ermee? Wil je de transparantie alleen bevorderen?
LYKLE: Wat was het doel van het Woo-verzoek?
ANNE JAN: Transparantie. We waren heel benieuwd naar hoe het was. Maar ook voor een deel eens kijken: die 'Open, tenzij'-wetgeving is er nu. Dit is wel een mooie om eens te proberen. Dus het was nieuwsgierigheid naar de DigiD-applicatie zelf, maar ook naar het proces.
LYKLE: Nou kan ik me best voorstellen dat dit software is waarvan je zegt: Er zitten toch wel een paar kleine 'tenzijs' in. Die zijn te bijzonder, te belangrijk voor veiligheidsoverwegingen om alsnog te publiceren. Zijn jullie 'tenzijs' tegengekomen bij dit Woo-verzoek? Dat je dacht van: Dat gaan we dus niet doen.
MARLENA: 'Tenzijs' zijn gelimiteerd. Dan gaat het over het hele product. Dus je hebt geen kleine 'tenzijs' die erin zitten. Een tenzij is bijvoorbeeld: gevaar voor de Kroon, voor de staat. En dat is DigiD dus eigenlijk niet, de broncode. Dus op die manier hebben we het vrijgegeven. Waar we wel tegenaan zijn gelopen nog, is... We hebben DigiD, maar DigiD heeft koppelingen. Het zit ergens in. En met die koppelingen heb je met andere partijen te maken. En die andere partijen zitten er dus wel weer anders in. Dus je moet niet alleen kijken naar de code zelf, maar ook de koppelingen en wat je daarvan vrijgeeft.
LYKLE: Kun je daar een voorbeeld van geven?
MARLENA: Niet helemaal, want het zijn andere partijen en die zitten hier niet aan tafel. Daar hebben we heel veel werk nog voor verzet, met koppelingen met andere partijen. Die zagen het in eerste instantie anders.
LYKLE: Daar kan ik me wat bij voorstellen.
MARLENA: Uiteindelijk hebben we er heel veel gesprekken mee moeten voeren tot het allerhoogste niveau, tot SG-niveau, van: hoe zit het nou? Wij als Logius zien dus die risico's niet. De andere partij ziet dit wel. Al die gesprekken zijn gevoerd, en uiteindelijk kwam een IB'er met de conclusie. Die zei: Maar deze koppelingen hebben we al vrijgegeven.
ANNE JAN: Die staan elders gedocumenteerd.
MARLENA: Dus op die manier bleek het voor deze specifieke koppelingen niet van toepassing. De doorlooptijd hebben we net verteld. Daar kwamen we ook pas later aan toe. Je begint aan zo'n Woo-verzoek. Niemand heeft het eerder zo gedaan. Eerst kijken naar de codes. Hoe doen we dat dan met die p'tjes en s'jes? Dan waren we al heel ver, en toen kwamen we achter die koppelingen.
ANNE JAN: Nog meer belanghebbenden die ook gehoord moeten worden.
MARLENA: Dus weer contact met de Woo-verzoekers: het duurt wat langer.
LYKLE: Er komt een leuke vraag die daar een beetje aan relateert, van Jeroen. Die code is eenmalig openbaar gemaakt, maar als het goed is wordt de code ook doorontwikkeld en bijgehouden. Dat lijkt op GitHub, waar de code staat, niet zichtbaar, zegt Jeroen. Moet ik nu bij wijze van spreken elke maand een nieuw Woo-verzoek doen om de laatste versie van de code te krijgen. Hoe zit dat?
MARLENA: Uiteindelijk hebben we gepubliceerd. Daarbij hebben we ook wel een toezegging gedaan, van: dit is een foto. Dit is een eenmalig moment van de code zoals die er op dat moment bij stond. Dat is ook opgenomen in de header. We hebben ook wel de toezegging gedaan: we gaan werken aan een film. Dan hebben we het nog steeds niet over opensourcewerken. Maar wat ik net zei: Het is echt heel veel werk om die code iedere keer te voorzien van die s'jes en p'tjes. We zijn ernaar aan het kijken en het blijkt dat het nog steeds heel veel werk is om elke keer bij een nieuwe release te zorgen dat het opgeschoond wordt. Er wordt aan gewerkt, maar we zijn dus nog niet zover. Het is nog net zo ingewikkeld werk als dat het de eerste keer is geweest.
LYKLE: Daar zit dus ook een 'lesson learned' in. Want als je aan een nieuw project zou beginnen, kun je de boel daar anders op inrichten, zodat dat minder werk zou zijn.
MARLENA: Zeker.
ANNE JAN: Dat is wat wij bij het ministerie van VWS dus wel heel veel doen. Zelf ben ik bij VWS als externe begonnen, tijdens de coronapandemie, bij Realisatie Digitale Ondersteuning. Dat was toen een programma en is nu een cluster binnen VWS geworden: iRealisatie. En wij maken software van begins af aan open. Wel, en dan wijs ik even terug naar afgelopen maandag, op verschillende ambitieniveaus. Een aantal dingen ontwikkelen we open, volledig open, dus dat je alles kan zien, welke vraagstukken we hebben, nog voordat er iets ontwikkeld wordt, waar we mee bezig gaan, een tijdlijn. Maar de meeste dingen die we maken komen als een film, per release, wel geautomatiseerd bij ons, als update naar de publieke kant. Dus we werken in een besloten omgeving en zetten hem over naar de publieke kant. Dat kunnen verschillende redenen zijn. Dat kan politieke gevoeligheid zijn. Dat kan zijn dat we aan het experimenteren zijn en nog echt niet weten waar we heen willen en hoe belangrijk en nuttig het is. Dan wil je niet te veel mensen die over je schouder meekijken en allemaal een mening hebben. Dus er zijn allerlei redenen om die verschillende manieren te doen. Maar we zijn wel van begins af aan altijd open gaan ontwikkelen.
LYKLE: En je refereert aan de ambitieladder voor opensource maatwerk in dat geval. Ik zal zorgen dat in de shownotes daar weer een linkje naartoe komt, want dat is een enorm handig hulpmiddel om vooraf in te schatten: wat is nou voor dit project de route om te gaan? Je kunt uitkomen op achteraf publiceren bijvoorbeeld.
MARLENA: Dat is waar we het net ook over hadden. Er zijn twee dingen. Dit is reactieve openbaarmaking, reagerend op een Woo-verzoek. Dat is heel veel werk. Of je kan echt ervoor kiezen om het actief te doen, van tevoren. Je hebt er gewoon heel veel winst mee en je gaat ook op een andere manier naar je code kijken. Je kijkt in het begin al om te zorgen dat je geen s'jes en p'tjes hoeft te zetten en dat het ook leesbaarder is voor daarbuiten.
LYKLE: Nou hebben mensen vast al gevraagd of je al dat reviewwerk niet makkelijk kunt automatiseren. Daar hebben jullie vast pogingen toe gedaan. Wat is daar tot nu toe uitgekomen? Het blijft handwerk?
MARLENA: Ja. We zijn ermee aan het experimenteren. Er zijn tools die dingen wat makkelijker zouden kunnen maken, maar we hebben het nog niet voor elkaar dat we kunnen zeggen: Dit is echt iets waar we op kunnen vertrouwen. Dat die tool het voldoende voor ons doet om dit iedere keer te doen. En de tijd. Dat je er toch niet nog vijf weken aan kwijt bent.
LYKLE: In het geval van deze casus van DigiD is de doorlooptijd in totaal twee jaar, omdat heel veel uitgevonden moest worden. Daar hebben jullie wel lering uit getrokken. Dus een volgende keer dat Logius zo'n vraag zou kunnen krijgen, gaat het wat soepeler, denk ik. Hoe schat je dat zelf in? Hangt het heel erg af van de code ook?
MARLENA: Ja, van de code. Van de voorziening. Want elke voorziening is weer anders. Logius heeft meerdere producten. En al die producten hebben ook verschillende fases waar ze zich in bevinden. We hebben wat nieuwere producten die we al echt opensource gemaakt hebben. Een aantal. Sommige producten worden herbouwd, en daar wordt ook over nagedacht, van: als we dat nou gaan doen, waar moet rekening mee gehouden worden? Bij de bestaande producten is het toch wel heel moeilijk, van: hoe ga je daarmee om? En het is ook heel veel extra werk als we een Woo-verzoek daarop krijgen, want daar gaat tijd in zitten. En de tijd die we besteden aan zo'n Woo-verzoek om dit te openbaren van een bestaande voorziening kunnen we niet besteden aan de doorontwikkeling.
LYKLE: Maar daar zit in het belang van de samenleving een afweging tussen de transparantie die we nu steeds belangrijker vinden en het werk dat gedaan moet worden om bij de tijd te blijven en goede dienstverlening te bieden. Dat zal per keer dus moeten worden ingeschat vermoed ik.
ANNE JAN: Dat denk ik ook. We zien dat zelf bij VWS ook. We hebben ook een aantal 'legacy-producten' die niet initieel bij ons ontwikkeld zijn, maar al een hele geschiedenis hebben en doorgegeven zijn aan verschillende ontwikkelpartijen. Daarvan hebben wij ook gezegd: Tenzij er een Woo-verzoek komt, gaan we alleen de nieuwe stukken die we maken direct publiceren. En de legacy laten we voor wat het is. Mocht er een Woo-verzoek komen, dan moeten we daar resources voor gaan inplannen, gaan zoeken. En tot die tijd gaan we alle mooie nieuwe stukjes die we maken, daar zorgen we ervoor dat die direct gepubliceerd worden.
LYKLE: Want dan komen we op de gevolgen van de lessen die je geleerd hebt. Tot welke veranderingen heeft dit geleid in de organisatie, in de manier van werken?
MARLENA: Een van de belangrijkste dingen die ertoe geleid heeft... We zijn begonnen met een e-mailadres bij OpenLogius om te reageren op dat Woo-verzoek. En OpenLogius is daarna wat groter geworden en is niet een programma, maar echt een beweging om te kijken: hoe kunnen we beter opensourcewerken? Er is gekeken om roadmaps te maken. Er worden iedere keer 'communities of practices' gehouden. Er is een heel informatiekanaal van waar de voorzieningen aan moeten voldoen. Dus er wordt echt ondersteuning geboden aan de teams, de voorzieningen, om dat te doen. We hebben een vertaling gemaakt van het beleid. We hebben het kabinetsbeleid 'Open, tenzij'. Dat is algemeen. En dat hebben we dus vertaald specifiek naar Logius. Wat betekent dat voor Logius en de voorzieningen? We hebben dat beleid gemaakt. We hebben het zelfs al herijkt. En dat staat erbij.
LYKLE: Daar kunnen we dus ook een linkje naartoe geven in de shownotes.
MARLENA: Het staat op de website zelfs.
LYKLE: Jullie zijn daar publiek over. Er komt een leuke vraag van een van de deelnemers. Hoe weet je als burger welke softwareproducten er zijn en waar die zitten om een Woo-verzoek te kunnen indienen als je dat zou willen?
ANNE JAN: Dat is wel een hele brede vraag.
LYKLE: Als ik op m'n telefoon een app installeer, dan staat daar een partij bij die gezorgd heeft dat-ie in de appstore gekomen is. Dan zou dat m'n eerste aanknopingspunt zijn.
ANNE JAN: Dat sowieso. Alleen wanneer je kijkt naar andere overheidsprocessen... Als je naar een gemeente gaat, die voert jouw gegevens in in een systeem. Wat voor systeem is dat? Dat weet je niet. Dan zou in dat geval dus wel de gemeente het aanspreekpunt zijn, van: Ik vraag me af door welke systemen mijn persoonsgegevens gaan. Dan kun je het richting een AVG framen.
LYKLE: Dan moet je het een beetje in stapjes uitvragen.
ANNE JAN: Ja, want er is heel veel verborgen software. En vaak weten de meeste mensen binnen die partijen zelf ook niet waar het vandaan komt, waar het staat en wie het gemaakt heeft.
LYKLE: Dus dat is een hele goede vraag waar niet één antwoord op is, maar als meer mensen dat zouden doen, zouden we misschien wel een soort van landkaart kunnen gaan inkleuren.
MARLENA: Een deel is er natuurlijk. Want we hebben de generieke digitale infrastructuur. Er zijn een aantal producten voor. Logius beheert een aantal daarvoor. En wij hebben op onze website wel staan welke producten Logius in beheer heeft.
ANNE JAN: Daarnaast is er ook een algoritmeregister, waar als het goed is alle overheden registreren wat voor systemen er gebruikt worden om met persoonsgegevens te werken. Dat is ook wel een goed aanknopingspunt om te kijken: wat is er zoal?
MARLENA: Het zijn er meer, want je hebt het algoritmeregister voor algoritmes, het verwerkingsregister voor privacy, het AVG-register, een besluitregister waar staat vermeld hoe overheden tot besluiten komen. Dus er wordt wel aan gewerkt. Maar dit is allemaal nog het werk van een paar staatssecretarissen terug.
ANNE JAN: En er wordt ook wel gewerkt om dat te consolideren naar een algemeen iets, want dan is er ook nog weer eens niet één verwerkingsregister, maar er zijn er meerdere die naar elkaar verwijzen. Het is nog een beetje wildgroei, maar het komt langzaam maar zeker naar elkaar toe.
LYKLE: We raken een beetje off-topic. En tegelijkertijd: dit soort Woo-verzoeken helpen juist wel om dingen beter in beeld te krijgen en misschien te zien waar de schoen nog wringt, waar het nog beter kan. Het heeft bij jullie dus ook echt impact gehad op hoe Logius werkt. Ik heb een vraag tussendoor voor de deelnemers. De term is kort gevallen, maar ik benieuwd of jullie weten waar de afkorting OSPO voor staat. Je mag kiezen. Er is maar één goed antwoord. Staat er alleen OSP? O, pardon. Je moet nadenken over de afkorting OSPO. Dat is een tikfout van mij. Excuses. Maar je ziet aan de antwoorden wel dat het om vier woorden gaat. En ik ben benieuwd of jullie weten welke het goede antwoord is. Want... Kijk, bam. Daar komen alvast wat eerste antwoorden binnen. Jullie hebben heel duidelijk beschreven: dit was nieuw toen het verzoek kwam. We waren als overheid gewend aan Wob-verzoeken en het publiceren van beleids- en beslissingsdocumenten, maar software, daar hadden we het nog niet zo vaak mee gedaan. Maar überhaupt het werken in een meer open omgeving is in de wereld van codeontwikkeling heel normaal. Al decennia. Maar voor de overheid niet noodzakelijkerwijs. Dit is een nieuw ding.
ANNE JAN: Het is wel heel normaal, maar ook wel heel gesegmenteerd. Er is echt heel veel verborgen opensource die echt op de achtergrond en diep in producten zit. Maar het grootste deel van de producten zijn commerciële gesloten producten, die gebruikt worden overal. En juist voor partijen die veel software maken voor de overheid... Wat ik al aangaf, ik ben 25 jaar softwareontwikkelaar. Ik heb ook in het verleden, nog ruim voordat ik bij VWS kwam werken, best veel voor de overheid gedaan. Maar daar werd nooit gevraagd naar de broncode. Alles wat wij maakten was gebaseerd onder water, op veel laagjes opensource. Maar volgens de licentie hoeven wij dat niet te publiceren, behalve aan onze klant, dus degene aan wie we het verkopen. Maar niet aan degenen die er gebruik van maken uiteindelijk. Dus het kwam eigenlijk nooit op om dat te doen.
LYKLE: Ondertussen is de quiz beantwoord. Het goede antwoord was optie twee: Open Source Program Office. Of Open Source Program Officer als het niet zo zwaar bemenst is.
ANNE JAN (LACHEND): Ik vond de laatste optie wel leuk. Over Software Praten we Open.
LYKLE (LACHEND): Die kunnen we misschien ook wel vasthouden.
MARLENA: Een iemand anders vond dat ook.
LYKLE: Was er al een OSPO bij Logius voor dit Woo-verzoek?
MARLENA: Nee.
LYKLE: Het is een concreet resultaat van dit Woo-verzoek geweest?
MARLENA: Ja. En gelijktijdig met dit Woo-verzoek is er eigenlijk ook een eerste OSPO binnengekomen bij BZK. Die heeft ook meegekeken en meegeholpen. Een OSPO, Open Source Program Office/Officer, zorgt er eigenlijk voor dat alle problemen waar tegenaan gelopen wordt om daadwerkelijk opensource te gaan werken, worden weggenomen. Dat kan technisch zijn, dat kan niet-technisch zijn. Steeds meer komen er. BZK heeft er nu twee.
LYKLE: Dus het is echt een office geworden met officers.
MARLENA: Dan hebben we bij UWV, Alliander... Op verschillende plekken hebben we dat. En er is dus ook een heel netwerk binnen Nederland waar de OSPO's zijn verbonden, of mensen die OSPO erbij doen. Dat versterken we dus binnen de publieke sector en alle lagen. We hebben dan aansluiting van Alliander, Rijksoverheid, gemeenten, SURF. Alles bij elkaar vormen we dat in Nederland. En we hebben ook weer contact met een heel sterk Europees OSPO-netwerk. Van Europa is er ook een OSPO. En alle landen samen komen ook met Open Source Program Officers.
LYKLE: Dat komt altijd terug als het gaat over open en opensource werken. De gemeenschappen van mensen die vanuit allerlei verschillende posities daarin met elkaar acteren, kennis delen, elkaar ondersteunen.
MARLENA: Je noemt wel twee dingen. De OSPO zorgt echt voor het faciliteren en het ondersteunen in het werken. Maar opensourcewerken kent verschillende vormen. De basis is gewoon: niet doen en wachten tot er een Woo-verzoek komt. Zeker niet aan te raden, zijn we nu achter gekomen. Dan heb je nog de varianten, van: je kan gewoon publiceren, maar neem vooral geen commits aan. Je kan zeggen: Ik publiceer, en als iemand commits heeft gaan we het behandelen. Of je kan helemaal gaan, van: laten we opensource gaan werken met een hele community eromheen. Dus dan kom je daarin. Het communitywerk en het ondersteunen daarvan is toch wel weer iets heel anders dan de OSPO.
LYKLE: Oké, dus die dingen moeten we niet met elkaar verwarren.
MARLENA: Communitymanagers zijn wat anders. Dan heb je ook nog opensourcestewards. Dat zijn dan echt degenen die naar de code kijken, dus die ervoor zorgen dat je niet al die s'jes en p'tjes hebt. Dus er zijn heel veel functies en mogelijkheden die bij opensource komen kijken naast de mensen die daadwerkelijk het codeerwerk doen.
LYKLE: Laten we even kijken of we nou alle aspecten gehad hebben. We hadden daar slides van. Jullie hebben onder andere voor de volgende keer het proces goed in kaart gebracht. Dat is hier nu voor jullie, lieve kijkers, met opzet niet helemaal leesbaar, omdat dat niet digitoegankelijk zou zijn. Maar dat is bij jou te krijgen, bij jullie te vinden, zodat bij een volgende vraag veel duidelijker is: in welke volgorde gebeuren dingen en wie zou waar verantwoordelijk voor moeten zijn.
MARLENA: Ja, dit is echt een evaluatiestap geweest om naderhand gewoon te kijken: wat is hier nou allemaal gebeurd? Hoe hebben we het gedaan? Hebben we enigszins een soort draaiboek om de volgende keer in te zetten? En kunnen we ook wat vertellen aan andere partijen die ermee geconfronteerd worden? Dat ze ook willen weten: wat hebben we gedaan, hoe hebben we het aangepakt? Daar zitten formele en informele stappen in. We hadden een Woo-coördinator die dit proces, omdat het juist zo lang duurde... De aanbeveling met een Woo-verzoek is dan wel: neem goed contact op met de Woo-verzoeker. En onze coördinator had bedacht: laten we dat op een leuke manier doen met lunches. Dan werd het weer wat langer en hadden we zoiets van: laten we met elkaar in gesprek gaan. Dat was met lunches. Dus ook die informele stappen zitten erin.
LYKLE: Ook weer gevoed, denk ik, vanuit de nieuwsgierigheid van de organisatie: wat is hier te leren? Je zult niet altijd in zo'n gemoedelijke sfeer een Woo-verzoek ontvangen. Maar je kunt er wel naar streven om die sfeer zo te krijgen.
MARLENA: Ja. Plus er zijn ook... Je kan hard en heel formeel met een aantal brieven erin zitten, maar we hebben ook procedures die door de Woo-verzoeker gedaan kunnen worden. Als wij niet leveren, kan je ook in bezwaar.
ANNE JAN: Ingebrekestellingen, dat soort dingen. Als je goed in gesprek gaat en blijft, dan zijn dat soort zaken allemaal niet nodig.
LYKLE: Niet de energie waar je in terecht wilt komen.
ANNE JAN: Exact, want dan wordt het een wij-tegen-zij-verhaal. Terwijl het hier meteen al met de eerste meeting duidelijk was: we gaan dit samen doen. Want de CIO vroeg ook direct: Jullie hebben meer expertise op een heleboel van dit soort vlakken. Heb je nog tips? Kun je helpen met hoe we dit zouden kunnen doen? Plus in het latere stadium hebben we onder een kortdurende NDA eerder toegang gekregen tot die broncode. Die was al wel gelakt. Maar nog niet alle vinkjes. Er was nog niet 100 procent een gevoel van: dit zit helemaal goed. Er heeft al een extern bedrijf naar gekeken op het gebied van security, privacy, maar zouden jullie met jullie expertise ook nog een keer ernaar willen kijken en te zien of daar nog op- of aanmerkingen in zijn?
MARLENA: En deels ook een soort van: wij zijn voornemens om dit zo op te leveren. Voldoet dit aan jullie vraag? Want anders zijn er weer middelen om ertegenin te gaan.
LYKLE: Dus het is een heel iteratief proces geweest op meer informele wijze dan formele wijze.
ANNE JAN: Ja, maar de Woo is eigenlijk altijd een interactief iets. Alleen in dit geval was het op een iets informelere toon, maar wel met dezelfde insteek. Dat ligt wellicht ook aan de 'volwassenheid' van de aanvragers, aangezien wij ook ons huiswerk hadden gedaan met zowel de aanvraag als de vervolgstappen, en ook exact onze rechten, plichten, et cetera weten. En bij negen van de tien Woo-verzoekers zal dat niet het geval zijn, lijkt mij.
LYKLE: Daar durf ik niet direct wat over te zeggen, maar terugkijkend is het duidelijk dat dat in goede samenspraak tot een mooi resultaat geleid heeft. Welke andere 'lessons learned' waren er? Wat hebben jullie nou gezegd? Laat het vooral extern onderzoeken.
MARLENA: Ja. Je hebt zelf kennis, maar er zijn partijen op de markt die echt specifieke kennis hebben en die hierbij kunnen helpen. En laat je daarbij ondersteunen, want een Woo-verzoek en een digitale voorziening openbaren, dat moet je verantwoord doen. Het gaat toch om de burgers waar je een heleboel over vrijgeeft.
LYKLE: Nou hebben jullie het opgelost door s'jes en p'tjes in de code te zetten. Dan blijft de code waarschijnlijk wel werken, maar jullie hebben er ook wel van geleerd. Je zou het liever niet meer doen.
MARLENA: Dat is wat Anne Jan zei. Kijk in het begin. Ga echt toewerken naar actieve openbaarmaking. En zorg dat je die s'jes en p'tjes niet hoeft te doen.
ANNE JAN: Ik had het over een stukje testdata. Dat kan gewoon in een extern stukje test. Dat hoeft niet direct in de code. En hetzelfde met copyrights. Ontwikkelaars zetten vaak hun naam of wat dan ook erin. Dat zou ook een afdeling kunnen zijn of een anoniemer iets. Dus in plaats van dat daar annejan@iets staat, dat daar de afdeling staat.
LYKLE: Nou denk ik toch wel dat het in sommige gevallen hartstikke interessant is om te weten hoe er getest is. Dus dat je daar wel naar zou willen vragen.
ANNE JAN: De testcode zelf wel, maar de testdata kun je daarbuiten houden. Dus dat je wel ziet hoe er getest is, maar niet waarmee. Dus geen test-bsn's, test-e-mailadressen, want die worden meestal gegenereerd in grote hoeveelheden en dat zou per ongeluk maar zo een echt adres kunnen zijn of daaraan gelijken.
LYKLE: Het volgende leerpunt gaat over 'forken'. Ik weet niet zeker of alle deelnemers weten wat forken is, maar dat is dat je van de bestaande code een afsplitsing maakt die een eigen doorontwikkeling kan hebben. Waarom staat die les daarin?
MARLENA: We hebben dus de broncode vrijgegeven als antwoord op een Woo-verzoek. En het was niet de bedoeling dat dit als opensourcewerk werd hergebruikt. Het doel hiervan was het beantwoorden van een Woo-verzoek. We hebben hem ook in twee delen gedaan. Dus hij is ergens neergezet. Maar we hebben ook nog zo'n prachtige pdf gemaakt waar je helemaal niet wat aan hebt. We hebben de code wel neergezet als archief, maar het bleek dus toch mogelijk te zijn om te forken. Dat is gebeurd en toen dacht iemand: Ik kan wel op die fork een commit geven, een aanbeveling doen. Die wordt dan wel weer teruggestuurd naar de basis, dus daarmee kwam-ie wel weer bij ons terecht. Toen dacht ik: We hadden hem toch op gearchiveerd gezet, dat we dit niet wilden? Dus het is echt goed op het moment dat je iets eenmalig wil publiceren op basis van een Woo-verzoek, om te zorgen dat je dan niet gaat forken. Het was wel een hele kleine commit waar we al van afwisten. Dit ging over een muis die over de QR-code ging.
ANNE JAN: Het is uiteindelijk dus wel aangepast.
MARLENA: Ja, maar het stond sowieso op onze backlog al dat we dat wilden doen.
LYKLE: En ten slotte. Al dat werk, twee jaar lang. Maar niemand zit te wachten op de broncode van DigiD.
MARLENA: Ja, dat klopt.
ANNE JAN: Ik hoorde zelf van de CIO en van heel jullie team dat het echt wel heel spannend was. Toen was het gepubliceerd, en toen kwam er wel op Security.NL een artikel over, op Tweakers. Echt op heel niche webblogs. En er kwam wat discussie over DigiD. En dat ging niet over de veiligheid, niet over privacy. Dat ging helemaal nergens over, behalve een kerstboom. Want ergens in de code zat een manier om bolletjes te tekenen in de app, en dat zag er in de code uit als een soort van halve kerstboom. En daar was een ellenlange discussie van allerlei ontwikkelaars. Die zaten zo van: Dit kan veel efficiënter dan al die dingen zo achter elkaar. Die zaten allerlei dingen te doen. En andere ontwikkelaars zeiden: Je kan het wel efficiënter doen, maar dat is minder onderhoudbaar. De hele discussie ging echt alleen maar over de kerstboom.
LYKLE: Ver achter de komma. Conclusie is dus eigenlijk: het kan heel spannend voelen, maar in dit specifieke geval gebeurde er eigenlijk niks akeligs, behalve dat het heel veel werk was.
MARLENA: Niks akeligs, ook omdat we er zo verantwoord mee om zijn gegaan. Dat we dat veiligheidsonderzoek hebben gedaan, dat we die p'tjes en s'jes weg hebben gedaan. Maar uiteindelijk als je kijkt naar de broncode van DigiD is het een heel specifiek product, dat niet echt voor hergebruik is.
ANNE JAN: Er is geen concurrentie op.
MARLENA: En ook als je kijkt naar overheidssoftware: in Engeland hebben ze ook heel veel dingen daarbuiten. Mensen vinden het veel minder interessant dan andere producten.
ANNE JAN: Zelfs tijdens de coronapandemie... Iedere dag, al het nieuws, het ging alleen maar over dat soort zaken. Iedereen had het over QR-codes, zowel positief als negatief, terwijl als we keken naar hoeveel interactie er daadwerkelijk met de broncode was, was dat echt nihil. Er kwamen heel af en toe wat mensen met wat optimalisaties of met wat vragen. Wat het aan de andere kant wel deed, was dat op een gegeven moment clubs en mensen die normaal de grootste critici van dit soort applicaties zijn, die sprongen voor ons op de bres. Op het moment dat, dan ga ik oneerbiedig wappies als woord gebruiken, kwamen met 'We worden overal afgeluisterd en getrackt', dan kwamen de mensen die normaal de grootste critici zijn en zeiden: 'Dat is helemaal niet zo. We hebben hier de broncode. We hebben ernaar gekeken. We zijn erdoorheen gelopen. Dat is gewoon niet zo. Je wordt niet afgeluisterd.'
LYKLE: Heeft hopelijk ook weer bijgedragen aan het vertrouwen.
ANNE JAN: Dat er daadwerkelijk veel interactie met de broncode is, nee. Tenzij je zelf actief een community gaat bouwen met een communitymanager en dat soort zaken hoef je daarvoor niet bang te zijn.
LYKLE: We gaan naar een afronding toe. En ik filter even de vragen. Benno vraagt: wat is er nou verplicht? Wat moeten overheden nou doen? Op het gebied van het publiceren van broncode.
MARLENA: Open, tenzij. Daar hebben we een beleid voor. Dat is ook die laatste les die erop stond van opensourcewerken. Wat moet je doen? We hebben een beleid dat zegt: ga gewoon open. We hebben de Wet hergebruik die zegt: zorg dat je code hergebruikt kan worden. Digitale overheid maakt het straks ook voor authenticatiemiddelen. Maar dit is weer de moet-kant. En moeten is ook wat je moet doen om te reageren op een Woo-verzoek. Maar eigenlijk is de kern en de boodschap: zorg dat je niet gaat kijken naar wat moet, maar wat wil je, wat kan je? Want opensource werken is handig, het biedt transparantie, veiligheid, het biedt een andere manier van samenwerken. Er zitten zoveel meer voordelen. Een andere manier van samenwerken vinden heel veel mensen juist leuk. Dus dan trekken we ook weer allemaal goede en leuke developers aan als overheid, want die willen we heel graag. Dus kijk niet naar wat er moet. En een Woo-verzoek moet. Maar ga gewoon in het pad daarvoor zitten.
LYKLE: Probeer ervan weg te blijven dat je aan de slag moet en probeer voor die tijd actief na te denken.
ANNE JAN: Focus minder op de 'tenzij'. Kijk wel naar de 'tenzij', maar focus minder op de 'tenzij' en kijk meer naar: hoe kunnen we dit open doen?
MARLENA: Opensourcewerken.
LYKLE: Opensourcewerken.nl is een site die je daarvoor zeker kunt opzoeken. Developer.overheid.nl is ook zo'n plek waar veel te vinden valt.
MARLENA: Heel veel informatie, ook waar alle broncode staat. Want hij is versnipperd. Er staan een aantal dingen op GitHub. Logius heeft ervoor gekozen om op GitLab te gaan. Er worden ook nieuwe dingen ontwikkeld. Maar developer.overheid geeft naast hele handige tools voor opensourcewerken ook een index waar je alles kan vinden.
LYKLE: Daarmee is de vraag van Anders ook beantwoord. De laatste vraag van Maurice is: heeft het opensource maken van deze code ook nog geleid tot betere overdraagbaarheid en verminderde afhankelijkheid van softwareontwikkelaars achter DigiD? Of hebben jullie echt plat gevonden en gepubliceerd?
MARLENA: Eigenlijk op allebei zou ik niet 'ja' willen zeggen. Het is een proces geweest waar we dingen hebben moeten onderzoeken. Kijken hoe we dat allemaal verantwoord kunnen doen. Maar het was wel echt gericht op dit Woo-verzoek. Geleerde lessen en hoe we nu opensource gaan werken, die zitten weer meer op het andere vlak, de vraag van Maurice.
LYKLE: Super. Dank jullie wel. Daarmee zijn we aan het einde gekomen van dit webinar over het publiceren van broncode. De conclusies zijn duidelijk. Het is gewoon een ontzettend goed idee. Het kan je op allerlei manieren helpen, en er zijn ook allerlei smaakjes in te vinden die passen bij wat voor jouw organisatie de moeite waard en mogelijk is. Ik wil heel graag ICTU bedanken voor het gebruik mogen maken van hun studio. Ik wil Dennis en Chiel van Kraats AV bedanken voor de techniek. Mijn collega's Femke en Titus voor het bewaken van de chat. En heel veel dank aan mijn gasten van vandaag. Marlena van Ooijen en Anne Jan Brouwer, fijn dat jullie er waren. Jullie, kijkers, bedankt voor jullie aandacht en jullie mooie vragen. We hopen dat jullie er wat van opgestoken hebben. En we wensen jullie heel veel succes met open, met opensourcewerken, met het inkopen van opensource en het publiceren van code. En als je vragen hebt kun je altijd terecht bij de gasten van onze Webinars of bij RADIO zelf. Dat was het voor vandaag. Heel erg bedankt en tot de volgende keer.
[Bedankt. Bezoek onze website om dit webinar later terug te kijken: it-academieoverheid.nl. RADIO, leren is netwerken. Logo Rijksoverheid.]