De ultieme software sustainability kwesties: hoe maak je levende software en hoe maak je software levend? Een snapshot van de huidige situatie.
Software bestaat sinds de jaren vijftig. Eerst was er alleen assembler, sinds 1954 kwam Fortran, de waarschijnlijk eerste hogere programmeertaal, en in de jaren zestig volgden aanzienlijk meer hogere programmeertalen. Vervolgens werd software meer en meer geschreven voor specifieke machines, met hun eigen bedrijfssystemen en processoren met hun eigen instructiesets. In de loop van de tijd werd er geüniformeerd (denk aan Unix, Linux, 8086-instructies), maar trad ook diversiteit op (denk aan FPGA’s, GPU’s). Software uit voorbije periodes, waaraan nog steeds of opnieuw behoefte bestaat, maar welke moeilijk te restaureren is. De vraag is, hoe je software zo kunt schrijven dat deze makkelijk te onderhouden is en dus op duurzaamheid geschreven?
Het schrijven van software was traditioneel gericht op een direct en concreet resultaat: de computer binnen een omgeving een opdracht laten uitvoeren. Duurzaamheid stond niet op het netvlies. Maar tegenwoordig kunnen zelfs al tijdens de duur van een onderzoek de omgeving en het onderzoeksteam veranderen. Hoe houd je de software en de kennis over de software levend? En wat is er nodig om dit tegen minimale kosten te kunnen doen?
Duidelijke signalen
In de afgelopen twee á drie jaar werden over dit onderwerp steeds vaker conferenties en workshops georganiseerd. Tijdens de internationale conference Supercomputing & Communications (SC’18) in november in Dallas, werden duidelijke signalen gegeven:
- Het softwareprobleem is niet typisch voor de wetenschap: kijk ook naar andere domeinen (kunst, archief, bibliotheken, game-industrie);
- Maak gebruik van communities met een specifiek en gemeenschappelijk belang;
- Zet samenwerkingsverbanden op, bijvoorbeeld met het Software Sustainability Institute (UK) en/of de Research Data Alliance;
- Wees voorzichtig met containerisatie (zoals Docker). Het plaatsen van software met omgeving in een container transporteert de software handig tussen en over clouds, maar het houdt weinig rekening met veranderingen in omgeving;
- Breng het onderwerp in bij opleidingen waar les wordt gegeven in programmeren.
FAIR-software
DANS en het eScience Centrum werken samen aan de beste route voor onderzoekers die iets met software willen gaan doen en/of de vraag hebben hoe ze hun software FAIR kunnen maken. In 2019 wordt opnieuw een Software Sustainability workshop georganiseerd. Stuur een mail naar info@dans.knaw.nl om op de hoogte te worden gehouden.
Patrick Aerts is in dienst van NWO, werkt bij het Netherlands eScience Center (Strategic Alliances) en bij DANS (Senior research fellow) en is voorzitter van PLAN-E, het Platform of National eScience Centers in Europe.