What is Research Software?
There have been various definitions of research software - the following two definitions offer two ends of a spectrum of what research software is. The RSQKit does not mandate the definition of what research software is, however its authors and editorial board may be opinionated on what they believe the definition is and this may vary over time and be reflected in the RSQKit pages.
The following is taken from Defining Research Software: a controversial discussion1 - the most recent and expansive discussion on what research software is that was done under the auspices of the FAIR4RS RDA working group. We are quoting the text here from page 6:
Inclusive definition of Research Software
All code and software artefacts that are used, produced, or might be related to the research process in one or more stages of the research lifecycle and regardless of the layer of the software stack.
Software that was not necessarily developed with the intention of being part of research, for example, a library for interfacing with a sensor, or software that ceased to be exclusive to the research domain, for example, certain programming languages developed in research projects, e.g., Python, Scala, R.
Exclusive definition of Research Software
Well identified software that is part of the research discovery process, which might require specialised domain knowledge and is by itself a contribution to science and research.
Software that was developed with the intention of being part of research.
For some, the inclusive definition would be more correctly termed ‘software in research’ whereas the exclusive definition would be termed research software. Since the focus of the RSQKit is to highlight quality practice, most of the advice (especially around tasks) could be applied to software in research. However, many of the best practices are found in research software and we hope the RSQKit helps promote the practices to other areas of research and allows cross-pollination of ideas and practice.
Further topics on research software
You can read about the life cycle and the Three-tier view that are used in RSQKit to understand development and impact of research software.
References
-
Gruenpeter, M., Katz, D. S., Lamprecht, A.-L., Honeyman, T., Garijo, D., Struck, A., Niehues, A., Martinez, P. A., Castro, L. J., Rabemanantsoa, T., Chue Hong, N. P., Martinez-Ortiz, C., Sesink, L., Liffers, M., Fouilloux, A. C., Erdmann, C., Peroni, S., Martinez Lavanchy, P., Todorov, I., & Sinha, M. (2021). Defining Research Software: a controversial discussion (Version 1). Zenodo. https://doi.org/10.5281/zenodo.5504016 ↩