Begrippenlijst
Algemeen publiek
Het brede publiek: eindgebruikers van de code en de diensten die daarop gebaseerd zijn.
De inwoners van een stad worden bijvoorbeeld beschouwd als eindgebruikers van de diensten van een stad en van alle code die deze diensten aandrijft.
Beleid
Beleid is een weloverwogen systeem van principes om beslissingen te sturen en rationele resultaten te bereiken.
Beleid is een intentieverklaring en wordt geïmplementeerd als een procedure of protocol.
Beleidsregels worden over het algemeen aangenomen door een bestuursorgaan binnen een organisatie.
Beleid kan helpen bij zowel subjectieve als objectieve besluitvorming.
Beleidsvorming is het proces waarbij overheden hun politieke visie vertalen naar programma's en acties om resultaten te behalen.
Op nationaal niveau zijn beleid en wetgeving (de wet) meestal gescheiden. Bij lokale overheden is dit onderscheid is vaak vager.
In de Standaard voor Publieke Code verwijst het woord ‘beleid’ naar beleid dat is gemaakt en aangenomen door publieke organisaties zoals overheden en gemeenten.
Broncode
De door mensen leesbare tekst van een computerprogramma die kan worden vertaald in machine-instructies.
Code
Elk expliciet beschreven systeem van regels. Dit omvat wetten, beleid en verordeningen, maar ook broncode die wordt gebruikt om software te bouwen. Beide zijn regels, sommige uitgevoerd door mensen en andere door machines.
Codebase
Elk samenhangend geheel aan code (zowel broncode als beleid), inclusief de tests en de documentatie die nodig zijn om dat beleid of software te implementeren.
Dit kan bijvoorbeeld een document of een repository onder versiebeheer zijn.
Continue integratie
In software engineering is continue integratie (Continuous Integration of CI) de praktijk van het zo vaak mogelijk samenvoegen van alle werkkopieën van ontwikkelaars in een ontwikkel-branch van een codebase.
Open source
Open source wordt gedefinieerd door het Open Source Initiative in zijn Open Source Definition.
Open standaard
Een open standaard is elke standaard die voldoet aan de Open Standard Requirements van het Open Source Initiative.
Publieke code
Publieke code (public code) is open source software ontwikkeld door publieke organisaties, in combinatie met het beleid en de documentatie nodig voor samenwerking en hergebruik.
Publieke code is zowel computerbroncode (zoals software en algoritmen) als beleid dat wordt uitgevoerd in een publieke context, door mensen of machines.
Publieke code dient het algemeen belang, is open, leesbaar, verantwoordbaar, toegankelijk en duurzaam.
Door publieke code te ontwikkelen die onafhankelijk is van, maar toch implementeerbaar is in de lokale context waarvoor ze werd ontwikkeld, en door het ontwikkelingsproces openbaar te documenteren, kan publieke code een bouwsteen bieden voor anderen om:
-
de code in hun lokale context te implementeren
-
de code als uitgangspunt te nemen voor verdere ontwikkeling
-
de code te gebruiken als bron om van te leren
Om hergebruik te vergemakkelijken, wordt publieke code ofwel vrijgegeven in het publieke domein of voorzien van een open licentie die anderen toestaat het werk vrij te bekijken en te hergebruiken en afgeleide werken te produceren.
Repository
Een repository is een opslaglocatie die wordt gebruikt door versiebeheerprogramma's voor bestanden en metadata van een codebase. Repositories zorgen ervoor dat meerdere medewerkers aan dezelfde set bestanden kunnen werken. Repositories kunnen meerdere versies van sets bestanden bevatten.
Verschillende contexten
Twee contexten zijn verschillend als het verschillende publieke organisaties of verschillende afdelingen betreft waarvoor er niet één besluitvormer is die samenwerking op een natuurlijke manier kan laten plaatsvinden.
Versiebeheer
Versiebeheer is het beheer van wijzigingen in de broncode en de bestanden die daarmee samenhangen. Wijzigingen worden meestal aangeduid met een code, het zogenaamde revisienummer (of iets vergelijkbaars). Elke revisie is gekoppeld aan het tijdstip waarop deze is gemaakt en de persoon die de wijziging heeft doorgevoerd. Hierdoor is het gemakkelijker om de ontwikkeling van de code te volgen. Revisiebeheersystemen kunnen worden gebruikt om verschillende versies met elkaar te vergelijken en om te zien hoe de inhoud in de loop van de tijd is gewijzigd.