Research software and code
Computer code written to generate, process, analyse and validate research data is part of the data produced by the research, and falls within the scope of the University's Research Data Management Policy. Principles of data management should be applied to code, and code written in support of research findings should be preserved and shared wherever possible.
Funders' policies generally consider code written in research as a component of the data necessary to validate research findings. NERC, for example, recognises that model code is a valuable research output which makes the research process more transparent and auditable, and should be preserved beyond the lifetime of the project. It includes guidance on the preservation of model code and model output alongside its data policy. The Wellcome Trust includes software alongside data in its Data, software and materials management and sharing policy.
The University's Guide to publishing research software (PDF) provides guidance on best practice in software code management and sharing. Guidance on publishing open research software and code can be found in the Open Research Handbook. The Research Software Engineering team provides training and support for good research programming practice.
The University encourages researchers to follow best practice in the management, preservation and sharing of code written in the research process. It is recommended that an online code repository be used to manage code. A code repository will provide version control, code review, bug tracking, documentation, user support and other features. Repositories can be either private or public, so that code can be maintained during a closed development phase and released for open use at an appropriate stage. The University provides a GitLab code repository service; other popular platforms are GitHub and Bitbucket.
Versions of code that support published results should be exported from the code repository and archived to a public data repository. This will enable a specific version of the code used to generate or analyse reported results to be cited by DOI. GitHub provides an easy-to-use function for archiving code files to the Zenodo digital repository. Code files can also be deposited in the University's Research Data Archive.