Skip to ContentSkip to Navigation
Digital Competence Centre
your one-stop for research IT and data
Digital Competence Centre Data & Software Management Research Software Management

FAIR research software

A key aspect of Open Science is to make your research FAIR: Findable, Accessible, Interoperable, and Reusable. Although the FAIR guiding principles were mostly applied to research data, recently they have also started to be applied to research software. But why is FAIR research software important? And what can you do to make research software FAIR?

Why is FAIR software important?

FAIR research software is important because:

  • Modern research relies heavily on the availability and development of software. FAIR software makes finding and using existing, available software easier.
  • Findable and accessible software creates recognition for the author through utilization and citations.
  • Interoperable and reusable software enables a faster growth of the knowledge in the community.
  • FAIR software benefits from having a given research process cited, tested, and validated by the community.
  • Using a software repository to make your code FAIR allows you to keep track of the versions of your software.
  • FAIR software enables transparency, reproducibility, and reusability in research.
  • FAIR software allows science, education, society, and industry to have effective access to software-based knowledge.
How is research software different from data?

Research software constitutes any piece of executable code that contributes to collecting, analyzing or in any way modifying the data attached to your research. So, what aspects of data and software make them fundamentally different from each other?

  • Software is a tool to perform a specific task (e.g. processing data), data provides facts and observations.
  • Software is a subjective way of processing and interpreting data and can change over time with new discoveries, data is static and objective evidence collected during research.
  • Software is executable, data is not.
  • Software depends on other software to operate (such as compilers and editors, for example), data is independent of other data.
  • The lifetime of software is generally shorter than that of data, as versioning is applied more frequently.

How to FAIRify your software

Practicing FAIR means integrating the FAIR principles in your research workflow. Below is a quick guide of what to do and how to do it in order to make your software FAIR.

decorative image
How to FAIRify your software
1. Purpose phase
decorative image

Compiling a Software Management Plan (SMP) helps you plan for important aspects of your software:

  • Think about and plan the (initial) scope of your software. The scope you define here does not need to be final.
  • Define the impact your software will have.
  • Decide on the license for your software.

N.B.: If you are in doubt about which license you want to use and for questions about potential commercial use, please contact the Knowledge Utilization & Entrepreneurship Department.

2. Coding & reliability phase
decorative image

Choose a searchable platform with version control to put your software on, in order to make it findable and accessible. Examples of platforms you can use are GitLab, GitHub, or you could use a publicly accessible repository with version control.

  • Write and version clean code on the platform you chose. Follow proper syntax rules, best practices, etc.
  • Properly document and comment your code and create a clear code manual. Describe your code with rich metadata.
  • Properly test your code during each step of development.

Finally, you will need to make sure that the data your code produces is also FAIR. Please review our FAIR data guide or any other source on the topic to make sure that your output data fits the four FAIR data pillars.

3. Maintenance phase
decorative image
  • Publish your code in a Findable and Accessible repository, such as Zenodo. Obtain a DOI for each version of the software that you publish. If you are using GitHub, make use of the GitHub integration in Zenodo (see example below).
  • Keep your references up-to-date (e.g. the code license and your citation file). If the scope of your software changed, double-check the validity of your license.
  • Maintain your code, fix reported bugs, and verify the functionality of your dependencies! To respect the FAIR software principles, your code needs to remain reliable after your research is done.

Plan for the next cycle! Does your code need to be enlarged, improved, or have its scope redefined? Review the SMP and start a new development cycle, if your software requires it.

Example: GitHub and Zenodo

A researcher that has decided to use GitHub as their software repository, can then use their GitHub account to connect to Zenodo. This allows them to publish their software project in a FAIR way on Zenodo, not only to make it more findable by having it on another searchable platform, but also because Zenodo will then provide a persistent DOI for each published version. This DOI can then be made available in the citation file to both keep track of the version used and to simplify the discovery of the correct or current version of the program by other interested parties.

Last modified:25 September 2024 3.20 p.m.