Skip to content Skip to footer

tasks: Publishing software

Publishing research software comprises more than just putting the code online into a public code repository such as GitHub or Gitlab. While it is a great start, publishing software may involve additional steps to prepare you software so others can find, understand, use, and cite it.

Tasks to consider when publishing your software include:

  • writing release notes, a changelog, documentation and usage instructions,
  • adding metadata for discoverability, and ensuring reproducibility by capturing dependencies and environments (through containers, environment files, or workflow systems),
  • choosing and applying an appropriate open licence,
  • adding citation files, contribution guidelines, and community practices to support reuse and credit,
  • versioning and releasing a stable, usable and installable version of your software (e.g. as a “package” in a package registry or by tagging a specific version as an official release in code repositories),
  • archiving the release (e.g. on Zenodo or Software Heritage) with a DOI.

This is the suggested order in which you should look at the related sub-tasks.

Contributors