33

I finished my master's degree (Computer Science) a short time ago, and I don't currently plan to continue my academic studies.

My adviser asked me for the source code of the application I developed for my final paper (and for which I received a perfect score) in order for one of students they currently advise to continue my work as part of their bachelor's final project.

This question is similar to this one Advisor professor asks for my dissertation research source code. The difference is that my work will be used (continued?) by another student as part of their final paper.

Should I do this or is there any reason for me to be concerned about this?

Update

To provide some clarification. I was not paid for the work that I did for my paper. (however I also did not pay for my master studies in case this matters). I put a significant amount of time into this (by my standards at least) around 5 months. Also, my paper was not submitted in an article, journal etc. It was only submitted to the university (without the code), and then I defended my work in front of a committee. This paper/project is the work based on which the diploma is given. The mark received for this is noted on the diploma.

In the end decided to make the repository public (with a license). Thanks for all the answers, they made me realize that learning is based on sharing.

10
  • 91
    What is it that worries you? Commented Mar 9, 2020 at 14:01
  • 13
    The prof asked you to make your code available, so I assume (s)he knows that the students expands on it. It is than up to her or him to keep track of how much the students contributes. Commented Mar 9, 2020 at 15:46
  • 20
    I have not a shadow of a doubt or remorse in giving away my academic code. In most cases it's published, so it's a further citation, a possible collaboration, a token of help to a fellow researcher. And, frankly, it's not that good to be jealously guarded. It might be best to start a github, as a young researcher, anyway. Commented Mar 9, 2020 at 22:15
  • 9
    If your university IP rules permits it, why not publish it under your name on github - let the world benefit and you get the acknowledgements. At my uni, this was actively encouraged. Commented Mar 10, 2020 at 9:32
  • 5
    The real question is under what license you would publish your source code. GPL is different of other open source licenses. Read about The simple economics of open source Commented Mar 10, 2020 at 12:39

5 Answers 5

154

You developed the code as part of your curriculum. It's quite possible that therefore, the source code belongs to the university anyway. This does depend on the laws of the country your university is in.

Also, I don't see what you should be concerned about. Someone else building on your work is exactly how science is supposed to proceed. If I were you, I'd take the request as a compliment.

10
  • 9
    @einpoklum The OP says it was part of their master's. And in any case, if it were work, the answer wouldn't be any different. Commented Mar 10, 2020 at 0:55
  • 5
    @einpoklum "Curriculum" means "course". It may not have been a pre-defined curriculum like at primary school, but the path you take in study and research is still a curriculum. Even a PhD consists of Curriculum, Pedagogy and Assessment Commented Mar 10, 2020 at 10:47
  • 3
    @LeeHachadoorian That section says universities typically do own IP created by students in circumstances that probably apply to the OP. Commented Mar 10, 2020 at 17:06
  • 5
    This answer is highly location-dependent and, thus, needs some more details about context. For instance, in Germany, the IP always belongs to the student who has created it. University may (and typically) do ask students for a usage license, but this is by no means mandatory. The courts have even ruled that students must not be asked before they got their final mark to prevent any impression of pressure.
    – Daniel
    Commented Mar 10, 2020 at 22:43
  • 3
    @Daniel: I think this comment is sufficiently important that it should be an answer. Both for future readers and because OP's name and language suggests that they may be in Germany and thus directly affected by this difference in the legal situation.
    – cbeleites
    Commented Mar 11, 2020 at 8:49
27

Unless you are angling for commercial use of your code, you should post the code publicly, to GitHub, your own website, etc.

To be clear, you are almost definitely under no obligation to provide your code. You have completed your Master's. Absent an express agreement regarding the IP in your source code (you have not mentioned one, so I'm assuming there isn't one), you don't have to provide it to anyone at this point, any more than you would have to provide your research notes if you submitted a thesis on Shakespeare's Hamlet. (See more information on this point below.)

If you are merely concerned that you receive intellectual credit—or, as you indicate, that the undergraduate is able to differentiate between your work and their contribution—the easiest thing to do would be to post the code publicly, for example to a GitHub repo with an open source license, and then just send the professor the link to the repo. As a bonus, posting your code publicly is a good way to show off your work.

Regarding specifically the concern that the undergraduate will rely too much on your code, not enough on their own additions, and the professor won't know the difference, there are three points:

  1. That's not really your concern, it's the concern of the professor supervising the project.
  2. Are you certain that the new student's project is a coding project? Perhaps you wrote some analytical code, and the new student's project is to actually run it against various datasets and analyze the results.
  3. If you post it to GitHub, the new student can fork the repo and the professor (or you!) can then very easily use diff to view the changes.

Mostly, I understand the desire to get credit for one's own small contribution to the growth of knowledge (this is not to belittle your work—most of us, myself included, will only ever get to make small contributions). The best way to do that is to share your code with everyone rather than keep it from one person with an immediate need for it.


Additional notes regarding university IP in student work product:

A commenter has suggested that the university has IP in the student's work. In their field (chemistry) they were required to turn in all notebooks, images produced by electron microscopes, etc.

I reviewed my own university's policies on Inventions and Patents. Graduate students are included in a long list of roles who automatically assign IP rights to the university. Undergraduates are not. Work produced on the person's own time, not using university equipment, is not included.

