Have you built a tool to analyse research data? Perhaps you have some unique code or script that is necessary to replicate the findings in your publication. These are considered research software and are viewed as important research outputs. As a result, publishing and sharing software you create means getting recognition for your work.

Publish and share open research software introduces you to the benefits of openly sharing your research software. 

2. Prepare your software or code for publication

Prepare your software with your users in mind. Researchers will want to:

  • Understand how your software works and what they can do with it
  • Apply the software or code in their own research.

Keep track of versions

Use a code repository with a version control system to keep track of your code. It adds resilience to your software, supports its ongoing maintenance, and enhances the transparency of your work. A code repository should enable you to:

  • Track changes over time
  • Link to the version used for a paper or to analyse a dataset.

Examples of version control code repositories include: 

Provide supporting information

Prepare and document your code for its publication, preservation and reuse.

Ensure you have the following when publishing your software: 

  • All the source code  
  • All documentation and commentary that supports the reuse or running of the code or software. This could be in the form of a README.txt file 
  • Details of the version, particularly where it is integral to any analysis, model or tool in a publication 
  • An open-source license 
  • A persistent identifier or Digital Object Identifier (DOI) should be linked to a data or software repository. See Where to publish for more information 
  • A data or software availability statement to submit to the journal publisher, including the DOI, citation and location of the software/code.

Restrictions to software publishing 

Research software should not be published or shared openly when: 

  • the software is subject to patent or other intellectual property controls 
  • the code may be sensitive or could be used to access human-identifiable information 
  • there may be sensitive security and access information embedded in the code.

More about sustainable research software

Publishing your research software appropriately enhances its sustainability. This ensures it will endure and be available in the future, meeting new needs.  

For many researchers, creating sustainable software is a new concept but there are resources to support you in your work. Try the following: