Stel je voor: je hebt maanden gewerkt aan een prachtig stuk onderzoekssoftware.
▶Inhoudsopgave
De analyse draait, de resultaten rollin, en iedereen is blij. Tot iemand vraagt: “Kun je die code nog hergebruiken voor een vervolgonderzoek?” En dan… is de code weg. Verdwenen van een persoonlijke laptop, verloren na een serverwissel, of simpelweg niet meer te vinden.
Geen paniek, want er bestaat iets bijzonders: het Software Heritage Archive. En vandaag leg je uit hoe het werkt, waarom het bestaat, en waarom jij als onderzoeker er iets mee moet.
Wat is het Software Heritage Archive eigenlijk?
Het Software Heritage Archive is een wereldwijd initiatief met één helder doel: alle beschikbare broncode voor altijd bewaren.
Niet alleen de code van vandaag, maar ook code die al tientien, misschien wel honderden jaren oud is. Het project is opgericht door het Franse onderzoeksinstituut INRIA en wordt gesteund door organisaties zoals UNESCO, de Europese Commissie en talloze universiteiten en techbedrijven wereldwijd. En laten we het hebben over schaal, want die is best indrukwekkend.
Op dit moment bevat het archief meer dan 18 miljoen unieke softwareprojecten en opslagruimte voor ruwweg 16 miljard unieke broncodebestanden. En dat groeit elke dag. Letterlijk elke dag wordt er nieuwe code opgehaald uit openbare repositories zoals GitHub, GitLab en Bitbucket, maar ook uit verouderde bronnen zoals SourceForge en zelfs oude FTP-servers.
Hoe werkt het archiveringsproces precies?
Je vraagt je misschien af: hoe halen ze al die code binnen?
Het is geen kwestie van handmatig bestanden downloaden. Het geheel werkt via een geautomatiseerd systeem dat constant zoekt naar nieuwe en bijgewerkte broncode op het web.
Ophalen van code uit openbare bronnen
Het systeem scant voortdurend bekende softwarebronnen. Wanneer een nieuw project verschijnt op GitHub of wanneer een bestaand project wordt bijgewerkt, pikt Software Heritage dat op. De code wordt dan geïdentificeerd aan de hand van een unieke cryptografische vingerafdruk, een zogenaamde SWHID (Software Heritage Identifier). Met deze identifier kan je altijd terugvinden exact welke versie van welk bestand je bedoelt.
Niet “de laatste versie” of “het bestand van vorige maand”, maar letterlijk deze specifieke versie.
Dubbele bestanden? Nee hoor.
Voor onderzoekers die reproduceerbaarheid serieus nemen, is dat goud waard. Een slim detail: het archief slaat geen dubbele bestanden op. Als dezelfde code al eerder is gearchiveerd, wordt alleen een koppeling gemaakt.
Dat maakt het systeem enorm efficiënt. Elke unieke codefragment krijgt een plek, maar je bewaart het niet tien keer alleen omdat tien verschillende projecten het hergebruiken. Slim toch?
Waarom is dit zo belangrijk voor onderzoekers?
Oké, het archief bestaat, het is groot, het is slim. Maar waarom moet jij als onderzoeker daar iets mee?
Hier komen de belangrijkste redenen. Je hebt het vast wel eens gehoord: de reproduceerbaarheidscrisis in de wetenschap.
Reproduceerbaarheid van onderzoek
Onderzoekers kunnen de resultaten van andere onderzoekers niet altijd herhalen. Een groot deel van dat probleem zit hem in de software. Als de originele code niet meer beschikbaar is, kun je het onderzoek simpelweg niet reproduceren. Door code review toe te passen, zoals beschreven in The Turing Way, verhoog je de kwaliteit van je software aanzienlijk.
Met Software Heritage is die code altijd vindbaar, ook over tien of twintig jaar. Dat maakt je onderzoek betrouwbaar en toekomstbestendig.
Erkenning voor jouw werk
Software wordt nog te vaak gezien als “hulpmiddel” in plaats van een volwaardige onderzoeksoutput. Maar laten we eerlijk zijn: zonder software draait veel modern onderzoek niet. Door je code te archiveren in Software Heritage, krijg je een permanente, citeerbare referentie. Je kunt de SWHID gebruiken in publicaties, of je software beschrijven met CodeMeta, zodat anderen exact kunnen zien welke code je gebruikt hebt.
Dat is een stap richting meer erkenning voor softwareontwikkeling in de wetenschap.
Bescherming tegen verlies
GitHub kan verdwijnen. GitLab kan veranderen. Je universiteitssluit misschien af. Maar het Software Heritage Archive is opgezet als een permanent archief, vergelijkbaar met hoe bibliotheken boeken bewaren.
Het is geen commercieel product dat morgen kan worden afgesloten. Het is een publieke infrastructuur, bedoeld om eeuwig te bestaan. Jouw code is daar veiliger dan op welke commerciële platform dan ook.
Hoe kun je zelf aan de slag?
De mooiste je: je hoeft eigenlijk niets te doen. Als je code op een openbare repository staat, wordt het waarschijnlijk al automatisch gearchiveerd.
Maar je kunt het proces wel versnellen. Op de website van Software Heritage kun je een project handmatig aanmelden voor archivering. En als je een publicatie schrijft, kun je de SWHID van je code erin verwerken, zodat reviewers en lezers direct toegang hebben tot de exacte versie die je gebruikte.
Daarnaast kun je het archief ook raadplegen. Op zoek naar een oud stuk code?
Een verlopen bibliotheek die je project nodig had? Doorzoek het archief gewoon via de zoekfunctie op de Software Heritage-website. Je zult versteld staan van wat je vindt.
De link met Open Science in Nederland
In Nederland wordt er hard gewerkt aan Open Science. Universiteiten, de VSNU, NWO en andere organisaties zetten zich in voor open toegang tot onderzoeksresultaten, FAIR-data en transparante onderzoekspraktijken.
Software Heritage past perfect in dat plaatje. Het is de ontbrekende schakel tussen open data en reproduceerbaar onderzoek. Code bewaren is net zo belangrijk als data bewaren.
En met een permanent archief als Software Heritage hoef je je geen zorgen meer te maken over het verlies van cruciale onderzoekssoftware.
Dus de volgende keer dat je code schrijft, denk even aan dit: over twintig jaar wil je nog steeds dat anderen jouw werk kunnen vinden, begrijpen en hergebruiken. Software Heritage zorgt ervoor dat dat mogelijk is. En als je wilt weten hoe je jouw onderzoekscode publiceert, dan is dat, beste onderzoeker, best wel geweldig.
Veelgestelde vragen
Waarom is het Software Heritage Archive zo belangrijk voor onderzoekers?
Het Software Heritage Archive is cruciaal voor onderzoekers omdat het een permanente opslagplaats biedt voor broncode, waardoor ze zeker weten dat code die ze gebruiken, altijd beschikbaar is.
Wat houdt het Software Heritage Archive precies in?
Door de unieke identifiers (SWHIDs) te gebruiken, kunnen onderzoekers precies de versie van een bestand terugvinden die ze nodig hebben, wat essentieel is voor reproduceerbare resultaten. Het Software Heritage Archive is een gigantisch archief dat de broncode van meer dan 18 miljoen softwareprojecten bevat, inclusief code van tientallen jaren geleden.
Hoe verzamelt het Software Heritage Archive code?
Het archiveert niet alleen recente code, maar ook oudere versies, waardoor onderzoekers toegang hebben tot een enorme hoeveelheid historische broncode voor hun projecten. Het archief verzamelt code automatisch via een geautomatiseerd systeem dat voortdurend nieuwe en bijgewerkte broncode op platforms zoals GitHub en GitLab scant. Deze code wordt geïdentificeerd met unieke cryptografische vingerafdrukken (SWHIDs) om ervoor te zorgen dat elke versie van een bestand nauwkeurig kan worden teruggevonden. Het Software Heritage Archive slaat geen dubbele bestanden op, maar maakt in plaats daarvan koppelingen naar bestaande versies.
Waarom slaat het archief geen dubbele bestanden op?
Dit zorgt voor een efficiënte opslag en voorkomt dat dezelfde code meerdere keren wordt opgeslagen, wat de opslagruimte bespaart en de zoekfunctionaliteit verbetert.
Wie heeft het Software Heritage Archive opgericht en wie steunt het?
Het Software Heritage Archive is opgericht door het Franse onderzoeksinstituut INRIA en wordt gesteund door organisaties zoals UNESCO, de Europese Commissie en diverse universiteiten en techbedrijven wereldwijd. Dit brede netwerk van steun garandeert de duurzaamheid en het belang van het archief voor de wetenschappelijke gemeenschap.