Relevance
Software developed in the process of doing research is receiving increased attention. It is now more and more often considered a genuine research output next to scientific articles and research data publications. Based on representative user stories, the Task Force identifies and characterizes the different phases and stages that the research software development process can go through thereby defining the “Research Software Lifecycle”. Different approaches to software development such as product-, project- or platform-orientation are also outlined. The Task force closes with recommendations on EOSC infrastructure components needed to support the identified processes and platforms.
Scope
The document constitutes Deliverable 1 of the SubGroup 1 “On the Software Lifecycle” of the EOSC Task Force “Infrastructure for quality research software”. In order to reach the goals of the Task Force, it is mandatory to achieve a common understanding on the current processes in research software engineering, particularly the research software lifecycle.
The aim of the document Research Software Lifecycle is to illustrate this lifecycle and how its instantiations for particular software projects are influenced by varying developer groups and their intentions. The Task Force focused on the software developed and maintained in research which can be embedded into open research infrastructures such as EOSC. They pointed out possible connections to the existing and planned EOSC infrastructure to support the research software lifecycle. In general, research software should be as open as possible and reflect the FAIR principles in its design, especially the Interoperability and Reusability.
Main highlights
Key recommendations
An Infrastructure for Research Software in EOSC should support all user stories and the research software lifecycle as illustrated above in consistency with the EOSC rules of participation. To allow broad support for the software and services, infrastructure components for aggregation, communication, development and archival are required. There are two categories of actions as outcome of the software lifecycle needs: one is in the area of governance, outreach and support, the other is for technical implementations. Research software should be considered as a first class citizen of open science and the resulting requirements must be considered in the implementation of an EOSC infrastructure for research software.