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 publieke organisaties 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 rijksoverheden en lokale overheden.
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-ontwikkeling 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 zoals 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, te verantwoorden, toegankelijk en duurzaam.
Publieke code kan 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
Daarvoor is het belangrijk dat publieke code onafhankelijk is van de lokale context waarin ze is ontwikkeld, en dat het ontwikkelproces openbaar gedocumenteerd is.
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, her te gebruiken 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, waarbij 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. Versiebeheersystemen 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.