Door het preserveren van software kan duurzame toegankelijkheid van digitale informatie een stuk eenvoudiger worden, tegelijkertijd stelt ons dat weer voor nieuwe uitdagingen. Het is logisch dat de duurzaamheid van software aandacht vraagt gezien de toenemende verwevenheid van informatie met software en de noodzaak om onderzoeksinfrastructuur te preserveren. Om die reden heb ik de tweedaagse workshop Software Sustainability bijgewoond, georganiseerd door DANS, samen met mensen uit wetenschap, erfgoed, marktpartijen en belangenbehartigers als Internet Society NL en UNESCO.
Elk dagdeel werd ingeleid met een inhoudelijk praatje gevolgd door discussie en vragen, zeer interactief dus. De vragen waren:
Kunnen wij de FAIR principes voor data ook ‘plotten’ op software?
Wat is de meerwaarde van de koppeling van de wetenschappelijke als de culturele wereld?
Hoe komen wij tot een software sustainability infrastructuur?
Wat komt er bij kijken als wij een Software Seal of Approval zouden willen opzetten?
FAIR principes ‘plotten’ op software
De FAIR principes zijn vindbaar (findable), toegankelijk (accessible), interoperabel (interoperable), en herbruikbaar (reusable). Ze zijn opgesteld omdat het ‘rond het publiceren van wetenschappelijke gegevens ontbreekt aan breed gedeelde, duidelijk geformuleerde en breed toepasbare best practices. De FAIR principes pakken dit probleem aan door een nauwkeurige en meetbare set van kwaliteiten te formuleren die aan iedere goede datapublicatie ten grondslag moet liggen. De kwaliteiten zorgen ervoor dat de gegevens FAIR zijn’[1].
Vindbaar en toegankelijk lijkt toepasbaar op software maar interoperabel en herbruikbaar blijft een uitdaging. De vraag kwam op hoe deze principes zich verhouden met ‘lijsten’ die reeds bestaan zoals de Guidelines for software quality van Clariah , de ISO norm ISO/IEC 25010:2011 (voorheen 9126) Systems and software engineering - Systems and software Quality Requirements and Evaluation en de Software Evaluation: Criteria-based Assessment van het Software Sustainability Institute (SSI)?
De meerwaarde van de koppeling tussen wetenschap en cultuur
Patrick Aerts (eScience Center) hield een pleidooi voor de samenwerking tussen de wetenschappelijke en culturele wereld. Dit gebeurt reeds in het Netwerk Digitaal Erfgoed (NDE).
Daarna trad Roberto di Cosmo (INRIA, www.dicosmo.org) die vertelde over het software archief (https://www.softwareheritage.org/). Deze infrastructuur ondersteunt alles uit erfgoed, onderwijs/ onderzoek en industrie vanuit het principe eenmalig opslag, meervoudig gebruik. De vraag is wel ‘Wie gaat dit blijvend ondersteunen?’ Een begin is gemaakt door de samenwerking met Unesco PERSIST dat zich ook richt op de juridische vraagstukken.
Michiel Leenaars (https://nlnet.nl/, https://isoc.nl/) vertelde het verhaal van The commons conservancy, een schaalbare omgeving voor software ontwikkelaars op het vlak van techniek, recht en ondernemerschap.
Software sustainability infrastructuur
Toen de deelnemers gevraagd werd waar zij nu echt behoefte aan hebben, werd ‘een (Europees)Nationale Git-omgeving’, zoals SSI heeft, veel gehoord. Dit is een centraal beheerde omgeving waar kwaliteitscriteria gesteld kunnen worden met een zekere betrouwbaarheid.
DANS is bezig om hierop te anticiperen door het onderwerp te scopen aan de hand van een aantal vragen:
hoe ziet het krachtenveld er in Europa uit?
uit welke onderdelen bestaat een sustainable software infrastructure?
hoe staat het met de community awareness?
hoe maken we het praktisch?
Er zijn reeds Europese initiatieven zoals https://plan-europe.eu/, European Grid initiative (EGI) en SSI zelf. De aanwezigen zijn het eens dat er naast al bestaande initiatieven niet nog iets nieuws opgezet hoeft te worden maar dat het in dit geval gaat om het regelen van de governance, mensen en middelen … en dat het een domeinoverstijgende samenwerking moet zijn.
Software Seal of Approval
De vraag of het nuttig is om tot een kwaliteitskeurmerk te komen voor software was het laatste onderwerp en werd ingeleid door Neil Chue Hong (https://www.software.ac.uk/about/people/neil-chue-hong). Het is een razend ingewikkeld klusje om te bepalen wat dan gecertificeerd moet worden, het product, het toekomstig gebruik, de producer, de repository of alles? Wanneer, bij release, bij verstrekking van fondsen of bij gebruik? En wie zijn de stakeholders van een dergelijk seal?
Het nut van certificering lag voor iedereen wel vast. Door te certificeren worden de onderdelen (product, gebruik, producer, repository) beter en het kan benchmarking ondersteunen. Ook is van gedachten gewisseld over de beoordeling want, gaan we dat doen via self-assessment of wordt het een officieel traject? ‘De beoordeling is afhankelijk van mensen en niet binary’. Een kritische geest opperde ook dat softwarecertificering fnuikend kan zijn voor innovatie. Onderzoek is tenslotte een creatief proces en moet de ruimte hebben.
De beste uitkomst van die ochtend ging in de richting van de koppeling van softwareontwikkeling aan het ontwikkelproces: van het opzetten van het prototype, via functionele breakdown naar de service architectuur.
Tot slot
Ik waag mij niet aan uitspraken over software want ik heb geleerd dat het woord software een begrip is dat op vele manieren begrepen kan worden en dat in alle thema’s, van FAIR principes, infrastructuur naar certificering, de definiëring van software richtinggevend is. Gaat het om het preserveren van binaire informatie, gaat het om code, gaat het om functionaliteit, gaat het om service of een combinatie van dit alles? Daarnaast is er een onderscheid te maken tussen oude software waarbij je moet denken aan software archieven, musea en emulatie en nieuwe software die nog verbeterd kan worden door documentatie en richtlijnen. En als we dan afgesproken hebben wat we bedoelen met software, benadrukt Di Cosmo, dat software overal is en dat er geen universele catalogus bestaat, ‘Software is sterk afhankelijk van code loss, business decisions en obsoleteness’.
Het woord broncode roept ook verschillende reacties op. In de woorden van Harold Abelson[2] Source code provides a view into the mind of the designer en Don’t trust the binary, software is not just a sequence of bits, a software archive is not just another digital archives.
Aan het einde van twee dagen gingen de deelnemers uit elkaar met de bevestiging dat er een behoefte is aan een ‘FAIR like’ manifest voor software, dat er een community is voor de ontwikkelgeschiedenis van software, dat de kansen voor een Europese infrastructuur zeker onderzocht moeten worden en de belofte om na een jaar weer samen te komen.
[1] https://dans.knaw.nl/nl/fair-guiding-principles-gepubliceerd-in-nature
[2] schrijver van ‘Structure and interpretation of computer programs’