Managed hosting door True

Ministerie BZK geeft broncode mislukt BRP-systeem vrij

 

Het ministerie van Binnenlandse Zaken en Koninkrijksrelaties (BZK) heeft de broncode en bijbehorende functionele en technische documentatie openbaar gemaakt van de programmatuur die was geschreven voor nieuwe centrale ict-systemen voor de basisregistratie personen (BRP). De Operatie BRP (oBRP) werd in juli van dit jaar gestopt.

De meest recente broncode is te vinden op internetsite github.com, met functionele en technische documentatie. Het ministerie van BZK publiceert eerdere versies van de broncode volgend jaar.

De broncode is gepubliceerd als open source software. Daardoor komen aanpassingen op de broncode ook weer openbaar beschikbaar en wordt gratis hergebruik ondersteund. De broncode is gecontroleerd op privacy- en veiligheidsrisico’s.

Eind 2013 wilde de toenmalige minister van BZK Ronald Plasterk alleen onder bepaalde voorwaarden een deel van de broncode vrijgeven. Nadat hij de stekker uit het project trok - met een schadepost van zo'n honderd miljoen euro - beloofde hij onder druk van de Tweede Kamer alsnog de ontwikkelde programmatuur en broncode vrij te geven. Zijn ict-opvolger, staatsecretaris Knops, heeft de Tweede Kamer geïnformeerd dat de meest recente versie van de BRP-broncode daadwerkelijk is vrijgegeven op de site https://github.com/MinBZK.

Verder zijn op de sites van rijksoverheid.nl en JoinUp verwijzingen (links) naar de publicatie op Github aangegeven. JoinUP is een initiatief van de Europese Commissie ter bevordering van het delen van kennis en ervaring met ict-projecten. De staatssecratris verwacht hiermee de vindbaarheid van de ontwikkelde code met het oog op mogelijk hergebruik te vergroten.

