Managing research software
Software developed during the course of research is a valuable output and, like data, should be managed appropriately.
General data management principles can be applied to software development, but there are some tools and resources that are specifically designed to help you manage the process of developing and publishing software.
Publishing your software
Research software is often released under open-source licences. The Software Sustainability Institute has produced a guide to help you choose an open-source licence, or you can try the Lindat licence selector tool.
It is good practice to deposit your software in a repository in the same way as other research data. This way, you will have a DOI for each new version and users will have an easy way to find and cite a specific version of your software. If you use GitHub to manage your development process, you can push a release to certain data repositories such as Zenodo or figshare to get a DOI for your software in a few clicks.
Further information on developing and managing research software is available from the Software Sustainability Institute. If you regularly develop research software you may be interested in joining the Research Software Engineer Association.
To make sure that you’re able to publish your code easily at the end of your project, consider completing a software management plan at the start. See our guidance on writing a software management plan for more information.