By releasing software and code you have created and/or developed in your research, you are further contributing to the research landscape and making your approach to research more open, transparent, and reproducible. You can also keep track of versions and track download and citation statistics.
In this video, Peter Kalverla from the Netherlands eScience Center talks about the importance of sharing code for research. He breaks down barriers to code sharing by demonstrating tools for improving code quality and uploading code to a code repository. He also dicusses the benefits of code sharing by demonstrating the process of code reviews and mechanisms for code citation.
Source code management (SCM) or version control systems are tools that not only allow you to manage your research code, but also enable collaboration and code sharing. There are a number of different version control systems, but Git SCM is one of the most widespread.
In this video, Errol from the Digital Skills Training team explains how using Git can benefit your research:
Using a version control system like Git makes it easier to collaborate and share with other researchers. There are a number of code repositories that are specifically designed for managing, sharing and collaborating on version controlled software and code.
Most of these platforms allow you to create an account for free, though some of them have restrictions on the number of repositories you can create, size of file you can upload, or number of contributors you can have.
Digital object identifiers (DOIs) allow other researchers to cite your code and lets you track its reuse. You can register a DOI for your code by depositing it with an open research repository. You can manually submit your code to any data repository, including the University's melbourne.figshare.com repository, which will allow you to generate a DOI. However, some code repositories offer specific integrations with open research repositories. Learn more about getting a DOI for your code using the GitHub and Zenodo integration.
Once you have a DOI, you may want to include a plain text CITATION file in your code repository that includes information on how you would like your code to be cited. This can include an example citation and a BibTex formatted citation using either the @online or @software entry types. A template CITATION file, using the recommendations of Katz et al. (2021), might look like:
To reference this code in publications, please cite as:
Developer, A. A., Developer, B. B., & Developer, C. C. (yyyy). Title of the software: Subtitle (Version #.#) [Computer software]. Publisher, https://doi.org/DOI
@online{author-title-yyyy,
author = {A. A. Developer and B. B. Developer and C. C Developer},
title = {Title of the software},
version = {#.#},
date = {yyyy-mm-dd},
publisher = {Publisher},
url = {https://URL},
doi = {DOI}
}
You can find an example CITATION file in the Software Carpentries GitHub repository.
Reference:
Katz, D. S., Chue Hong, N. P., Clark, T. et al. (2021). Recognizing the value of software: a software citation guide [version 2; peer review: 2 approved]. F1000Research 2021, 9:1257. https://doi.org/10.12688/f1000research.26932.2