Open source software and code

Find everything you need to know about sharing software and code from your research project

What is open source software?

Open source software is distributed under a license that allows anyone to use, modify, and distribute the software and its source code. Sharing software as open source enables other researchers to:

  • Inspect your software

  • View the source code

  • Understand how you produced your results

    As a result, open source software supports transparency, reproducibility, and reusability.

    Open source software can be developed collaboratively online and can continuously evolve. Researchers that reuse open source software can make changes in new versions, such as adding features they need for their research or fixing bugs. They can also contribute these improvements to the main project so the wider community can take advantage of them.

    Importantly, successfully sharing research software in a reusable way requires more than just releasing it under an open license. Only well-designed and well-documented code is easy to reproduce, reuse, or modify for new applications by other researchers.

    DOWNLOAD OUR FREE GUIDE

    How to choose an open source license

    Fill in the form below to determine the best open source license for your research software.

     

    When we talk about research software, we refer to:

    • Source code files
    • Algorithms
    • Scripts
    • Computational workflows
    • Other executables created during the research process or for research purposes

    Making research software and code FAIR

    You might already be familiar with the FAIR Principles as they apply to research data, but what about research software and code? For research to be transparent, reproducible, and reusable, research software must also be Findable, Accessible, Interoperable, and Reusable.

    To improve the sharing and reuse of research software, FAIR4RS revised and extended the existing FAIR Data Principles. They determined that open research software should be:

    Software and its associated metadata are easy for both humans and machines to find.

    Software interoperates with other software by exchanging data and/or metadata, and/or through interaction via application programming interfaces (APIs), described through community standards.

    Software, and its metadata, are retrievable via standardized protocols.

    Software is both usable (can be executed) and reusable (can be understood, modified, built upon, or incorporated into other software).

    • Why you developed the software
    • Details of the code, method, and analysis used
    • Examples of data input sets
    • Examples of outputs and how to interpret these
    • Tips on how to maximize the tool’s potential

    We also welcome articles describing tools created from existing software, web tools, apps, containers, packages, and workflows.

    Expand your open research knowledge

    12th Oct 2023

    Peer review is not just quality control, it is the backbone of modern scientific and academic publishing, ensuring the validity and credibility of research articles. While it may seem like…

    Read More
    28th Sep 2023

    The peer review process is a fundamental component of scholarly publishing, ensuring the quality and credibility of academic research. After submitting your manuscript to a publishing venue, it undergoes rigorous…

    Read More
    17th Aug 2023

    Peer review is an integral part of scholarly communication and academic publishing. A key player in this process is the peer reviewer, who is typically a recognized expert in the…

    Read More

    FREE GUIDE

    The essential guide to choosing an open source license