4

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.

penelope
  • 11,580
  • 1
  • 41
  • 82
  • Possible duplicate: http://academia.stackexchange.com/questions/15374/should-i-cite-conference-papers-to-acknowledge-usage-of-tools (although the question goes into a slightly different direction, the answers there should answer this as well) – xLeitix Feb 26 '14 at 09:54
  • 1
    @xLeitix I didn't see that one, but now that I have, the tools in question specify a way to cite them: one is even associated to an article. But, what if there is no publication associated to the tool? I actually found the citation specifics for the two tools I asked about (not publications, btw), but does every tool specify how to cite it? If not, the question might still be relevant and more general than the one you linked. – penelope Feb 26 '14 at 10:25
  • 2
    Duplicates? http://academia.stackexchange.com/questions/8948/how-to-cite-a-product/8955#8955 Not as related but relevant: http://academia.stackexchange.com/questions/8098/how-to-cite-a-website-url http://academia.stackexchange.com/questions/9617/how-to-cite-software-documentation/9618#9618 – Irwin Feb 26 '14 at 18:36
  • 1
    To be honest, I don't see the difference from the question you refer to: How do I reference the Python programming language in a thesis or a paper?. The way how you cite it should not depend on their popularity (unless something is so well-known that you abstain from citing it). One addition is that if you want to be more specific (e.g. implementation of X in framework Y, you can treat X like a chapter (and point to a specific file/class/function)). – Piotr Migdal Feb 26 '14 at 20:11

3 Answers3

7

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.

ff524
  • 108,934
  • 49
  • 421
  • 474
1

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.

say

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).

OK-
  • 347
  • 2
  • 12
0

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.

Armand
  • 659
  • 5
  • 11
  • 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 Feb 26 '14 at 17:42