Het is voor zover bekend voor het eerst dat van een groot ict-overheidsproject, dat eerst gesloten was, de broncode openbaar is gemaakt (er is al eerder broncode vrijgegeven van het project Aerius, maar dat startte al als open source: https://gitlab.com/AERIUS).

AGPL

De stukken zijn voor publicatie op verschillende aspecten getoetst, waaronder privacy, en veiligheidsrisico’s. De voorwaarde waaronder publicatie van de code plaatsvindt, is opensource volgens de licentievoorwaarden AGPL (Affero General Public License). De licentievoorwaarden zien er op toe dat aanpassingen op de broncode ook weer openbaar beschikbaar komen. Op deze manier wordt het hergebruik verder ondersteund, verwacht Knops.

Verder schrijft de staatssecretaris in zijn Kamerbrief dat openbaarmaking plaatsvindt zonder kostendoorberekening zodat, in het algemeen belang, een gelijk speelveld ontstaat voor een ieder die deze code wil hergebruiken. Alle partijen kunnen op hetzelfde moment over de ontwikkelde broncode beschikken. Eerdere versies worden openbaar gemaakt nadat de onafhankelijke commissie BRP zijn eindrapportage heeft opgeleverd, zodat niet met de werkzaamheden van de commissie wordt geïnterfereerd. Naar verwachting komt dit rapport in het voorjaar van 2018. 

Dit artikel is afkomstig van Computable.nl (https://www.computable.nl/artikel/6255528). © Jaarbeurs IT Media.

?


Lees meer over



Lees ook


 

Reacties

Het zou mooi zijn geweest als de overheid van het begin af aan 'the open source way' zou werken bij al haar softwareprojecten. Nu is het opensourcen van het BRP-systeem niet meer dan een dump van de broncode in GitHub, maar het is een mooi begin. Lees hier wat ik daar al eerder over schreef: http://janvlug.org/blog/operatie-brp-ging-duidelijk-niet-the-open-source-way/

In de broncode van de class Persoon.java zie je al met welke problemen het project kampte:

"Deze persoon heeft geen actuele geboorte groep en dus kan de leeftijd niet worden berekent."

Onvoldoende beheersing van de Nederlandse spelling dus.

Zie:
https://github.com/MinBZK/OperatieBRP/blob/master/Broncode/operatiebrp-code-145.3/algemeen/alg-dal-entiteiten/src/main/java/nl/bzk/algemeenbrp/dal/domein/brp/entity/Persoon.java

Ik ga meteen kijken.

Wel heel leuk! Postgres als database, maar naast Java kom ik ook Node.js tegen en Jenkins, Gulp, nmp, bower.
https://github.com/MinBZK/OperatieBRP/tree/master/Broncode/operatiebrp-code-145.3/brp/beheer/beheer-ui
Ook documentatie en architectuur platen meteen even zelf ook opgeslagen.
Wat me opvalt is heel veel Nederlandse benamingen en commentaar en objectnamen. Ik dacht dat de code niet in NL geklopt zou zijn. Ik zeg niet goed of fout, want wellicht is het ook handig dat veel in NL is want als je iedere keer suffix e.d. meer naar NL moet vertalen.

Maar als ik dan hier kijk:
https://github.com/MinBZK/OperatieBRP/blob/master/Broncode/operatiebrp-code-145.3/brp/beheer/beheer-ui/app/fields/datumonbekend.html

dan zie ik wel heel veel verwarring door Nederlands en Engels kris-kras door elkaar te gebruiken.

input id="{{kolom.id}}"
type="number"
name="{{kolom.id}}"
ng-model="waarde[kolom.display]"
ng-pattern="/^0$|^\\\\\\\\d{8}$/"
ng-required="{{!((!status.nieuw && kolom.readonly) && (status.nieuw && kolom.nieuwReadonly)) && kolom.required}}"
ng-read
ng-trim="{{kolom.trim}}"
placeholder="jjjjmmdd of waarde 0"
class="form-control"/

en SOAP voor de API's....

Daarnaast.... ik heb nog niet heel lang gekeken, maar ik heb het gevoel dat ik heel veel mis. Is dit maar een (klein) gedeelte?

Alles bijelkaar (nog geen) 2500 java bestanden (exclusief package-info.java bestanden (270)).
Dat is functionele code, maar ook "plumbing".
En dat voor 100.000.000 euro ...
Ofwel hier ontbreekt het één en ander, of de applicatie is echt nog lang niet af, of de BRP is functioneel lichtgewicht, of ik moet me nodig laten bijscholen... ;-)

Ik ben er ook kort doorheen gegaan en wat opvalt is dat de documentatie best wel in orde is. Qua code zie je elementen waar ik niet dezelfde keuze gemaakt had (SOAP!), maar ook genoeg zaken die ik ook gebruikt zou hebben.

Je vraagt wel wel af waar precies de 100mln in is gaan zitten.....

Kan bijna niet anders dat 80% van die kosten aan overhead gemaakt is en de overige 20% door daadwerkelijke 'ontwikkelaars' in elkaar is gebutst. Allemaal junioren of lichtgewichten want als je de code bekijkt dan is het niet veel soeps.

Johan... je zit er denk ik naast.
Denk dat je het percentage overhead te laag inschat :-) 20 miljoen voor deze code is nog veels te hoog....

De BRP is ook al drie keer herbouwd:
https://www.computable.nl/artikel/opinie/overheid/5895773/1509029/een-skelettransplantatie-voor-de-brp.html
Verder is er ongetwijfeld heel veel tijd gaan zitten in het (af)bouwen (en vervolgens weer uitfaseren) van de generatoren.
Naast de Java code is er natuurlijk ook nog de userinterface code en de database scripts en ook het opstellen van de functionele en architectuur documenten zal best tijd gekost hebben, maar dan nog: 100M is best veel geld...

Een kat in het nauw maakt rare sprongen. Te denken dat er een community springt op een projekt dat als mislukt in alle persberichten verschijnt is op zijn minst naief.

Het ontbreekt de moed om vanaf het begin op de open source methode te zetten, bedrijven vrezen voor hun omzet, klanten voor de verantwoordelijkheid en de aansprakelijkheid. Kijkt er dan niemand naar IBM die heeft al heel lang een dik belegde boterham met de open source methode.

Jouw reactie


Je bent niet ingelogd. Je kunt als gast reageren, maar dan wordt je reactie pas zichtbaar na goedkeuring door de redactie. Om je reactie direct geplaatst te krijgen, moet je eerst rechtsboven inloggen of je registreren

Je naam ontbreekt
Je e-mailadres ontbreekt
Je reactie ontbreekt
Vacatures

Stuur door

Stuur dit artikel door

Je naam ontbreekt
Je e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×