Nederlandse vertaling van de Standaard voor Publieke Code

Contents

  1. Definitie van publieke code
  2. Redenen voor publieke code
    1. Softwarecode == wettelijke code
    2. Traditionele openbare software-aanbesteding
    3. Technologische soevereiniteit en democratische verantwoording
    4. Het ontwerpen van echt publieke software
    5. Waarden van publieke code
  3. Hoe publieke code werkt
    1. Economie van publieke code
    2. Aanbesteden van publieke code
  4. De doelen van de Standaard voor Publieke Code
    1. Voor wie is dit bedoeld

Voorwoord

De Standaard voor Publieke Code is een set criteria die publieke organisaties ondersteunt bij het samen ontwikkelen en onderhouden van software en bijbehorend beleid.

Iedereen die software of beleid ontwikkelt voor het algemeen belang kan deze standaard gebruiken om de kwaliteit van publieke diensten te verbeteren en deze efficienter te maken, met minder risico en meer controle.

Dit voorwoord introduceert het begrip “publieke code” en legt uit waarom dit belangrijk is.

Definitie van publieke code

Publieke code is zowel computercode (zoals software en algoritmes) als beleid dat in een publieke context wordt uitgevoerd, door mensen of machines.

Het omvat de software die is gebouwd om te functioneren op of als publieke infrastructuur, maar ook de manier van voortbrenging daarvan.

Publieke code moet worden onderscheiden van reguliere software omdat deze ontstaat en gebruikt wordt onder fundamenteel andere omstandigheden en verwachtingen.

Redenen voor publieke code

Er zijn veel redenen waarom publieke code nu relevant is.

Softwarecode == wettelijke code

Software is publieke infrastructuur.

In de 21ste eeuw kan software worden beschouwd als vitale publieke infrastructuur. Software ontstaat steeds vaker niet alleen als de implementatie van bestaand beleid, maar vormt meer en meer ook de aanleiding voor nieuw beleid. Denk daarbij bijvoorbeeld aan inzet van algoritmes om te bepalen welke wijken extra sociale voorzieningen of politietoezicht nodig hebben.

De werking van software, algoritmes en gegevensverzameling zijn kernaspecten geworden in de uitvoering van beleid. Computercode voert nu beleid uit dat via democratische procedures is vastgelegd in wetgeving, de ‘wettelijke code’. Beide vormen van code vormen de structuur die ervoor zorgt dat de samenleving volgens democratisch bepaalde publieke waarden functioneert; de ene code wordt uitgevoerd door mensen, de andere door machines. Met andere woorden: software-code begint steeds meer te lijken op wetgeving.

En daarom moet software aan dezelfde principes van democratisch bestuur onderhevig zijn.

Traditionele openbare software-aanbesteding

De publieke dienstverlening wordt niet optimaal bediend door de manier waarop we nu software ontwikkelen.

Publieke organisaties die complete software-oplossingen inkopen worden nog wel eens verrast doordat:

  • hun software niet kan worden aangepast aan veranderend beleid en nieuwe technologie kan niet worden ingezet
  • er geen toegang meer is tot hun gegevens, omdat deze zijn opgesloten in propriëtaire systemen
  • er steeds hogere licentiekosten worden gevraagd

Technologische soevereiniteit en democratische verantwoording

Publieke organisaties, ambtenaren en inwoners verdienen beter.

Wij geloven dat de software die onze samenleving aanstuurt niet langer een black box mag zijn; gesloten codebases die gecontroleerd worden door externe bedrijven die de onderliggende logica waarop hun software werkt verborgen houden. In plaats daarvan hebben publieke organisaties en de mensen die zij dienen technologische soevereiniteit nodig. Op die manier kunnen ze de werking van publieke software bepalen en controleren, zoals ze dat ook doen met wetgeving. Het is belangrijk voor burgers en maatschappelijk middenveld dat software transparant is en dat er verantwoording over wordt afgelegd.

Het ontwerp van software als essentiële maatschappelijke infrastructuur moet de digitale rechten van burgers respecteren.

Het ontwerpen van echt publieke software

Publieke code vormt de kern van moderne publieke instituties, bepaalt het werk van ambtenaren en beïnvloedt het leven van bijna alle inwoners.

Publieke software moet daarom:

  • transparant zijn
  • te verantwoorden zijn
  • begrijpelijk zijn voor haar belanghebbenden

Het moet de waarden van de samenleving die het dient weerspiegelen, bijvoorbeeld door inclusief te zijn en niet-discriminerend.

De meeste propriëtaire software-systemen die momenteel door publieke organisaties worden gebruikt, kunnen niet aan deze eisen voldoen. Publieke code kan dat wel.

Waarden van publieke code

Wij beschouwen deze waarden als de kern van publieke code:

  • Inclusief
  • Herbruikbaar
  • Open
  • Leesbaar
  • Te verantwoorden
  • Toegankelijk
  • Duurzaam

