Skip to aside Skip to content Skip to footer

tasks: Adopting FAIR research software practices

What is FAIR research software?

FAIR stands for Findable, Accessible, Interoperable, and Reusable and comprises a set of principles designed to increase the visibility and usefulness of your research to others. The FAIR data principles, first published in 2016, are widely known and applied today to other areas, including software, scientific workflows, or machine learning projects.

The FAIR software principles for software mean that it should be:

  • Findable - software and its associated metadata must be easy to discover by humans and machines.
  • Accessible - in order to reuse software, the software and its metadata must be retrievable by standard protocols, free and legally usable.
  • Interoperable - when interacting with other software it must be done by exchanging data and/or metadata through standardised protocols and application programming interfaces (APIs).
  • Reusable - software should be usable (can be executed) and reusable (can be understood, modified, built upon, or incorporated into other software).

Let’s have a quick look into what each of the above principle means in practice. Five Recommendations for FAIR Software also gives a quick overview of what is making software more FAIR entails.

How can we make our software findable?

How can we make our software accessible?

  • Make sure people can obtain get a copy your software using standard communication protocols (e.g. HTTP, FTP, etc.)
  • The code and its description (metadata) should be available even when the software is no longer actively developed (this includes earlier versions of the software) - see [software archiving][archiving_software]

How can we make our software interoperable?

How can we make our software reusable?

FAIR and quality

FAIR software sits squarely within the broader umbrella of quality research software. Quality software is defined by multiple aspects - e.g. correctness, performance, maintainability, usability, robustness, and reproducibility, among others. Reproducibility (the “openness & reusability” slice of software quality) often hinges on the FAIR principles: if your code and metadata are not findable or accessible, no one can rerun it; if it is not interoperable or reusable, others cannot adapt or extend or use it to verify your results.

So, FAIR is a crucial subset of quality, primarily ensuring that your software can actually be discovered, understood, and exercised by others (or by you, months down the line). A truly high-quality, reproducible research software package will typically satisfy both classical software-engineering criteria (tests, style, documentation, performance) and the FAIR principles.

Tools and practices for FAIR

There are various tools and practices that support the development of FAIR research software - some of them listed above. These tools and practices work together, as no single tool or practice will fully address one principle, but can contribute to multiple principles simultaneously.

It is important to note that while FAIR can improve software quality in several aspects - it does not say anything about its functionality. This mean that software may be FAIR, but still not very good in terms of what it does - other practices need to be employed (e.g. testing software) to make sure it works on different platforms/operating systems and that it is correct and does what it is set out to do.

Tools and frameworks exist for assessing software FAIRness:

  • FAIR software checklist - a self-assessment tool developed by the Australian Research Data Commons (ARDC) and the Netherlands eScience Center
  • FAIRsoft Evaluator - OpenBench’s tool for assessing the FAIRness of software tool from its metadata
  • howfairis - a command line tool to evaluate a software repository’s compliance with the FAIR principles
  • CODECHECK - an approach for independent execution of computations underlying research articles
  • Common metrics for Research Software that may used to assess each of the FAIR4RS principles
  • RSFC - a command line interface to automatically evaluate the FAIRness of a Github or Gitlab repository

They not meant to criticise or discredit software or its authors. Their role is to make quality aspects visible, help researchers identify strengths and areas for improvement, and support the evolution of good practices. In the context of research software, such assessments are diagnostic rather than evaluative — they guide reflection, transparency, and learning, not scoring or ranking. By using them, researchers can better understand how their software performs across different aspects of FAIRness and make informed decisions about how to improve it.

Related pages

Training

EVERSE TeSS search results:
Skip tool table

Tools and resources on this page

Tool or resource Description Related pages More about tool on TechRadar
bio.tools Essential scientific and technical information about software tools, databases and services for bioinformatics and the life sciences.
Choose an open source license Choose an open catalog license is a tool to help you choose an open source license for your software. An open source license protects contributors, users and developers. Licensing software View on TechRadar ↗
CODECHECK CODECHECK tackles one of the main challenges of computational research by supporting codecheckers with a workflow, guidelines and tools to evaluate computer programs underlying scientific papers.
CodeMeta CodeMeta is a community standard and initiative focused on creating a minimal metadata schema for scientific software and code, promoting their findability, preservation, and reuse through machine-readable metadata in JSON-LD format. Phoenix2 Software identifiers Software metadata
CRAN CRAN (The Comprehensive R Archive Network) is a network of worldwide servers storing identical, up-to-date versions of code, documentation, and packages for the R programming language. It is the primary repository for R, providing essential tools for statistical computing, data analysis, and graphics, including base R binaries for Windows, macOS, and Linux.
FAIR software checklist FAIR software checklist - an interactive self-assessment tool with questions about FAIRness of research software.
FAIRsoft Evaluator A tool for assessing the FAIRness of software from its metadata using the FAIRsoft indicators.
FigShare Figshare is a provider of open research repository infrastructure for sharing, showcasing and managing all research outputs in a discoverable, citable, reportable and transparent way. Software metadata
GitHub GitHub is a platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control. GitHub provides access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Research Software Stor... APICURON - The platfor... DOME Registry Research Software Stor... Research Software Stor... Archiving software Citing software Performing a code review Computational workflows Documenting code Documenting software p... Documenting software u... Using organisational G... Packaging software Releasing software Using version control
GitLab DevOps platform that enables teams to collaborate, plan, develop, test, and deploy software using an integrated toolset for version control, CI/CD, and project management. Research Software Stor... Phoenix2 Archiving software Performing a code review Computational workflows Documenting code Documenting software p... Documenting software u... Using organisational G... Packaging software Releasing software Using version control View on TechRadar ↗
howfairis Howfariris is a command line tool to analyze a GitHub or GitLab repository's compliance with the EU FAIR software recommendations. Creating a good README View on TechRadar ↗
Python Python is an interpreted, high-level, object-oriented programming language known for its dynamic typing, readability, and extensive standard library, making it ideal for rapid development and modular, reusable code. Research Software Stor... Research Software Stor... Creating a good README Choosing languages, to...
Python Package Index (PyPi) Official third-party software repository for Python packages Reproducible software ... View on TechRadar ↗
RSFC A command line tool that performs a quality assessment based on a series of Research Software Quality Indicators (RSQIs)
Software Heritage Software Heritage archive is the largest public collection of source code in existence. It Collects, preserves, curates and makes available software in source code form as cultural heritage Archiving software Software metadata View on TechRadar ↗
Zenodo Zenodo is a general-purpose open repository developed under the European OpenAIRE program and operated by CERN. It allows researchers to deposit research papers, data sets, research software, reports, and other research-related digital artefacts. DOME Registry Phoenix2 Archiving software Citing software Creating bibliographic... Documenting code Releasing software Software identifiers Software metadata View on TechRadar ↗