I want to package a piece of software which only states its licence through a file called LICENSE in its repository. Said file contains the GPL 3.0 verbatim. What isn't clear is whether this means "GPL-3.0-only" or "GPL-3.0-or-later", so I wonder, which of these variants is the "default" one if it is not specified which the software is offered by the terms of? The source files do not specify any licencing information in their headers.

  • 4
    You need to read the actual copyright information in the source files - exactly what does that say? (Please edit this into your question rather than posting it as a comment - thanks!) Commented Nov 26, 2020 at 19:31
  • @PhilipKendall Done.
    – Newbyte
    Commented Nov 27, 2020 at 9:23
  • The answer to this question definitely depends on the wording of that file called LICENSE. You've told us that the LICENSE file "states its license," but what, exactly, does it state about the license? That will determine the answer to your question. Commented Nov 27, 2020 at 14:35
  • @TannerSwett I have now clarified this.
    – Newbyte
    Commented Nov 27, 2020 at 14:36

3 Answers 3


The GPLv3 license itself states on the topic of later versions:

14. Revised Versions of this License.


Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.

This section explicitly mentions two cases

  • No version number mentioned: You can choose any published version
  • The "or any later version" phrase is present: You can choose the referenced version or a later version

The case that a version number is mentioned but without the "or any later version" phrase is not explicitly mentioned in the license text, but the most logical conclusion that follows from the cases that are mentioned is that this should be interpreted as "mentioned version only".

TL;DR: If a piece of software states it is under the GPL 3.0, without the phrase "or any later version", then it is GPL-3.0-only.


"or later" phrases are a method of dual-licensing. All dual-licensing must be explicit. If you receive some software under one license that does not explicitly mention any other licenses, then you can only use and distribute it under that license.

While it is best if the code itself names the license, there are many projects that do just include a LICENSE file. If that's what you have, and the license is GPL 3.0, then the answer is simple: you have not received dual-licensed code, and can only redistribute it under the GPL 3.0.


The source files do not specify any licensing information in their headers.

In that case, there is an argument to be made that the files are not licensed under the GPL at all, so the question as to whether it is "GPL v3 only" or "GPL v3 or any later version" becomes moot.

That probably isn't what the person releasing the code intended, but I would personally be wary of using any code which contains this kind of ambiguity about its license status.

  • Interesting way to see it …
    – Newbyte
    Commented Nov 27, 2020 at 9:58
  • 3
    @Newbyte The GPL FAQ talks about this very problem: gnu.org/licenses/gpl-faq.en.html#LicenseCopyOnly But under no reading is the question one of only-versus-later; it would be between only-versus-nothing
    – apsillers
    Commented Nov 27, 2020 at 12:08
  • This seems like the kind of thing which would go to court and the judge would ask the plaintiff (the copyright owner) "if your code wasn't licensed under the GPL then why did you publish it with a copy of the GPL in a file called LICENSE?" and the plaintiff had better have a damn good reason, right? Commented Nov 27, 2020 at 13:47
  • 3
    @Barmar I think you're misinterpreting the hypothetical judge's question here. I think the intended interpretation is "why did you include a LICENSE file if you didn't want to release the contents of the package under that license"; you interpreted it as "why did you include a LICENSE file if you wanted to require people to obey the license?" Commented Nov 27, 2020 at 15:52
  • 1
    @Barmar: The only conceivable nexus of a dispute is between the copyright holder (author) asserting that the license does not apply, and a downstream reuser asserting that the license does apply. So the judge is rightly asking the copyright holder "Why did you try to trick people into thinking the license applied?" If the copyright holder thinks the license does apply, then there is no dispute to litigate, no court case, and no judge.
    – Kevin
    Commented Nov 27, 2020 at 21:33

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.