Software Citation

Licenses
Software
Citation
Credit
Author

Esther Plomp

Published

December 8, 2023

Software citation is important to receive credit for software outputs and to ensure permanent references to the software.

While platforms such as GitHub/GitLab/Bitbucket are great for reuse and collaboration, they are no long-term solutions for software preservation. Instead, a snapshot of the software should be shared using a data repository. This data repository will provide you with a persistent identifier, or DOI, which is key for making the code citable.

Some data repositories, such as Zenodo and 4TU.ResearchData, have integrations with GitHub so that you can easily share a release of your software repositories.

Once you shared your software on a data repository and received a DOI, it is important to let others know how they should cite your data. If you’re reusing software of others, you should also properly cite their work.

CFFinit

There is a tool that helps you create a CITATION.cff for your software: CFFinit. Watch the tutorials to learn how to create a CITATION.cff file, or how to update it.

Software citation: how to format?

The recommended format (Katz et al. 2020) for software citation is to include:

• Creator(s): the authors or project that developed the software.

Title: the name of the software.

Publication venue: the publication venue of the software, preferentially, an archive or repository that provides persistent identifiers.

Date: the date the software was published.

Identifier: a resolvable pointer to the software, preferentially, a PID that resolves to a landing page containing descriptive metadata about the software, similar to how a Digital Object Identifier (DOI) for a paper that points to a page about the paper rather than directly to a representation of the paper, such as the PDF.

Version: the identifier for the version of the software being referenced. If the version is unidentified or unknown, the date of access should be used.

Type: some citation styles (e.g., APA), require a bracketed description of the citation (e.g., [Computer software]) to be included.

If a published article exists that describes the software, it should be cited as an additional reference.

Note

Example (APA): Developer, A. A., Developer, B. B., & Developer, C. C. (yyyy) 1. Title of the software: Subtitle (Version #.#) 2. [Computer software] 3. Publisher 4. https://URL5

See Katz et al. 2020) for more examples.

Software Citation Checklist for Authors by Neil Chue Hong et al..

  • Have I identified the software which makes a significant and specialised contribution to my academic work?

  • Have I checked if the software has a recommended citation?

    • If this is to a paper, have I also cited the software directly?

    • If there’s no recommended citation, have I created as complete a citation as possible?

      • Who created the software

      • When it was created

      • Title of the software (and version if available)

      • Where the software can be accessed

  • Have I referenced the software appropriately in my academic work, complying with any citation formatting guidelines?

Software Citation Checklist for Developers by Neil Chue Hong et al.

  • Have I assigned an appropriate license to my software?

  • Have I described my software properly, using an appropriate metadata format, and included this metadata file with my software?

    • Have I given my software a clear version number?

    • Have I determined the authors to be credited for this release of my software, and included this in my metadata file?

  • Have I procured a persistent identifier for this release of my software?

  • Have I added my recommended citation to the documentation for my software?

Example

Replication material  Data and code to reproduce the results shown in the paper can be obtained from https://github.com/schochastics/centrality-correlation . We used R version 4.2.2 (R. Core Team, 2022) and the following R packages: ggpubr v. 0.5.0 (Kassambara, 2022), ggraph v. 2.1.0 (Pedersen, 2022), igraph v. 1.4.0 (Csardi and Nepusz, 2006), netrankr v. 1.2.0 (Schoch, 2022a), netropy v. 0.1.0 (Shafie, 2022), netUtils v. 0.8.1 (Schoch, 2022b), and networkdata v 0.1.14 (Schoch, 2022c)

More information