Open source software and code | Explore our guidance

Open source software and code

Get the credit you deserve for all the work you do

Why share open source software and code?

Open source software and code are crucial to the discovery process in every field of research, from bioinformatics to digital humanities. At F1000, we believe that the researchers and software engineers who develop these tools should receive full credit for their work.

So how do you ensure your software and code is easy for others to replicate? Importantly, only well-designed and well-documented code is easy to reproduce, reuse, or modify for new applications by other researchers.

On this page, we answer common questions surrounding publishing open source software and code, including:

  • What is open source software?
  • What is research software?
  • How do I make my research software and code open source?
  • What are the advantages of open source software?
  • Where can I publish my software and code?

DOWNLOAD OUR FREE GUIDE

How to choose an open source license

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

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.

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

      How to make your software and code open source

      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.

      FREE GUIDE

      How to choose an open source license