I create a software in order to solve a step of an specific problem. The results obtained (aided by the software) are going to be published in some journal. The focus of the publication is far away from that step.

The software may be very useful for other people because that step is involved in many common problems. It is not a huge code, but neither me or my collaborators known about other similar software for the matter. We know many researchers that solve it manually in long time.

I want to make the software available online. I wish to do it in some way that it can be cited (and the cites counted).

I can include the code in the supporting information, but I think that it has some downsides:

  • Hard to find compared to a site like github.
  • Impossible to polish and improve it.

If I don't attach it to a paper, then I don't know how it can be cited.

In short I want to: Make the code widely avaliable in some way that let me collect cites, and make me free to modify/improove the code after publication.

Is there any way? Which are my best options?

  • If it is a common step, I would find it surprising if no similar software was available online. Do you mind sharing details about the software, or alternatively, is there an explanation why no similar software is available? Commented Nov 28, 2016 at 18:08
  • 1
    @lighthousekeeper My guess is that there would be a lot of unshared similar software. Keep it private allows fast collaborations. Develop it requires many specialized knowledge (apart of programming capabilities). Commented Nov 28, 2016 at 18:19
  • 1
    Note that Github is currently losing big money, so you should keep in mind the possibility that it will pull a Geocities and disappear within the next 5-10 years. Commented Dec 17, 2016 at 9:02

3 Answers 3


What do you mean by "and the cites counted"? Do you mean something like Google Scholar will index it?

If so, then the common route in CS is to publish something that introduces the program (although the code often lives on github). Then people will often cite that paper and or the repo whenever they use your program.

That isn't necessarily a ton of work either. Many conferences have workshops or industry tracks (in case you are an engineer and not a researcher). Also, see dgraziotin's answer on publishing a paper in an open access journal so that others could cite his work.

  • 1
    Thanks. So, the steps would be: 1. Upload it to $X$. 2. Add some lines in the paper about what the software does. 3. Once published, ask for citation in the webpage $X$. Is that correct? Commented Nov 28, 2016 at 18:14
  • @user1420303 The paper could either be written as (A) all about the system, how it works, and why it is better (if similar things exist) or (B) a scientific contribution that uses the program to achieve said contribution. You don't ask for citations, and they would cite the paper (and or the github repo), not a web page (unless you were referring to the github repo's page). Commented Nov 28, 2016 at 18:16
  • Sorry, I misunderstood you. You say that I should write an entirely new paper about the software. Yes, I was thinking in github repo or something like that. Commented Nov 28, 2016 at 18:23
  • 1
    @user1420303 In the paper you could add a footnote with the github URL or a full reference. In the github repo, add a link to your paper in the readme. Commented Nov 28, 2016 at 18:55
  • 2
    @user1420303 You can get a citable DOI from a release on GitHub, but I'm not sure that you will later on be able to get a citation count on it. You don't need to publish on a journal, though - you could just write documentation and upload it to the arXiv, which does get citation counts on Google Scholar if nothing else.
    – E.P.
    Commented Nov 28, 2016 at 23:51

One option is to put it onto Github, which allows you to mint a DOI so that it can be easily cited by others, which in turn allows you to quantify its impact.

If you are a member of an academic institution you should check with your library services. Increasingly they regard themselves as custodians of data, and so may have a standard process for archiving and sharing code and datasets. Often this takes the form of a landing page with a stable URL and including a description of the code, with links to the source (perhaps tagged versions mapping to what you used in your publications) and compiled executables, if appropriate.

  • Thank you. I didn't realize about the possibility of request a place in the institutional URL for the purpose. Commented Nov 28, 2016 at 23:56

You're already publishing something, and this would be the ideal object to cite for people that will use your software in the future.

I would suggest putting the software on a repository, or even on your own website. Then just ask that people cite your paper if they use your software for a publication.

Some examples from my field:

Many of the articles listed there got 100s or 1000s of citations.

You must log in to answer this question.

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