I am writing my Master Thesis. I used code from GitHub for my application and did modifications and extended its functionality to adjust my requirements. I am also citing the code in my own code and text.

My question is that the Github repository doesn't mention any license, which means that the copyright law applies by default. However, I know the author and have their explicit permission to use the code.

What are my options here?. Should I ask the author to upload the license or is it not necessary since I have their permission?.


2 Answers 2


As curiousdanii notes in comments above, we already have a canonical question that addresses the issue of what your rights are with respect to published-but-unlicensed code, specifically on GitHub, and you should read it. But your case is more complex, because as you note

I know the author and have their explicit permission to use the code.

This changes the whole question to "what exactly do you have permission to do, and how would you prove it?"

Do you simply have permission to reproduce excerpts of the code in your thesis? Do you have permission to reproduce the whole code base? To whom can you give copies, and how many? May you modify the code? Do you have permission to make commercial use of the code, or of any patentable concepts therein? Yours would be by no means the first piece of university work to have significant commercial potential, and you really don't want to get half-way through founding a company after your graduation, and have the author come storming in from one side, demanding a big piece of the enterprise.

Even if the permissions grant is clear, should for some reason acrimony arise later about the exact nature of the grant, you don't want this to descend into a he-said-she-said match.

The solution to both problems is the same: get this permission in writing. If the grant is clearly written down and signed, there is much less scope for the original author to later claim that sie never intended to permit a particular kind of use, or indeed that sie never gave any permission at all.

Life will be simplest if the grant is of a wide-reaching form. If the original author is happy to sign something like

D. Original Author hereby disclaims all copyright interest in the program 'Gnomovision' (which makes passes at compilers)

signature, date

all well and good (that language comes from GPLv2, by the way); file the release away, and continue with your thesis. If sie expresses reservations about signing such a grant, it is a useful indicator that sie's not intending to permit quite as wide a range of usage as you might have thought. At that point, you'll need to find out what the university requires by way of rights in the contents of theses (reproduction rights? translation rights? commercial exploitation rights?), list these all out, and see if the original author's willing to sign those away. If sie is, all well and good, file and forget. If not, you may have just dodged a really nasty bullet, and will need to complete your thesis without this code. If the university has no specific requirements (and that would, in my experience, be quite rare) consider using a standard rights grant such as the Apache2 or GNU GPL licences, as these are well-known to many software authors, and applying them to one's code feels a bit less like a step into the unknown. Oh, and as ever, IANAL/IANYL.

  • Isn't the permission notice you are signing a public domain dedication?
    – Max Xiong
    Aug 21, 2020 at 23:55
  • @MaxXiong I don't know, but I suspect it's deliberately designed not to be one, because of the whole 'civil law and moral rights' public domain problem. If the original author was prepared to sign something like CC0, though, that would also be a good solution.
    – MadHatter
    Aug 23, 2020 at 9:39

A license is a legal agreement between the author and the the user of the code. Contracts usually need no special form (at least in my legislation); an oral contract is just as binding as a written one. But it's hard to prove an oral agreement in court or otherwise when it comes to a dispute.

Following that argument: you are fine to use the code, if you have the permission to use it by the original author (and assuming that all code is indeed original by that person). Depending on the exact words of the agreement you might or might not be allowed to share it further (e.g. on GitHub) or even publish it under a certain license - that difficulty is exactly what a license information inside the original repository would resolve.

Without the explicit agreement you'd be where anyone else is without much rights (see here).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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