24

There's a package on Github that was released fully without any license and it stayed this way for close to a year. Then just recently after no updates since the initial commit, a License was added. It's GPL 3.0 and it has some restrictions that make me hesitate about using it for a commercial project. Let's not go off on a tangent though, this question has nothing to do with GPL. It has to do with whether I can ignore a license completely if I use code that was released without a license, by simply using the version of code before the license was added.

On the same note, this particular repository happens to have a full-featured tutorial on a blog, which links to the repo at the end. This is how I found out about the Github repo, by first reading the blog tutorial. In truth I don't even need the repository at all since the full code is given away in the form of a tutorial on the blog.

I didn't check if there's a license associated with the blog, is it even possible to license code given away in the form of a tutorial on a blog though? Could I simply use that and never actually checkout the github repository and then I'd have nothing to worry about?

9
  • 26
    Does this answer your question? What can I assume if a publicly published project has no license? Commented Dec 11, 2019 at 23:21
  • 4
    You might consider reaching out and asking if you can pay for a commercial license.
    – ceejayoz
    Commented Dec 12, 2019 at 0:58
  • 3
    @curiousdannii I thought for several minutes about closing this as a dupe of that one, but in the end I personally thought there was more in this question, as it also asks about the implications of getting an old version of code from a repo which has since had a licence change applied.
    – MadHatter
    Commented Dec 12, 2019 at 7:50
  • 6
    @Tanner Swett's answer below identifies what seems to be a misconception by the OP. If a prior version of the code was published in GitHub without a license, that means that it IS NOT licensed for your use - the lack of a license is effectively the same as saying "Here is some code that YOU CANNOT USE". Now the code author has added a license, which allows you to use it under certain circumstances. So you MAY (if you abide by the newly added license) use the code. But you CANNOT legitimately use the pre-license code, and you were never allowed to.
    – roryhewitt
    Commented Dec 12, 2019 at 20:12
  • 5
    If there is no licence, then there is no licence. Therefore you have no right to use, copy, modify. No right to anything with it. It is copyright (by default). Just as a person with no driving licence can not say, I have not had my licence revoked, because I never had one, and therefore I can drive. Commented Dec 12, 2019 at 22:28

3 Answers 3

55

Generally speaking, a licence grant is not revocable once it has been relied on. Once an author has published a piece of code under a licence, and someone has taken a copy on that basis, the author cannot retrospectively revoke that licence. If that licence permitted the recipient to make further copies, as free licences do, then you can get a copy from any earlier recipient under the same terms.

The point here is more subtle, in that the earlier version of the code has been succeeded by a later version with a different licence on it. However, the code is being made available through an interface (GitHub) which permits a historical version to be viewed. If the author hasn't gone back and retrospectively changed the licence for current downloads of the older code, then my feeling is that you can still take it under that earlier licence.

The fatal problem here is that the code hasn't been relicensed to GPLv3, it's simply had GPLv3 placed upon it at a certain point in time. By your own admission, the earlier code has no licence, and we already have a question about that which concludes that you have nearly no rights with respect to unlicensed code on GitHub.

So I'm afraid that getting an earlier version of the code will in no wise get you a copy with less constraints on it than GPLv3 imposes, but instead a much more constrained copy.

What licence the blog is published under, and whether you can take a less-constrained copy from there, we can't say, since you don't link to any of this. If, as seems probable, the blog is not clear as to the licence terms on its content, then you have even less rights than you do in the early-GitHub case, ie, none at all.

8
  • "So I'm afraid that getting an earlier version of the code will in no wise get you a copy with less constraints on it than GPLv3 imposes, but instead a much more constrained copy." Unless you make a licensing deal with the author(s) of the code to use a different license - which could well take the general form of "I'll pay you $X,000 for the right to use this code for our proprietary commercial software".
    – nick012000
    Commented Dec 12, 2019 at 6:13
  • 18
    @nick012000 that's a perfectly lawful course of action, but it's not linked to getting an earlier version of the code: you could do exactly the same deal with them for a current version.
    – MadHatter
    Commented Dec 12, 2019 at 7:45
  • 15
    @nick012000 no, because the rightsholder can let you have a copy under any licence (s)he chooses. Dual-licensing deals, where you can take code for free under a free licence or pay to take it under a commercially-exploitable licence, are most common with GPL code, not least because there's very little point in paying to escape the commercial restrictions of non-copyleft free licences - as there are almost none.
    – MadHatter
    Commented Dec 12, 2019 at 7:51
  • 6
    A recent version may contain GPL licensed additions by others. You would need to buy a license from them as well. This is of course true for the unlicensed code before the GPL version as well, but then there was no license permitting others to change (or even use) the code at all, so the owner should have been the owner of the whole code. Be careful, because the owner may have violated licenses as well in the time when he did not care about licenses, or the code may have been implicitly (GPL) licensed, because it linked against some library under such a license.
    – allo
    Commented Dec 12, 2019 at 9:54
  • 3
    @allo see "rightsholder"; that's why I chose that word, not authors or contributors. The OP says that there have been no updates to the originally-posted code, so there's no reason to think that there is more than one rightsholder, though I accept that absence of evidence is not evidence of absence. I endorse your warning about doing anything with sloppily-licensed code.
    – MadHatter
    Commented Dec 12, 2019 at 10:11
