Citation principles of Julia packages


Is there (an attempt) for establishing a (sub-)community (semi-)standards regarding citations and paper-independent publications of Julia packages?


After browsing few papers in recent Julia conference proceedings, it seems that most of the software-based publications are usually combined with a conference or journal papers. Additionally, papers that cite software simply place a link to github website of this software.

From one side, software shall be usually automatically archived and updated within software public archives such as Software Heiratage which is useful in many directions, but on the other side there is additionally an increasing tendency and recommended guidelines to view a software itself as an independent piece of research and make it independently publishable and citiable according to provided guidelines, cf. Software Citations Principles, PeerJ CS 2016. As a quick ad-hoc lists of advantages but only, such separation further helps in

  • simplifying collaboration among developers and users of packages
    • different research or development lines can be separately and flexibly distinguished by different research groups
  • distinguishing a particular version, branch or even fork
  • use case example: novel feature F is being added to an existing package X.jl
  • highlighting a specific software artefact that is employed in an academic paper
  • use case example: significant outcomes of an academic paper change after a bug in package X.jl V1.4 has been fixed in X.jl version V1.5 (i.e. traceability)
  • So many use cases can be further consulted in the referenced paper

further suggested readings / examples

A bit different topics but interesting:

“The Journal of Open Source Software is a developer friendly, open access journal for research software packages.” –


For software projects that I actively maintain and may be of academic interest, I usually use Zenodo. For example, see rhe following for Interpolations.jl version 0.14.7


Yes, most “important” julia packages use JOSS, but it’s a pity it doesn’t have (yes for good reasons, but still…) the impact factor…
Also never understood why they provide only rhe PDF and not the article as HTML page…

Impact factor seems to me to be irrelevant for publications about FOSS software. In such cases, the software is the advertisement for the paper and not the other way around. If you write software that is widely used in academic papers, it will eventually become highly cited regardless of where it is published.


I prefer to use Zenodo for specific versions, also because these can be set up to be automatically generated – and a JOSS paper for general reference.

If a package is mature enough one can also check whether other Journals might be nice for a larger overview paper, but the reference in general is nice enough I think.
Zenodo is also the good opportunity to make your numerics you do reproducible, which I still see less often than I would like to, i.e. that paper authors publish their code (in a reproducible way).


Looks great!
Is there a peer-review process?

Sounds a good combination!

For understanding:

  1. Does a JOSS paper correspond only to a specific version, say X.jl V2.0 while Zenodo generates citations for arbitrary versions, e.g. the most actual versions , say X.jl V2.3?
  2. What would be a typical process for generating citations of a software in an incremental development process? (My understanding, Zenodo shall be used for arbitrary vesions Y.jl, V0.1, V0.2, V0.3, etc. and say if V1.1 correspond to a mature state , one can go for a JOSS paper?

Is my understanding correct?

While parts of the JOSS paper might be a bit outdated, I would consider that (and it is used in my case like that) as the general reference (in a citation sense) for the package. So that would be the generic “I use Package X” citation (and a paper)
That’s why accompanying it with the zenodo DOI (for the specific version) makes it more precise. That is it refers to the zip file of the exact version used in the paper citing said DOI of zenodo.

I would prefer if people always cite both since the zenodo doi does usually not count into the magic: I have N citations (with a hopefully large hence capital N).

1 Like

Do you think this could improve traceability?

For example

  • paper P uses X.jl V2.1
  • X.jl V2.2 major (or even minor) bug is corrected
  • the outcome and hence conclusion with V2.2 is significantly different
  • Note paper (possibly with the same title) is updated with the revision of the outcome

Then I would have written maybe 46 papers last year.

1 Like

No peer review on Zenodo, archival is automatic from GitHub


Papers here won’t be viewed as extra publications. They are devoted for correcting the conclusions based on wrong results.

Yes, my answer was a bit sarcastic, sorry. The only problem is, you would have to first invent a journal that allows for that.

According to my understanding (and I don’t really remember where I read it or whether it is a recommendation or a standard solution) that say if the accepted version of the paper is V3 on, then V4 shall be uploaded on with the corrected conclusions