The Duale Hochschule has published this guideline (German) (this question might be specific to the studies in Germany) and it does quite a good job explaining how literature shall be cited and put into a bibliography.

Now, in the evaluation sheet for the paper and thesis, literature research is mainly judged by its academic character, i.e. it should be primary sources, qualified links etc. I'm fine with that as well. My students should try to find and understand primary literature.

However, here's a caveat: the studies is Informatics. When they implement an application, the students use software libraries. Personally, I'd like to know the sources of those libraries, because some of them are not unique by their name.

I can understand that the students don't want to put them into bibliography, because they might not be scientific or academic, they are just a tool. However, there are sentences like

To get around problem X, I use library Y.

IMHO, such decisions are ok, they don't require special research. Other researchers may simply use a tool ("hammer") to solve a problem without thinking much about it as well. Not mentioning such a library fix would leave others in a situation where the paper is not helpful.

How to deal with that situation and why?

Should the software libraries

  • be part of the bibliography,
  • get their separate list of "software" references,
  • just be mentioned in a footnote when the library name first occurs,
  • not be mentioned at all
  • ...

4 Answers 4


As a computer scientist, I often encounter this as well. I have seen three main approaches used, in decreasing order of preference

  1. Cite the paper about the software, if one exists: academic software is often the subject of papers, and the authors very much appreciate those citations, often explicitly requesting them in the software documentation.
  2. Cite the software as a miscellaneous reference: most citation styles will have an explicit recommended means for doing so, (e.g., this post on APA software citations)
  3. The first time the software is mentioned, put a link to the software in a footnote or parentheses.

The earlier ones are better for the authors of the software, but I have sometimes had journals refuse to allow me to give a proper citation.

  • "I have sometimes had journals refuse to allow me to give a proper citation." This seems pretty questionable on the part of the journal. What reason do they give?
    – Shep
    Sep 8, 2018 at 10:36
  • 2
    @Shep This has happened with high-impact biology journals that considered it inappropriate because a software citation "wasn't a peer reviewed journal article". They have also refused peer-reviewed conference articles, because they didn't understand that CS conferences actually have meaningful papers rather than just abstracts.
    – jakebeal
    Sep 8, 2018 at 10:47
  • Hmm, that seems a bit elitist and smells of cargo cult logic, but I've experienced the same: many academics have spent their entire careers chasing impact factors so the idea that a paper or idea might be useful even without the peer review process is somewhat blasphemous. But of course many innovations in CS don't need peer review, because it's so trivial to show they work. I've had some success arguing this point, but maybe my field is different.
    – Shep
    Sep 8, 2018 at 11:05
  • @Shep I've found it goes journal by journal: most are receptive, but I've been surprised by the ones that were obdurate.
    – jakebeal
    Sep 8, 2018 at 11:18

If a particular piece of software is essential to achieving an end then it is probably best to cite it explicitly, including version number. This makes it possible to reproduce results. However if it is a generic tool then it may not be so important. Operating systems are usually interchangeable for most purposes as are many middleware tools. But specific statistical or mathematical libraries might be more important to name.

However, it is good to at least acknowledge, say in a footnote or acknowledgment section, the creator of any tools you depend on.

However, as an educator, it might also be good for you to over stress citation at least a bit so that students get in the habit of it for their later work.

How you cite it is probably less important than the fact that you do, however.

  • 1
    +1, "How you cite it is probably less important than the fact that you do, however." I prefer to err on the side of making it easier for a reader to understand or use the work. Sep 7, 2018 at 19:29

I'll add to @jakebeal's excellent answer that citing the authors of software packages also gives them the credit they are due. Whether you rely on previous researchers' work in the form of publications or in the form of research software, they ought to get credit in the form of a citation.

We can argue all day long whether citation credit should towards people's job evaluations, but the fact is that it does. If we want to encourage people to make the software that comes out of their research public and available to others (as we do when we require people to publish papers), then we need to make sure that the incentives are so that they will want to make their software available. One way to do this is to ask people to cite the relevant papers/websites/sources whenever they use research software packages.

(This would not apply to commercial packages such as MS Word, Mathematica, etc, since for their authors, the incentive structure is different. Although I would point out that if your research depends on one package specifically -- as opposed to something like MS Word, which you could easily substitute by LibreOffice Writer -- then you probably want to mention and cite that.)


In a lot of ways code is just math, but fleshed out to be more applicable and user friendly. In that sense libraries (especially open source ones) should go in your bibliography. As others have mentioned, this also encourages academics to write more usable code, gives credit where it's due, and makes your work more reproducible. Any journal that doesn't understand this is stuck in the past and isn't helping science.

If people object to you citing ephemeral things like URLs or github repos in your bibliography, you might also try to encourage the author of the library to create a more citation-friendly resources. There are several services like zenodo (https://zenodo.org/) which will give you a DOI and archive code releases.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .