Logius maakt tweede deel van broncode DigiD opensource

Logius heeft weer broncode van de achterliggende software van DigiD opensource gemaakt. Dit is het tweede deel van de DigiD-app dat openbaar wordt gemaakt door de organisatie. Het eerste deel verscheen al in 2023.

De broncode is in te zien op de GitHub-pagina van het Nederlandse ministerie van Binnenlandse Zaken. De broncode is nu nog als 'foto' te vinden, zegt Logius, maar moet op termijn ook als 'film' gepubliceerd kunnen worden. Dan worden ook steeds nieuwe versies openbaar gemaakt, wat volgens Logius nu nog niet kan. De software moet daar eerst geschikt voor worden gemaakt en de organisatie moet klaar zijn om 'deze andere manier van werken te ondersteunen'. "En het kost tijd om dit zorgvuldig te kunnen doen, naast de dagelijkse werkzaamheden om te zorgen dat DigiD veilig en betrouwbaar blijft werken."

Logius kreeg in juni 2022 een 'Wet open overheid'-verzoek. Op basis van dat verzoek is de organisatie gestart met onderzoeken hoe de broncode van DigiD verantwoord openbaar gemaakt kan worden, schreef Alexandra van Huffelen, demissionair staatssecretaris voor Digitalisering, in 2023 in een brief aan de Tweede Kamer.

Er werd voor gekozen om de broncode in twee fasen openbaar te maken. In 2023 verscheen de broncode van de mobiele app van DigiD; nu is ook de broncode van de DigiD-software die bij Logius draait verschenen. Voorafgaand aan de publicatie van dit deel van de code heeft een externe organisatie een uitgebreid onderzoek uitgevoerd om een 'verantwoorde vrijgave te kunnen realiseren', zegt Logius.

Door Eveline Meijer

Nieuwsredacteur

16-05-2024 • 14:07

27

Submitter: Kalief

Reacties (27)

27
26
16
1
0
9
Wijzig sortering
Broncode als foto? Letterlijk vertaald van snapshot?
Ja, een éénmalige snapshot i.p.v. gewoon continu alle ontwikkelingen in het openbaar doen. Het woord had quotes er om heen, die beeldspraak is wel te begrijpen toch?

Ik snap echt totaal niet dat een overheid project zoals dit niet vanaf de start compleet open-source en in het openbaar gemaakt is. Er is echt 0 reden om dit proprietary te maken en dat er een 'Wet open overheid'-verzoek nodig was om het als nog open-source te krijgen (en dan zelfs maar in deze éénmalige vorm) is echt niet goed te praten.
Het is de nummer 1 reden dat ik de app weiger te gebruiken en 2FA op DigiD nog steeds via SMS doe.
DigiD stamt uit 2003. De algemene definitie van open-source en ontwikkeling was destijds heel anders. In die context kan ik het best begrijpen dat je voorzichtig bent met het openbaren van de code.

Er zijn ongetwijfeld genoeg componenten die nog uit die tijd stammen die met de wetenschap van nu niet direct geschikt zijn voor publicatie.

Het is een mooie eerste stap en brengt hopelijk ook verandering in de werkwijze van de overheid voor nieuwe projecten.
De "algemene definitie" (Four Freedoms van FSF) dateert uit begin jaren 90. In 2003 was Open Source dus hetzelfde gedefinieerd als nu.
Ze kunnen natuurlijk alle properetiaire code en bibliotheken omzetten naar opensourcecode en -bibliotheken. HP heeft dat ook gedaan alvorens ze webOS van de hand deden en dat systeem was toch heel wat groter dan DigiD.

[Reactie gewijzigd door TheVivaldi op 22 juli 2024 16:32]

Het is de nummer 1 reden dat ik de app weiger te gebruiken en 2FA op DigiD nog steeds via SMS doe.
Als je nog een nummer 2 reden zocht: een jaar of twee geleden zijn ze van de Android camera API afgestapt en gebruiken ze nu de Google Play camera API. Dit had als gevolg dat ik dus niet meer de DigID app kon gebruiken, ook al werkte dit zonder problemen als losstaande APK.

Ik deel je verbazing wat dat betreft.
Dit is in een recente release van de DigiD app opgelost.
Neen, dit is ook de letterlijke bewoording van Logius, inclusief de quotes om 'foto' heen. Het gaat er om dat dit een specifiek momentopname is en daarna direct de repository op Github is gearchiveerd waardoor er geen aanpassingen of nieuwe commits op komen.

Ze zeggen ook letterlijk dat ze dit als 'film' willen publiceren, dus dat nieuwe commits ook openbaar worden. Het heeft dus niks te maken met het concept snapshot, maar met of er nog meer te zien gaat zijn na verloop van tijd.
In computer systems, a snapshot is the state of a system at a particular point in time. The term was coined as an analogy to that in photography.
Wikipedia: Snapshot (computer storage)