Does this turn on whether OP was programming on a university computer or a personally-owned laptop? I poked around online, and came up with an interesting FAQ by the World Intellectual Property Organization. (Note, I am not an IP lawyer, just a university social science faculty member, so I can't evaluate the legitimacy of this source. But it does on the face of it seem credible.) The full result can be read at https://www.wipo.int/about-ip/en/universities_research/ip_policies/faqs/index.html, but the gist is this:

Who owns IP generated by students?

Most universities recognize as a general principle that students who are not employees of the university own the IP rights in the works they produce purely based on knowledge received from lectures and teaching. However, there may be some circumstances where ownership has to be shared or assigned to the university or a third party. Typically, these include:

  • Students who are sponsored. […]
  • Students working on a sponsored research project. […]
  • Students working on research, theses or publications in collaboration with academic staff. […]
  • Use of university resources. […]

While it is important to address these issues in the university IP policy, the university would usually need to have an express agreement from the student before he or she embarks on the research. This is because students are not automatically bound by the policies of the university.

My takeaway from this, and thoughts on the current question are:

  1. Unless OP believes there is commercial potential for this code, there is probably no reason not to provide it to the faculty member.
  2. If it is shared, there is no reason not to share it widely (and some reason to share it widely).
  3. It is hard for me to imagine the professor pursuing an IP claim against the student. If the student refuses to share the code, that will probably be the end of it.
4
  • 5
    If a student was paid for work done during their degree they may still have an obligation to give up their code.
    – Nathan S.
    Commented Mar 10, 2020 at 5:17
  • 1
    True, but there's no indication that the student was paid. Commented Mar 10, 2020 at 12:57
  • 7
    This is probably incorrect, though I'll allow for differing academic practices at other universities than mine... Every scrap of paper I produced when writing my masters thesis was the universitys property. I got handed a note book for my notes, and told to include if I used other sources. Not only the final version of my thesis, but also every image produced (chemistry - there was a bit of electron microscopy) and every sub-test report included in the thesis was turned over. This isn't stealing, you are supposed to advance the university and science as a whole - this is what the degree means.
    – Stian
    Commented Mar 10, 2020 at 13:29
  • 3
    @StianYttervik: Just to give a different situation a voice: I did my Diplom (Master) in Germany, and as Daniel correctly pointed out in another comment, in Germany the IP to a Bachelor or Master thesis is owned by the student. There's no leeway here for differing practices of other universities since that follows from legislation.
    – cbeleites
    Commented Mar 12, 2020 at 11:03
18

Why would you refuse? You might want “negotiate” an explicit acknowledgment at the end of any paper that uses your code as seed for something else (“ We thank Jan Schwarz for permission to use an older version of this code which he developed” or “This code is build on a previous code by Jan Schwarz” or something you think better reflects the situation, like citing your thesis) but aside from this there is presumably no issue of priority since your thesis is dated.

3
  • 16
    I'd try to negotiate also for authorship on a paper, if one is published, based on the code.
    – einpoklum
    Commented Mar 9, 2020 at 23:18
  • @einpoklum this would be ideal of course but might not be possible. Commented Mar 9, 2020 at 23:50
  • 10
    The more likely option is to ask for a citation of your work. The student probably needs to cite the work he uses as base for his work anyway and they can and should mention they used the code from this publication. Being a co-author without working on that paper is probably not correct. You are the first author on your thesis for the existing code, you deserve further authorship only for further contributions. On the other hand can the new student not claim credit for anything achieved by the existing code, but only for his extensions. Your prof will probably account for this when grading.
    – allo
    Commented Mar 10, 2020 at 14:12
5

[The OP worries about] the possibility that the other student might get their final score based on my work and not on theirs (if they don't really contribute that much to what I already did), as the professors will probably not be aware how much of it is my work and how much will be the other student's.

IMO this is the wrong thing to worry about. This seems unlikely to happen, since your advisor presumably knows what you did, and in any case if this happens it won't hurt you.

A better thing to worry about would be whether the person using your code will not really understand in detail what it's doing and how it works, and that they will then do incompetent things with it, with results that then hurt your professional reputation. As an oversimplified example, say they use your code to produce a proof that 2+2=5, and then they publish that result, with an acknowledgement section in the paper saying, "We thank Jan Schwarz for writing the computer code that allowed us to prove this amazing fact about mathematics."

Your first line of defense against this is your advisor's competence. If you have faith in that, then there is probably no reason to worry.

A second line of defense would be that, depending on the norms in your field of research, it might be expected that papers using your code would have you as a co-author. You would then get a chance to read the paper and object if it's wrong. But this could be a double-edged sword, because you've left academia, so you may not wish to be have this responsibility.

5

Here's how I'd look at the situation in case OP (or a future reader) is in Germany.

  • In Germany, the IP of a Bachelor or Master thesis is almost always owned by the student.
  • With software, there may be a more complicated situation if the student wasn't the only author of that software - but the exam regulations for the thesis would anyways require that the student's contribution can be unambiguously identified (and that would apply to the next thesis student as well).

  • The university (or advisor) must not ask for a license/IP rights before the thesis is finished and graded.

More details on this: https://academia.stackexchange.com/a/63605/725

With this background, were OP in Germany I'd say that the advisor now after the thesis is finished is an indication that they are a good & nice advisor who follows these rules. So to me, that would be highly reassuring, the contrary of creating concerns.

Unfortunately, I'm emphasizing this because in my experience there are professors/advisors who do not care at all about these rules and (at the very least) create the impression that the student does not own such IP produced during a Bachelor or Master thesis*.

For OP, I'd recommend to use the occasion to learn about software licenses, and talk to the supervisor what license they'd need.


As the code is part of the Master thesis, it likely has scientific merit (as opposed to being a tool that is helpful to the group but does "contain" scientific advance). That means that in publications about the software, OP should be co-author. Publications that use the software should cite OP (the thesis).

There shouldn't be anything to negotiate here as the rules for academic co-authorship (and for the next student being required to cite & report all sources for their thesis) are quite clear. Nevertheless, it doesn't hurt to explicitly talk about this.


* The situation is very different for PhD thesis since many (most?) PhD students are employees of the university, and that employment relationship automatically transfers IP rights to the university.

You must log in to answer this question.

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