24

With licenses it is actually quite simple:

  • No license means no rights to you to even use the code for whatever purpose. Code being available somewhere for download doesn't imply any right to use it - similar as you don't have the right to harvest a field, just because you can enter it from the street.
  • If there is a license that specifies the conditions under which you may use, re-use, modify and distribute the code (that is the whole purpose of it).

If you are unhappy with the restrictions put onto you by a license, you are always free to contact the authors (or more generally copyright holders) of the code in question. If all affected authors agree, then they (and only they) may give you additional rights (thus grant you a special license) - possibly against some payment, or whatever you mutually agree to.

11
  • 3
    Does putting it online publicly grant any rights at all? Intuitively you would think it grants you the right to read the code and to run the code but but not to use commercially or redistribute.
    – Qwertie
    Commented Dec 12, 2019 at 4:31
  • 1
    @Qwertie I'm not so sure it'd give the rights to run the code, given that that could be abused for commercial SaaS services.
    – nick012000
    Commented Dec 12, 2019 at 6:15
  • 2
    Technically "use" and "copy/modify/redistribute" are two different things. For example, if someone posts some code on a website and makes it available for everyone to download, but posts no license, that will be seen as an implicit license to at least look at the code and 'use' it in the sense that you can click the 'download' link on that site and at least use it on your own machine. Copying it, integrating it into your own programs and redistributing the downloaded file(s) elsewhere is a separate thing however; for that you need an explicit license of some sort.
    – Brandin
    Commented Dec 12, 2019 at 8:06
  • 6
    @allo Well that's getting into a different issue (someone else posting someone else's software illegally). But assuming the author himself has posted some code on a page, 99% of places I've seen (including GitHub) at least have a "download" button. And the fact that this button exists on the page means that the author intended for you to be able to click it and download that code, but does not imply anything else (e.g. it does not automatically mean you can redistribute it).
    – Brandin
    Commented Dec 12, 2019 at 10:06
  • 5
    @Qwertie, Github's ToS grants you two rights to content without a license: the right to view it, and the right to create your own copy of it on Github.
    – Mark
    Commented Dec 12, 2019 at 21:18
21

You have a misconception here. You're thinking that licenses take away your right to use a piece of code. In fact, licenses give you the right to use a piece of code. If there's no license, you can't use it.

The exception is fair use: if you want to use the code in a way which is fair use, then that is permitted, whether or not there's a license. But if you write your own software which is based on or which incorporates this other software, then that is probably not fair use.

So:

Can I ignore an open source license if I checkout a version that was released prior to the license being added?

Technically, yes. But you can't use the code. If there's no license, you can't use it.

I didn't check if there's a license associated with the blog, is it even possible to license code given away in the form of a tutorial on a blog though? Could I simply use that and never actually checkout the github repository and then I'd have nothing to worry about?

No, you can't use it. Software is automatically copyrighted as soon as it's written, and posting it on a blog does not destroy the copyright or give other people the right to use the code in any way.

3
  • 4
    and 'fair use' is a term from US law. It is not identically applicable elsewhere. So... apply that at your own risk Commented Dec 12, 2019 at 14:26
  • 3
    This. In particular, it's a common insinuation that sticking GPL to one's code is a vicious lock-down process to squelch commercial use. Which is complete nonsense, seeing as 1. GPL is intended to be commercially usable (though I'll admit that this is in some cases a utopic view) 2. that code can perfectly well be dual-licensed, and a public GPL'd version can be a nice “promotion copy” – with only very harmless restrictions, compared to what most closed-source software uses in such cases. Commented Dec 12, 2019 at 17:21
  • This +1000000
    – roryhewitt
    Commented Dec 12, 2019 at 20:14

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.