As part of ongoing efforts to align technology across the three Pan-European infrastructures for the Social Sciences, Arts, and Humanities, representatives from CESSDA, CLARIN, and DARIAH held a workshop on “Software Sustainability: Quality and Re-usability”, previously announced on this blog, in Berlin on October 9/10th.
With participants from Austria, Germany, Great Britain, Norway and The Netherlands representing developers, users, service operators and IT managers, the talks and discussions covered a wide range of topics related to software sustainability. Speakers presented work already accomplished as part of the tasks the infrastructures have undertaken in their efforts to become operational. Among these are the DARIAH-NL Software Quality Guidelines and the CESSDA Software Maturity Model, which both define evaluation criteria for software products. Their approaches differ, in that the former focuses on explicit implementation guidelines, while the latter, modelled on NASA’s Reuse Readiness Levels, describes a generalised framework for evaluating a given software product. While criteria are also an important part of the DARIAH-DE Service Life Cycle, its focus is on describing processes and necessary considerations when taking software from initial design through development and testing to production use.
The overall problems these approaches try to address are similar to the challenges the software industry is facing: training, quality management, and dealing with an ever-growing technical debt are challenges that need to be addressed and re-evaluated on a constant basis.
The specific requirements and expectations are very different from the perspectives of the developer, the user, and the maintainer or service provider. This multifaceted understanding of sustainability is similar to that of data, for which FAIR principles have become the de-facto definitions of in this respect. A similar approach, the “Recommendations to encourage best practices in research software” aims at improving the overall quality and re-usability of research software.
Agreement reigned among workshop participants on the need to foster and spread awareness of these different needs. At various levels, these can possibly be addressed through guidelines, recommendations, and criteria catalogues at varying levels of detail. Elementary guidelines for software developers just starting out, which typically only involve modest scripting and ad-hoc solutions implemented for highly specialised problems, can support the process from the start. In general, not all software development can or must aim at reaching production level maturity. On the other hand, when software is re-used or applied by third parties, external evaluation can improve trust. This is particularly relevant to infrastructures which not only have to rely on the code that runs their services, but are facilitators in providing a wider research community and thus end users access to the tools concerned.
Improving on the status quo involves at least as great a cultural change in the academic acceptance of software as a form of relevant research output as is currently the case for data at large. In this light, the adoption of requirements by funders plays as significant a role as any cultural shift among researchers. Defining similar general requirements for research software by funders may be an incentive to invest in quality. But as research thrives on new and innovative technology and ideas, adhering to formal procedures and requirements in the IT world with its fast-paced rate of change can potentially also limit progress. Ultimately, balancing the interests of the different stakeholders remains a core challenge when considering and defining the meaning of sustainability for a given piece of software.
A concrete common goal expressed at the workshop was to align the existing criteria catalogues with each other and also existing alternatives by the UK Software Sustainability Institute and the Netherlands eScience Center. The plan to continue the exchange among the three infrastructures should involve these institutions as well as the Research Software Engineering community at large. Further discussions on the topic are open to interested contributors within the DH-Tech Group’s Slack channel #sustainability.
The workshop was a joint effort by DARIAH-DE and DARIAH-EU within the DESIR project, receiving funding under the Horizon 2020 Programme, Grant Agreement no.: 731081.