17

I defended my master thesis couple months ago in a German University. It's a thesis in Computer Science. In my thesis I mainly implemented some machine learning methods and compared their performance. The implementations of the methods and making them available as open-source are considered one of the main contributions of my thesis. I published the source-code online on Google's Code.

However, recently I was browsing the source-code of two methods' implementation and I found two bugs. One of the bugs makes the results of one experiment useless since the method became simply wrong.

Now I'm very worried about that and don't know what to do or what I must or have to do. (They're not going to take my certificate back, right?)

My questions:

  1. Since one of the main contributions of the thesis is the release of the source-code, am I obligated to fix the bugs?

  2. Am I required to keep my source-code online? In other words, can I now decide to take it down and not give it to anyone? I'm the only one who has a copy of the source-code. My professor never asked me to put the source-code on a CD-ROM and put it in the thesis. I also mention in my thesis the online repository for the code.

  3. I had very difficult memories of academia and I was so relieved when I finished. I don't want to contact them again to tell them about the bugs. But am I obligated to do that? I just want to start a new life and never think again about the past.

I'm asking those questions just to know my rights and if I have any obligations. However, since I'm passionate about my thesis topic, I'm actually considering fixing the bugs but I'm not willing to contact my professor and tell him, simply because I just don't want to communicate with someone from the past and still feel that I'm still stuck with academia or have obligations toward them.

Nobody has used my code yet, so if I fix the bug then the person who will clone the project will get a correct version (hopefully! I mean every software is subject to bugs!).

Edit:

I was asked "obligated by whom?". Well what I'm thinking is that since one of the main contributions of my thesis is the source-code, and since my examiners passed my thesis because it has contributions, then I thought that I must have that source-code always available. It feels to me like a contract:

Make contributions (source-code as the main contribution) -> thesis passed -> you get your degree.

Now revoke contribution -> thesis failed -> you don't deserve your degree.

Isn't it like that?

  • 3
    Relax, nobody's going to care about a bug. In the end it's just a master thesis. You won't lose your degree. – Marc Claesen Sep 21 '15 at 19:59
  • 3
    Hopefully, you included the commit SHA-1, instead of just saying "this repo" when you were referencing things in your thesis. This way, everything in your thesis will still make sense. If you make a new commit with the message "This was broken, is now fixed, invalidates chapter 2 of thesis because blah", I think that would be a good thing. I do not think your degree is at risk, and I do not think you are obligated to report to anyone. – Steven Gubkin Sep 21 '15 at 20:53
  • 2
    The idea of you passing your thesis is not that you made a correct solution, but rather that you could work through the problem in a systematic way. – Yet Another Geek Apr 11 '16 at 13:06
  • Just a thought, you if you've uploaded your code online, why not commit an updated revision whenever you have some time? You don't have to remove the original file, rush it or inform anyone that you've fixed some bugs, and the updated code may produce different results from the ones you've published. However, if anyone ever wants to use or see your code for whatever reason, they'll quickly see there was an update, which in my opinion will save their time figuring out wh the results are wrong, as well as give you some credibility points. – undercat supports Monica May 27 '17 at 10:38
15

I think that you have some misconceptions about what a thesis is and what a degree is. A thesis is not a contract, and your future obligations upon obtaining a degree are precisely zero. It is not an honor that can be revoked for later conduct unbecoming: rather it is a permanent recognition of your past work.

A thesis does not even have to be completely correct. I feel a bit like the guy who's telling you the truth about Santa Claus, but a substantial percentage of theses are approved by committee members who know they are not completely correct. The judgment is rather that they are good enough to meet the committee's standard. A thesis which turns out to fall through completely based on the writer's honest mistake would not be revoked (well, in our wide, wild world many strange things can happen, but I've never seen this). The fault here lies with the committee: they are supposed to be experts. Moreover the thesis is not awarded because the work is a service to the community but rather because it was judged that the candidate demonstrated sufficient mastery by doing it. In fact it is possible to demonstrate this mastery even through flawed work, sometimes even through work which is so flawed that nothing positive can be extracted from it. In my experience the only reason for withdrawing a thesis is fraudulent activity done by the candidate in the process of the thesis work.