Hoe publieke code werkt

Publieke code is open source software bedoeld voor het vervullen van de kerntaken van publieke organisaties. Door gebruik dragen andere organisaties bij aan de software, zodat de ontwikkeling en het onderhoud ervan echte samenwerkingen worden.

Open zijn heeft veel voordelen.

Lokale verantwoordelijkheid en democratische verantwoording worden gewaarborgd wanneer een publieke organisatie hun eigen publieke code implementeert en onderhoudt. Door open te zijn en een bredere gemeenschap van ondersteunende ontwikkelaars te hebben, is de software veiliger. Open code profiteert van vele ogen die mogelijke fouten opsporen. Veel bijdragers delen het onderhoudswerk om het functioneel en modern te houden, wat lange termijn onderhoudbaarheid ten goede komt. De gedeelde werklast is nu en in de toekomst duurzamer. De openheid maakt zowel de code als de gegevens in de toekomst gemakkelijker aanpasbaar. De code wordt makkelijker te herzien, te hergebruiken en uit te faseren. Dit alles resulteert in infrastructuur met een lager risico.

Door het bundelen van middelen kunnen publieke organisaties extra aandacht besteden aan hoe ze de software kunnen aanpassen zodat deze het beste werkt in elke lokale context, wat betere gebruikerservaringen creëert voor hun eindgebruikers (inwoners of burgers).

Economie van publieke code

Publieke code biedt een beter economisch model voor publieke organisaties en commerciële bedrijven. Als alternatief voor traditionele software-aanbesteding zorgt het ervoor dat de lokale controle en economische kansen worden vergroot.

Omdat het by design open en aanpasbaar is en het overdragen van gegevens ondersteunt, kan het worden ontwikkeld door intern personeel of vertrouwde leveranciers. Omdat de code open is, kan de publieke organisatie van leverancier veranderen als dat nodig is. Open code vergroot de mogelijkheden voor meekijken en daarvan leren, waardoor de publieke organisatie kleinere contracten kan aanbesteden. Kleinere aanbestedingen maken het gemakkelijker voor lokale kleine en middelgrote ondernemingen om zich daarop in te schrijven. Publieke organisaties kunnen hun eigen software-aankopen gebruiken om innovatie en concurrentie in hun lokale economie te stimuleren.

Dit kan worden gezien als een investering die leidt tot toekomstige economische groei. Meer leveranciers zullen nodig zijn vanwege de groeiende vraag naar technologie.

Aanbesteden van publieke code

Publieke code kan worden gebruikt en ontwikkeld door permanente interne ontwikkelteams, aannemers of uitbestede leveranciers. Leveranciers van publieke organisaties kunnen publieke code opnemen in hun inschrijvingen.

Om bestaande publieke code te gebruiken, moet je in je budget en projectontwerp specificeren dat je nieuwe oplossing die codebase zal gebruiken. Om een innovatieve benadering aan te moedigen bij het aanpassen van de publieke code aan jouw context, kun je de dienst of het resultaat in je contract beschrijven.

De doelen van de Standaard voor Publieke Code

Deze standaard ondersteunt ontwikkelaars, ontwerpers, managers en beleidsmakers bij:

  • het ontwikkelen van hoogwaardige software en beleid voor betere publieke dienstverlening
  • het ontwikkelen van codebases die herbruikbaar zijn in verschillende contexten en in samenwerking kunnen worden onderhouden
  • het verminderen van technische achterstanden (“technical debt”) en het falen van projecten
  • meer controle en beslissingsbevoegdheid over hun IT-systemen
  • het verbeteren van de relaties met leveranciers door een beter economisch model

Potentiële gebruikers van codebases die zijn getoetst aan de Standaard voor Publieke Code kunnen verwachten dat deze zeer herbruikbaar, gemakkelijk te onderhouden en van hoge kwaliteit zijn.

De Standaard voor Publieke Code doet dit door:

  • het vaststellen van een gemeenschappelijke terminologie voor publieke code-ontwikkeling
  • het vaststellen van kaders om te helpen bij het ontwikkelen van hoogwaardige publieke code
  • het bieden van begeleiding bij het voldoen aan de criteria en het operationaliseren van naleving

De Standaard voor Publieke Code is bedoeld om tijds- en technologieonafhankelijk te zijn.

Voor wie is dit bedoeld

De Standaard voor Publieke Code is bedoeld voor de mensen die publieke code creëren en hergebruiken:

  • beleidsmakers in de publieke sector
  • managers
  • ontwikkelaars en ontwerpers

Deze mensen werken bij:

  • organisaties in de publieke sector
  • adviesbureaus en leveranciers van informatietechnologie en beleidsdiensten aan publieke organisaties

Het is niet gericht op eindgebruikers van publieke organisaties (inwoners of burgers), journalisten of academici.