When using an online library, tool, framework or something similar, what is the proper way to reference it in an article?

(I work in Computer Science). For example, I want to say that many popular implementations of the method presented in [article reference] use a slightly modified version of the main formula. I mention some examples for the implementation (e.g. OpenCV, VLFeat).

When thinking of a way to reference this, I have several dilemmas:

  • I could put a small explanation in a footnote or add it to the list of references
  • I could use the link to the main webpage or to an online manual
  • do I reference it at all?

This question about how to reference Python is somewhat similar. The difference is that the tools I want to reference are fairly well known in my community (unlike Python for biologists). In short, I am looking for a good way to acknowledge tools, frameworks or libraries not associated to any article in my writing.


3 Answers 3


A good citation has the following properties:

  • Gives credit where it is due for an (idea, tool, dataset, etc.) that is not your own.
  • Directs the reader of your paper where to look, if he/she wants to verify that your claims about the (idea, tool, dataset, etc.) are correct.

Any of the following can be used to cite a tool, as long as the above properties are satisfied:

  • If the authors of a tool explain how they would like it to be cited, follow those recommendations.
  • If there is a paper or tech report about the tool, cite that, because that is what the authors would probably want (if they didn't specify).
  • If there is no paper or TR, cite the website of the tool.

Of course, in most cases, you're not the first person to cite the tool - go search Google Scholar for the name of the tool, and find out how others cited it.


I'd put emphasis on the literature review section of your article and/or thesis. From this perspective, there are two possible citation styles. First, instead of referencing a programming language, reference the concept that you are writing about. For instance, instead of saying

C++ (Stroustrup, 1986) is a programming language.


Stroustrup (1986) extends C to develop object-oriented programming by doing so and so.

In this way, you enrich your literature review and not simply accumulate references.

On the other hand, if the tool is quite novel and not used anywhere in literature yet, then cite who and where it was developed. For instance, SuperComp has developed SuperLang that you want to cite. It could look like this:

SuperComps (2014) develops Superlang for this and that so on and so forth.

The reference for it could be an online resource, book, manual, etc and will simply follow your referencing style e.g., APA, Harvard, etc.

So, you can simply cite OpenCV, VLFeat as either website, online resource, related paper, or patenting or licensing author(s).


If there where an article related to the presentation of the tool, framework or library then a proper citation should be used.

If you are looking for a good way to acknowledge tools, frameworks or libraries not associated to any article, (such as the case of Python) then you can do this in a footnote.

  • 1
    If I'm using a tool "generically" and want to point the reader to where they can find the code, I'd prefer a link to the code, not to an article describing it.
    – Suresh
    Commented Feb 26, 2014 at 17:42

You must log in to answer this question.

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