So yes, in my opinion you could take down your open source code without any realistic fear that your degree will be revoked. Should you? I don't think so: in my opinion that would be very immature.

A master's thesis is a professional degree. In other words it's a kind of adult degree, and anyone who has one should be ready to act like an adult. Only with difficulty am I restraining myself from launching into a psychological analysis of the levels of moral reasoning on display here, but I find it interesting that your entirely irrational fear of retribution seems to be saving you from doing the wrong thing. If you said that you would make something available then pulling it now for purely selfish reasons is...um....no, I had it before: purely selfish. To justify your behavior you write

I had very harsh memories in Academia and I was so relieved that I finished. I don't want to contact them again to tell them about the bugs. But am I obligated to do that? I just want to start a new life and never think again about the past.

Fact check: this all started with your reflection on your past work. If you want to start a new life and never think again about the past: okay, do that. Never thinking about the past does not include tampering with the presentation of your thesis work. (By the way, such tampering could certainly earn you some future contact by those who want to see the work and want to know why you took it down.)

However, since I'm passionate about my thesis topic, I'm actually considering fixing the bugs but I'm not willing to contact my professor and tell him, simply because I just don't want to communicate with someone from the past and still feel that I'm still stuck with academia or have obligations toward them.

It's pretty clear that you have not moved on, in both positive and negative ways. Again you have some strangely childlike ideas: once you leave academia, what obligations do you have to your professor? Precisely none. But "I'm not willing to communicate with someone from the past" is not a professional attitude. (I am aware that in real life professionals can behave very badly. Professionalism is something that professionals aspire to, not always successfully.) What about future students who will try to continue your work? Don't you care about them?

In summary: yes, you are absolutely allowed to behave completely selfishly in this matter, acting to prevent your future embarrassment and evade any unpleasant memories. But try to rise above.

23

they're not gonna take my certificate back, right

No, your degree won't be revoked on the basis of an honest mistake. (Revoking the degree would only make sense for serious fraud or misconduct.)

Since one of the main contributions of the thesis is the release of the source-code, am I obligated to fix the bugs?

Obligated by whom? There's certainly no legal obligation, but deliberately withholding knowledge from the rest of the world would be unpleasant and harmful.

If you know how to fix the bugs without much effort, then I'd recommend that you do so. If you don't know how to fix them or it would take too much time, you could at least attach a note explaining the problem (for the benefit of anyone who wants to use the code in the future).

Am I required to keep my source-code online? In other words, can I now decide to take it down and not give it to anyone?

Again, required by whom? Nobody can punish you if you take it down, but going out of your way to deny access is at least unfriendly. If your thesis said that the code would be publicly available, then changing your mind now would be unethical.

I don't want to contact them again to tell them about the bugs. But am I obligated to do that?

Nobody can make you, but it would be nice. Think about it this way: another student might begin a project related to your thesis. If you don't tell your advisor that the results of one experiment were wrong, then this student might experience pain and wasted time that could have been avoided if they had known about the problem earlier. You might not care about your advisor, but surely there's some value to preventing future students from suffering unnecessarily.

And what's the worst case scenario if you tell your advisor? Maybe your advisor would insult you, in which case you can take some satisfaction in having behaved better than your advisor, but there's nothing he/she can do to disrupt your life now.

In response to the edit:

Well what I'm thinking is that since one of the main contributions of my thesis is the source-code, and since my examiners passed my thesis because it has contributions, then I thought that I must have that source-code always available. It feels to me like a contract:

If you said in the thesis that the code would be available in a public repository, then you have an ethical obligation to keep it available. But universities revoke degrees only very rarely and for exceptionally serious reasons, such as research fraud or cheating. There's no way a university would even try to revoke your degree for taking down the source code. (However, if you're still worried you could look up your university's procedures for revoking degrees or search online for degrees revoked in the past.)

I don't mean to encourage you to take the code down, and I don't think you should. My point is that this is about doing what you feel is right (keeping promises, helping other people, contributing to the world's knowledge) rather than about what someone else might try to make you do.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.