Ga naar inhoud

3. Werk transparant en gebruik open source

Open source is een manier van werken waarbij de makers de broncode, documentatie en ontwerp openbaar beschikbaar stellen onder een opensourcelicentie. Hierdoor kan iedereen de software bekijken, kopiëren, aanpassen of delen. Mensen kunnen voorstellen doen voor verbeteringen of toevoegingen. Het delen van code en het gebruik van open source software kan leiden tot betere, veiligere en meer kosteneffectieve oplossingen.

Waarom is het belangrijk?

  • Transparantie en veiligheid: iedereen kan zien hoe de software werkt, waardoor problemen sneller worden ontdekt en vertrouwen ontstaat
  • Samenwerking en innovatie: organisaties kunnen kennis delen, van elkaar leren en voortbouwen op bestaande oplossingen
  • Kosteneffectiviteit: vermijd licentiekosten, vendor lock-in en bespaar tijd door hergebruik van bestaande oplossingen

Door open en transparant te werken en open source software te omarmen, draag je bij aan een meer transparante, flexibele en verantwoordelijke digitale overheid.

Hoe pas je het toe?

Direct aan de slag

Work in Progress: De onderstaande functionaliteit is nog in ontwikkeling.
beschikbaar

Ambitieladder opensourcewerken

Helpt projectteams concrete afspraken te maken over opensourcewerken

Bekijken
beschikbaar

Open Stad

Open source platform voor participatie en samenwerking

Bekijken
ontwikkeling

OSPO Toolbox

Tools voor Open Source Program Office

Verkennen
ontwikkeling

Opensourcewerken

Community of practice omtrent open source werken

Verkennen
beschikbaar

Standaard voor publieke code

Richtlijnen voor het ontwikkelen en beheren van software en beleid

Bekijken
beschikbaar

Handreiking publieke waarde bij ICT-aanbesteding

Stappenplan voor het maken van bewuste keuzes rondom publieke waarde en rechten

Bekijken
beschikbaar

Licentieadvies

Copyleft: CC BY-SA, GPLv3, AGPLv3 of EUPL-1.2. Permissive: Apache 2.0, MIT, BSD-0-clause

Bekijken
concept

Code.gov.nl

Publiceer uw code en vind overheidsprojecten

Bewezen praktijken

1. Begrijpen

Start met verkennen van bestaande open source oplossingen voordat je zelf iets bouwt. Evalueer of open source past bij je project en begrijp het open-tenzij beleid: je code moet open zijn, tenzij er zwaarwegende redenen zijn om dit niet te doen (zoals staatsgeheimen of fraudepreventie). Dit principe van transparantie versterkt het vertrouwen in de overheid.

Praktische tips
  • Onderzoek eerst of hergebruik mogelijk is - Zoek naar bestaande open source oplossingen die je probleem al oplossen. Verken repositories op developer.overheid.nl.
  • Begrijp welke afspraken er in het team gemaakt moeten worden - Verken de Open source ambitieladder.
  • Evalueer total cost of ownership - Kijk naar alle kosten: implementatie, migratie, training en onderhoud.
  • Test met prototypes - Bouw kleine prototypes om technische aannames te valideren.
  • Betrek de community - Leg contact met open source gemeenschappen voor advies.

2. Ontwikkelen, ontwerpen en inkopen

Werk open vanaf dag 1: begin met een publieke repository vanaf het start van je project. Dit voorkomt kostbare retrofitting en bevordert incrementele security improvements. Kies een geschikte open source licentie (bij voorkeur EUPL-1.2 voor overheidscode).

Ontwikkelen & ontwerpen

Praktische tips
  • Start met een publieke repository - Begin vanaf dag 1 met een publieke GitHub of GitLab repository.
  • Kies EUPL-1.2 licentie - De aanbevolen licentie voor Nederlandse overheidscode. Zie licentieadvies voor meer informatie.
  • Gebruik secrets management - Sla wachtwoorden, API-keys en credentials op in een apart systeem en nooit in de code zelf (bijv. HashiCorp Vault, Azure Key Vault).
  • Schrijf een goede README - Leg uit wat de code doet, hoe je het installeert en hoe je kunt bijdragen. Zie voorbeelden bij MinBZK en Gemeente Amsterdam repositories.
  • Maak een CONTRIBUTING.md - Geef duidelijke richtlijnen voor externe bijdragen. Zie Developer.overheid.nl voor hoe je dat kan doen.
  • Creëer een veilige en inclusieve omgeving voor contributors - Definieer een Code of Conduct.
  • Gebruik open standaarden - Zorg dat je architectuur interoperabel is (zie Gebruik open standaarden).
  • Documenteer ontwerpbeslissingen - Leg vast waarom je bepaalde technologiekeuzes maakt. Gebruik hiervoor bijvoorbeeld een Architectural Decision Record van Gov UK.

Inkopen

Praktische tips

3. Testen, meten en verbeteren

Onderhoud je open source project actief: Reageer snel op security issues, monitor dependencies op kwetsbaarheden en wees transparant over je onderhoudsniveau. Open source publiceren is een langetermijncommitment, alloceer voldoende resources voor community management.

Praktische tips
  • Review code op secrets - Scan regelmatig op hard-coded wachtwoorden en credentials.
  • Monitor security advisories - Volg CVE's (Common Vulnerabilities and Exposures) en security updates voor je dependencies. Zoals dependabot.
  • Reageer snel op security issues - Patch kritieke kwetsbaarheden binnen 24-48 uur.
  • Test installeerbaarheid - Doe regelmatig een fresh clone test met een nieuwe gebruiker.
  • Communiceer onderhoudsniveau - Wees duidelijk over of het digitale systeem "actively maintained", "maintenance mode" of "archived" is.
  • Gebruik Semantic Versioning - Versies in major.minor.patch formaat voor duidelijkheid.
  • Draag bij aan upstream - Geef terug aan projecten waar je van afhankelijk bent.
  • Deel je bevindingen - Publiceer blogposts en presentaties over je ervaringen. Deel kennis via de opensourcewerken community.

Implementatie per fase

Zie Implementatie en gewenste uitkomsten per fase voor richtlijn "3. Werk transparant en gebruik open source".

Gerelateerde hulpmiddelen

Naslagwerk

Beleid, wetten en standaarden

Communities

  • Opensourcewerken community - Community van het Ministerie van Binnenlandse Zaken voor praktische kennis, een forum om ervaringen te delen en informatie over relevante regelgeving
  • Code for NL - Code for NL is een netwerk van developers, designers en andere experts die samenwerken aan digitale toepassingen voor een open, eerlijke en inclusieve samenleving.
  • Common Ground - Gemeenten werken samen met een community van betrokkenen partijen aan bouwstenen, zoals softwaretoepassingen, technische componenten of standaarden voor gegevensuitwisseling.

Boeken

  • Platformland - Richard Pope - An anatomy of next-generation public sevices
  • Producing Opensource Software - Karl Fogel - About the human side of open source development.

Gerelateerde richtlijnen