What tools or techniques can I use to make it possible for my software to be cited in research papers?



CURATOR: John Goodhue

COMMENT-JG I suggest putting this in the discussion zone for now. This is an important topic area, but needs narrower questions that focus on specific tools or techniques. The remarks from@pdurbin below point to some useful specifics.

Editor remarks - Pdurbin: The question “How do I get my software outputs cited as scholarly work?” sounds a bit like “How do I increase my h-index?” It’s one thing to make your software citable, but it’s quite another to actually get cited. The abstract of “Software citation principles” at begins with “Software is a critical part of modern research and yet there is little support across the scholarly ecosystem for its acknowledgement and citation.” So it’s an uphill battle. That paper recommends making sure you software has a “unique, persistent, and machine-actionable identifiers such as a DOI, ARK, or PURL” and if your software is on GitHub, the most straightforward way to give it a DOI is to use Zenodo as explained at


I really like the Journal of Open Source Software, which will guide you to creating a zenodo doi too. The process comes down to submitting a Github repository with a paper (that is well defined how to create it) and then going for a reliable checklist to do the peer review. See:

Specifically, it will give you:

  1. version control by default of your code, since you submit from Github
  2. version control for the paper as well (in markdown and bib file from the same repository)
  3. a really great peer review in the way of a discussion over Github issues. I’ve had, by far, the best peer reviewed work on JOSS over any (traditional) journal
  4. very quick review, depending on the reviewers of course. I’ve had an entire thing done in a week or two, and this is more common than not.
  5. transparency in every way, as issues and discussion are public
  6. a focus on the software, documentation, notes for contribution, and a brief background without a lot of the fluff that a traditional paper would require (meaning, you can demonstrate it’s needed and works without needing an entire study of some domain with p < 0.05)

And at the end of all of that, you get a peer reviewed software base, with the same “thing to cite” as from a journal.