Niet de beste bron op de wereld, maar naar mijn mening lijkt 'foto' (en jouw uitleg) verdacht veel op snapshot.
Ok goed punt, toch beter vergelijkbaar dan zelf gedacht.

Ik zal zelf vooral aan snapshots in dezelfde context als backups te denken, wat het dus weer anders maakt. Aangezien het slechts 1 momentopname is en niks anders.
Helaas heeft "Snapshot" een andere betekenis in git-land. De wijzigingen van de vorige commit versus de huidige (ie. git-diff) maken de snapshot van een commit.

https://git-scm.com/book/...mmands-Basic-Snapshotting
Een prima woord dat men ook had kunnen kiezen is 'momentopname'. Vertalen van buitenlandse termen moet alleen dan plaatsvinden als er geen geschikte term beschikbaar is in de eigen taal, en dat is er hier gelukkig wel.
Dat is 1, nu de vervanging voor 'film' nog :)

Nee het lijkt me erg opzettelijk om voor foto en film te gaan om een beeld te kunnen vormen bij mensen die niets van zachte waren techniek snappen.
Dat acht ik ook zeker niet onwaarschijnlijk. Een geschiktere vervanging voor 'film', in het verlegde van 'momentopname' schiet me ook niet zo te binnen. Een 'doorlopende' opname komt alsnog neer op een 'film', als in de fysieke zin van het woord.
Ja, maar ik dacht dat ze daadwerkelijk screenshots bedoelde in eerste instantie.
Nadat ik door had wat ze bedoelden moest ik even denken aan de tweakers 1 april grap van laatst...
Ze bedoelen inderdaad snapshot, maar zijn net iets te eager met vertalen. Een mooi kenmerk van het gedoe rondom de 1-april grap van Tweakers dit jaar! Met "stream" bedoelen ze volgens mij ook het backporten/loggen van hun commit/release history van lokaal naar publiek.

Ik snap overigens wel dat ze het op deze manier doen, DigiD heeft een vrij brede historie en zal misschien vanuit... pragmatiek... niet altijd op zijn netst gecode zijn. Wat ze nu doen VOELT namelijk een beetje als een gedeeltelijke refactor/sanitisation slag die ze doen omdat ze de code aan het screenen zijn op publicatie-gevoelige informatie.

Veilige systemen zoals inlogsystemen kunnen best open source zijn als de configuratie, certificaten, en cryptografische keys als configuratie/parameter bij de build horen en weg worden gehouden. Ik ben zelf gek op het toepassen van keyvault bijvoorbeeld in dat soort scriptjes om API-keys (naar bijvoorbeeld BRP/BRK e.d.) buiten de rest van de code te houden!
Nederlandse termen gebruiken is wel een ding bij Logius. In hun documentatie spreken ze van "koppelvlak", het kostte me even voor ik het woord "interface" erin herkende 🤣
Dat is toch wel oude code met een slappe coding conventie. Ik zie ook aanwijzingen dat dit mogelijk niet alle code is. Verder zitten er genoeg code smells in.
Ach de wereld is zo makkelijk te verbeteren vanaf de zijlijn.

Als gebrekkige code conventies en code smells het ergste is wat je kon vinden dan vind ik het wel prima; het is toch echt het authenticatie systeem van burgers naar de overheid natuurlijk. Niet iedereen is top programmeur en als je wacht tot het (esthetisch) perfect is dan kan je nooit software uitbrengen.
Dat weet je niet, of ik langs de zijlijn sta. Je zou ook kunnen vragen waarom dat er dan toe zou doen, maar gelukkig hou je het bij negatieve gedachtes. Je zou er eens wat van kunnen leren.
Verder zitten er genoeg code smells in.
Ga aan de slag, doe je best, en verbeter de code. Dat is het mooie van open source!
Ik denk niet dat logius PR's op deze repo zal accepteren. Het is gewoon een codedump om te voldoen aan de WOO. Het echte project staat heel ergens anders
Het is dus een "foto" idd.
Maar ik vind het, als IT mgr, best een stoere stap,
zeker voor een overheidsinstantie.
Het is beter dan niks!
De software moet daar eerst geschikt voor worden gemaakt en de organisatie moet klaar zijn om 'deze andere manier van werken te ondersteunen'.
Wat gebruiken ze nu dan voor version control? Ik mag hopen dat ze intern git gebruiken, en er is weinig reden waarom dat dan niet direct met GitHub gelinked kan zijn.. kunnen ze hun eigen tools/git clients gebruiken en gewoon direct naar GitHub pushen...

En waarom moet "de software geschikt gemaakt" worden ervoor?

[Reactie gewijzigd door Themperror op 22 juli 2024 16:32]

In closed source code wil nog wel eens het een en ander aan zaken rondzweven (lollige comments, maar ook secrets etc.). Voordat je het dan open source maakt, wil je wel 100% zeker weten dat al dat soort dingen eruit zijn gehaald.

Op dit item kan niet meer gereageerd worden.