Versiebeheer van onderzoekssoftware


Samenvatting

Dit artikel legt allerlei aspecten van versiebeheer van onderzoekssoftware uit.

null

Introductie

Versiebeheer is een belangrijk aspect bij de de organisatie en ontwikkeling van onderzoekssoftware. Versiebeheer is essentieel voor het bijhouden en beheren van veranderingen in een bestand, een verzameling bestanden of scripts. 

Waarom is versiebeheer belangrijk?

Versiebeheer is vooral belangrijk als je samenwerkt met meerdere ontwikkelaars om de werkgeschiedenis en veranderingen in de software bij te houden; voor het ongedaan maken van wijzigingen en om terug te gaan naar eerdere versies. Het bijhouden van alle veranderingen in je onderzoekssoftware is een best practice voor reproduceerbaar onderzoek. 

Hoe kun je versiebeheer toepassen op onderzoekssoftware? 

De meeste platforms die software hosten bieden een vorm van versiebeheer. Bijvoorbeeld, met de ‘autosave’ functie in Microsoft Office kun je naar eerdere versie van je bestanden in de cloud. Meer geavanceerder versiebeheersystemen, zoals Git, Mercurial en SVN, bieden versiebeheer voor  complexe onderzoeksprojecten. 

Versiebeheer gaat meestal als volgt: 

  • Een bestand aanmaken; tekst, data of code.
  • Aan deze bestanden werken, door inhoud te wijzigen, toe te voegen of te verwijderen.
  • Een snapshot maken van de bestandsstatus (versie) op dat moment.
  • Documenteren wat er is veranderd in de versiegeschiedenis.

Het maken van een snapshot wordt vaak handmatig gedaan bij teksten of een andere documenttypen door bijvoorbeeld v01, v02 etc. toe te voegen aan de bestandsnaam. Beschrijvingen van de veranderingen in elke versie worden soms opgeslagen in een apart document. 

In Git wordt het maken van een snapshot en het beschrijven van de veranderingen een ‘commit’ genoemd. De versiegeschiedenis wordt dan automatisch met metadata opgeslagen door het systeem. Zo kun je gemakkelijk een specifieke versie terugvinden of je project naar een vorige versie terugzetten. Meer informatie kun je vinden in The Turing Way handbook to reproducible, ethical and collaborative data science.

Manage je code met Git@WUR

WUR biedt veilig werken met code/scripts/software aan via het versiebeheers systeem Git: Git@WUR (een GitLab instance). In tegenstelling tot de webversies van GitLab en GitHub, wordt Git@WUR bij WUR gehost en data opgeslagen op WUR data centers. Met Git@WUR kun je code schrijven, issues in de code oplossen en beheren, code documenteren en code delen (privé, WUR-breed of publiekelijk). Je kan GitLab en GitHub ook gebruiken, maar WUR biedt hiervoor geen ondersteuning. 

Functies van Git@WUR zijn: 

  • Beveiliging: code is opgeslagen in beveiligde WUR data centers.
  • Zichtbaarheid: je hebt zelf de controle over wie toegang heeft tot je code door je repository op private (zichtbaar voor alleen jezelf en genodigden hebben), internal (zichtbaar voor WUR werknemers) of public (zichtbaar voor iedereen) te zetten.
  • Vindbaarheid: wanneer je een artikel publiceert gebaseerd op source code in Git@WUR, maak je je source code zichtbaarder door het te publiceren, waardoor het een persistent identifier (zoals een DOI) krijgt en deze linkt met je artikel (en vice versa).
  • Samenwerking: samenwerken is mogelijk met collega’s binnen en buiten WUR. Je kunt zelf WUR medewerkers toevoegen. Het toevoegen van een externe medewerker kan door het creëren van een ticket en aan te geven om wie het gaat, het emailadres, organisatie en de reden van het verzoek. 

Vragen en ondersteuning 

Heb je vragen over deze dienst of wil je persoonlijke ondersteuning? Neem gerust contact op met ons. Je kunt een mailtje sturen naar data@wur.nl.

Benieuwd wat WUR Library nog meer voor je kan betekenen?

Kijk op de Library website voor directe toegang tot alle literatuur databases en voor een overzicht van alle Library diensten, tools en ondersteuning. Via de chatfunctie op de website kom je direct in contact met een bibliotheekmedewerker of klik hier Chat online. We helpen je graag!