Not citing code libraries used for paper

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.


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


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.