I found a mistake in my master thesis's code

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.


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.