Publish research software
Software is an essential part of research. Researchers develop and reuse software as part of the research process to generate, process or analyse results. Sometimes the development of a model or algorithm is a primary research objective. Also, software is increasingly recognised as its own research output.
Publishing research software has multiple benefits:
- It helps to get recognition and credit for your work
- It supports research reproducibility and transparency
- It contributes to the development of the scientific community if research software can be reused
To get credit for the research software you produce, the best way is to publish it in a way that allows you to assign a Persistent Identifier (PID) such as a DOI (Digital Object Identifier) to the published version/release. For example:
- Publishing your research software in a software journal (you can see here a list of software journals)
- Publish your GitHub or GitLab repository through a data repository or archive that provides a DOI and makes the software citable. TU Delft offers 4TU.ResearchData, which has an integration with GitHub and GitLab to make the publication of research software easier.
When publishing research software, it is relevant to let the research community know how you would like that software to be used. Assigning a license to the software signals to others how they can reuse the software. To allow for the broadest reuse possible, TU Delft recommends you to use an open license, such as MIT, BSD, Apache, GPL, AGPL, LGPL, EUPL, CC0. By sharing the software under one of these pre-approved licenses your research software is shared in accordance with the “TU Delft Research Software Policy”. Please see an overview of software licenses and some guidance on how to choose between these licenses.
The TU Delft Research Software Policy also requires you to share the software through a data repository to guarantee long term preservation and enable proper citation of the software. You can share research software through 4TU.ResearchData. You can also use other data repositories, as long as you then manually register your software in PURE). Please see the “TU Delft Guidelines on Research Software” for more information or review this slideck and recording of an information session.
To make the research software of your project easy to cite, besides assigning a DOI to the software version/release, you should provide a CITATION file as part of the documentation of the software. This can be a human readable file like a plain text file (e.g. as part of a ReadMe file) in the root directory of the software with information about how to cite the software. Or, it can be a machine readable file like in this example. The tool CFFINIT allows to easily create software citation metadata files.
If you are reusing software from others also make sure to provide proper credit for their work! It is good practice to cite the software you used during your research project, such as software used to generate and analyze data.