21

I'm submitting a paper to a CS conference, where I've just got the feedback from my professor. He wants to delete the few lines citing the implementation libraries such as sk-learn as well as more specialized libraries (3 in total). He feels that the lines don't fit in (which I kinda agree with) and that they make it look more like I just "plug n' played" without doing real research. On the other hand, I feel that the authors of these libraries should get some recognition for their hard work.

What is the general feeling towards not citing the libraries used? Would you advise me to discuss this with my professor or just delete the citations?

-- Edit --

It should be noted that the contribution is substantial and I definitely deem it good enough to be published. I just haven't done that much coding of new methods, but instead found interesting insights on important datasets using known methods.

5
  • It should be noted that the contribution is substantial and I definitely deem it good enough to be published. I just haven't done that much coding of new methods, but instead found interesting insights on important datasets using known methods.
    – pir
    Feb 12, 2016 at 9:23
  • 4
    instead of adding a comment to your own question to clarify, if would be better to edit the original question. Comments may not stay around long-term.
    – Flyto
    Feb 12, 2016 at 10:10
  • How about mentioning these libraries in "materials and methods", along with other information about how to reproduce your findings? Feb 12, 2016 at 13:37
  • 1
    In the specific case of sk-learn, failing to cite their paper published in the Journal of Machine Learning Research would be an error (see scikit-learn.org/stable/about.html#citing-scikit-learn) that would be pointed out at least on my referee report.
    – mmh
    Feb 12, 2016 at 15:40
  • 1
    @mmh: If mentioning that library is just a technical detail rather than crucial to the concept, why should sk-learn be mentioned if other equally used libraries aren't? Because the programmers ask for being cited, and because they make it temptingly convenient to add the citation? I'd consider this on the verge of a gift citation, which is quite unethical. Feb 12, 2016 at 19:14

4 Answers 4

20

I agree with Captain Emacs that important contributions from others should be made visible -- for ethical reasons and to make it easier for others to reproduce your research. However, it is very reasonable to restrict this to libraries which are "critical" in the sense that your work strongly depends on them, you cannot find easy replacements (i.e. it is not bread-and-butter stuff like an FFT), and they are not universally available on each and every system (no need to list the contents of /usr/lib).

2
  • 3
    I think it is important to underline that "your work" is probably not the implementation that uses a particular library, but the underlying concept presented as a contribution. Feb 12, 2016 at 19:16
  • I agree that full transparency is key. I submitted a bioinformatics paper for a program that used jQuery. One reviewer complained that the code could not be run offline as given —I didn't include jQuery as I did not want any legal issues, but I did not bother mentioning jQuery as I thought it obvious. Had I been explicit it would not have been rejected. Feb 13, 2016 at 17:43
20

You have to clarify to yourself whether you "plug n'played" or did a real contribution. Hiding the contribution of others because it diminishes your own to a level where it's questionable were not only unethical in itself, it also would have the smell of plagiarism (because one would insinuate that one did all the work in the paper which is not cited by oneself).

You are very correct to be concerned about that. If your work is sufficiently good/substantial to be published, it is sufficiently good/substantial even if all external tools used are mentioned. That being said, you could, in the paper, make clear what your contribution is and why it is nontrivial.

7

There is a special place in hell for people who do not appropriately cite the resources they have used for their research -- whether it be publications by others, or software that others have spent their careers writing. Not citing others whose work you build on deprives them of their due recognition in the community, promotions, pay raises, and everything else we strive for as scientists.

The criterion should be: If you had built a theoretical framework that critically depends on another publication, then you would cite the latter. If you built a software for your research that critically depends on other people's libraries, then you should cite it as well. On the other hand, if you use someone's function to compute a checksum for some algorithm sending data across the internet, and the paper has nothing to do with the specifics of the communication (and everything would also run if you did not have a checksum to begin with), then there is no need to cite the author of that function.

5

You say he feels "... that they make it look more like I just "plug n' played" without doing real research. "

Well, which one is it? Did you do real research or didn't you? If you did do real research then citing the libraries is perfectly fine. And it is important, because I might read next month that there are some serious bugs in a library making it output incorrect results, and then I would correctly know that your research may be based on incorrect results - that's bad luck for you, but obviously in the interest of science.

Or you didn't do real research. In that case if not mentioning the libraries changes peoples view of your work, then using the libraries and not citing them is very, very close to plagiarism.

Either way, I strongly believe that you should cite which specialised code related to the subject and written by others you are using, just like you would cite a research paper that suggests the methods implemented by these libraries, if you did the programming work yourself based on the paper.

You must log in to answer this question.

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