Open source software and code | Explore our guidance

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. 

    What is research software?

    F1000 supports the FAIR for Research Software (FAIR4RS) Working Group definition of 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:

        Findable

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

        Accessible

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

        Interoperable

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

        Reusable

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

        Before sharing your software and code, consider how you can ensure you meet the FAIR principles outlined above.

        How to make your software and code open source

        Permissive vs. copyleft licenses

        The most common open source licenses can be categorized as copyleft or permissive. The difference lies in the license’s requirements and restrictions on those who want to reuse the software.

        Copyleft licenses are a method for making a software program freely available and requiring all modified and extended versions of the program to be free, according to the GNU. As such, any software created using an open source component with a copyleft license must also use a copyleft license—even if it only reuses a small part of the code.

        Permissive licenses guarantee the freedom to use, modify, and redistribute while requiring minimal restrictions on how others can use open source components. A permissive license permits others to use the source code in proprietary derivative works with no obligation to make future works open source. Permissive licenses typically require users to include a copy of the license text and the original copyright notice in any redistribution of the licensed code.

        It’s perhaps unsurprising that permissive open source licenses continue to be the more popular choice among those sharing their software. In 2021, 78% of open source components had permissive licenses.

        Most popular open source licenses

        Many open source licenses are available, making it difficult to know where to start when selecting a license for your software. The Open Source Initiative (OSI) is a global non-profit organization that acts as a standards body to maintain a shared definition of “open source” and accredit licenses. At F1000, we strongly advise our authors to use OSI-approved licenses to distribute their work.

        Some of the most popular OSI-approved licenses include:

        • Apache License 2.0 (Apache 2.0)
        • MIT License (MIT)
        • GNU General Public License (GPL)
        • Berkley Software Distribution License (BSD)
        • GNU Library or “Lesser” General Public License (LGPL)

        Benefits of open source software

        Depositing your research software and code into a repository is an extra step to consider as part of your research project—so what is the value in sharing?

        • Your software becomes part of the academic record and is retained for future use.
          You can store a complete record of your research project for future use, retaining the exact version of the software upon which you have published research results.

        • Open source software drives trust in your findings.
          When research software is openly available, this enables others to be able to read and analyze the computational parts of an associated research article and validate the findings.

        • Open source software supports reproducibility and reusability.
          Research software remains available beyond the lifetime of the original project for other researchers to replicate, reproduce, and reuse.

        • You can establish ownership and get credit for your research software.
          When you share your software, others can cite it as part of their research. Citation allows you to get attribution and credit for your research software when others use it.

        • Research software published openly can be peer reviewed and improved.
          Making your work open enables you to get feedback and improve your project in ways you may not have come to alone. Peer review might be part of a publisher’s formal peer review process or informally by researchers interested in reusing the software.

        Where can I publish articles on my scientific software?

        F1000 publishing venues offer a unique article type, known as Software Tool Articles, that allows you to describe new software you have created to support or conduct research in any field. These articles explore:

        • 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