Introduction to Software Citation in Scholarly Spaces
Research software is a vital component of modern scientific discovery. However, software has historically been treated as supplementary material rather than a citeable, first-class scholarly output, leading to reproducibility gaps and a lack of academic credit for developers.
The FAIR4RS Principles Explained
The FAIR Principles for Research Software (FAIR4RS), released in 2022, adapt the original FAIR guidelines specifically for the unique lifecycle of code. Unlike static data, software is execution-focused, versioned, and dependent on software stacks, requiring specialized standards for findability and reuse.
How to Assign DOIs and Cite Software Correctly
To make software citeable, developers must archive specific, versioned releases in repositories that issue DOIs, such as Zenodo’s direct integration with GitHub. In publications, authors should cite software in the reference list, referencing the unique software DOI and version number, rather than merely linking to a website URL.
Cultural and Systemic Incentives for Software Engineers
Universities must reform hiring and evaluation systems to recognize research software engineering (RSE) contributions. Assigning academic credit for software citations encourages researchers to write well-documented, open-source code, ultimately enhancing scientific reproducibility and computing standards.
Key Data and Comparative Metrics
| Citation Element | Incorrect Approach | Compliant Scholarly Standard |
|---|---|---|
| Software Reference | Footer URL link: ‘Analyzed using tool at github.com/user/tool’. | Reference entry: ‘User, A. (2026). Tool (v2.1.0). Zenodo. https://doi.org/10…’ |
| Version Tracking | Citing a general repository without specifying the version used. | Cite the specific GitHub release or container ID tagged with a unique DOI. |
| Metadata File | Omitting machine-readable metadata. | Include a ‘CITATION.cff’ file in the root repository directory. |
Actionable Checklist for Software Citation
- Include a machine-readable CITATION.cff file in your software’s root repository.: Include a machine-readable CITATION.cff file in your software’s root repository.
- Integrate GitHub repositories with Zenodo or Figshare to auto-mint versioned DOIs.: Integrate GitHub repositories with Zenodo or Figshare to auto-mint versioned DOIs.
- Cite the specific software version used for data analysis in your methodology section.: Cite the specific software version used for data analysis in your methodology section.
- List software references in the article’s official, structured bibliography.: List software references in the article’s official, structured bibliography.
- Recognize software engineering roles (e.g., CRediT Software role) in author contributions.: Recognize software engineering roles (e.g., CRediT Software role) in author contributions.








