
What Does It Mean to Cite Software?
Citing software means giving proper credit to the creators, developers, and maintainers of code or software used in research. It acknowledges computational tools as legitimate research outputs and ensures reproducibility, transparency, and ethical scholarship.
Why Citing Software Matters
- Reproducibility: Allows others to verify and replicate results.
- Attribution: Recognizes the intellectual effort behind coding.
- Research Integrity: Prevents plagiarism and hidden dependencies.
- Visibility: Enhances recognition for developers and coders.
- Data Traceability: Links code, data, and publications for open science.
Where to Cite Software in a Paper
- In-text citation – Mention software name, version, and citation in parentheses or brackets.
- Methods section – Describe how and why you used specific tools.
- References section – Provide full citation using the required citation style (APA, IEEE, Harvard, etc.).
- Supplementary materials – Include code repositories, DOIs, and documentation links.
Recommended Citation Formats
Style | Example |
---|---|
APA (7th ed.) | Smith, J. (2023). DataCleaner (Version 2.1.3) [Computer software]. GitHub. https://github.com/smithj/datacleaner |
IEEE | J. Smith, “DataCleaner (Version 2.1.3),” GitHub, 2023. [Online]. Available: https://github.com/smithj/datacleaner |
Harvard | Smith, J. (2023) DataCleaner (v2.1.3). GitHub. Available at: https://github.com/smithj/datacleaner |
BibTeX | @software{smith2023datacleaner, author={Smith, John}, title={DataCleaner}, version={2.1.3}, url={https://github.com/smithj/datacleaner}, year={2023}} |
How to Get a DOI for Software
- Upload your repository to Zenodo, Figshare, or Dataverse.
- Link your GitHub repository to Zenodo (automatic DOI creation).
- Add the DOI badge to your README and citation file.
- Update your documentation with CITATION.cff format for better discoverability.
Common Software Citation Repositories
- Zenodo – integrates with GitHub for DOI assignment.
- Figshare – for software snapshots and supplementary materials.
- Software Heritage – long-term archiving of open-source code.
- GitHub – main platform for development and citation integration.
- DOI.org – for assigning persistent identifiers.
Best Practices for Software Citation
- Always cite software version numbers used in analysis.
- Include URLs, DOIs, and license information.
- Credit both authors and maintainers.
- Use machine-readable metadata (CITATION.cff, codemeta.json).
- Follow community guidelines (e.g., FORCE11 Software Citation Principles).
Ethics & Acknowledgment
- Respect open-source licenses (MIT, GPL, Apache).
- Avoid using software without citation, even if free or public.
- Acknowledge contributors in the Acknowledgments section if citation is unavailable.
- Ensure third-party code is compatible with your publishing license.
Useful Tools for Managing Software Citations
Tool | Function |
---|---|
Zotero | Automatically imports software entries from repositories. |
Mendeley | Manages references including software DOIs. |
EndNote | Supports “Software” as a reference type. |
BibTeX/BibLaTeX | Ideal for LaTeX users; supports @software entry. |
CFF-Convert | Converts CITATION.cff files into BibTeX or EndNote formats. |
FAQ (Frequently Asked Questions)
Q1. What if the software has no DOI or formal citation?
A: Cite the GitHub URL, author(s), and version number. Example: “(Author, Software Name, GitHub URL, accessed May 2025).”
Q2. How do I cite custom code written by myself or collaborators?
A: If the code is unpublished, reference it as “unpublished code available upon request” or host it on a repository (GitHub, Zenodo) and cite that.
Q3. Should I cite libraries like NumPy or Pandas?
A: Yes — always cite widely used libraries. Each major library (NumPy, TensorFlow, etc.) provides an official citation.
Q4. Is it acceptable to cite GitHub instead of a DOI?
A: Temporary citation via GitHub is fine, but DOIs provide permanent, citable records — always prefer DOI-based references.
Q5. Can I list software in the Acknowledgments instead of References?
A: Only minor tools should be acknowledged; key analytical software must be cited in References.
Q6. How do I include software in my ORCID profile?
A: Add your software via “Works → Add Work → Add DOI or BibTeX” on ORCID.org.
Q7. What’s the difference between software citation and data citation?
A: Software citation acknowledges computational tools; data citation refers to datasets and collected information.
Q8. How do journals check for proper software citation?
A: Many publishers (Elsevier, Springer, PLOS, MDPI) automatically detect DOIs from references using CrossRef integration.
Q9. Can proprietary software be cited (e.g., SPSS, MATLAB)?
A: Yes, include the company name, version, and location. Example: IBM Corp. (2024). IBM SPSS Statistics for Windows, Version 29.0.
Q10. How does software citation improve my research visibility?
A: It links your profile with indexed repositories, increasing discoverability via Google Scholar, Scopus, and ORCID.