When some function library licensed under BSD is used in simulations, should it be acknowledged in Bachelors/Masters Thesis, which have no length restrictions?

In this particular case the functions are implementations of commonly known algorithms like k-nearest neighbors, A* and such. Similarly how MATLAB/Python standard libraries are seldom acknowledged, should the third party code that does not contribute theoretically be not acknowledged?

EDIT: In OR, code and the implementation is often left off. But I do not know whether it would be unethical to not cite it in a case where the algorithms used are bread and butter, without any contribution. For the journals these would not be mentioned, but the Thesis has no length restrictions, so there is no similar reason not to.

2 Answers 2


Generally in a thesis or in an academic paper in my field (numerical modeling, engineering) people try to mention which languages and library they have used to implement an algorithm or a method. If you use a commonly known algorithm which was implemented in a library (whatever the license of that library is) I think it would be most appropriate to mention which implementation of the library is used in your methodology section.

The are numerous reasons for this. First it gives credit to the people who wrote the library. You will often see on library website a paper to cite which is the "defining paper" of the library. It is good to acknowledge that. Second, if there were to be a bug found in the future in the library or some limitation, this could then be easily traced back to your results to justify surprising results. Thus it is more rigorous to state which implementation and which version you are using.

In all cases, I believe that crucial libraries that implement complex algorithmic elements should be acknowledged in the methodology section, along with the library version and a reference to it if such a reference exist.

  • 1
    Yes, it does depend on the field. My field (OR) tends to drop details of programming off. The problem is that they are not complex algorithmic elements, but something basic that is quite surprisingly not implemented yet in the MATLAB. Commented Mar 9, 2017 at 14:49
  • 1
    @user3644640 what is OR?
    – Davidmh
    Commented Mar 9, 2017 at 15:31
  • @Davidmh Operations research Commented Mar 9, 2017 at 15:33

Yes. In science, we cite the sources and tools we used because it helps others replicate what we did. It also gives credit to those who developed these tools. We have come accustomed to this for citing papers, but it is equally important to give credit to those who develop software as part of their scientific work -- it's a different kind of publication, but it's a publication nonetheless.

  • But would you cite the people behind a commercial software. I know personally some of the people that have their implementations within the MATLAB. Still MATLAB or the people behind it are seldom given credit as they are part of the engineering work rather than scientific work. Commented Mar 9, 2017 at 14:52
  • I think it would be appropriate to also cite Matlab, though the makers of matlab are not interested in getting academic credit but are in it for commercial reasons. If you use a package built on matlab for whatever you do, I'm very much in favor of citing that, though. Commented Mar 10, 2017 at 0:50

You must log in to answer this question.

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