At the end of section 7 of gpl v3:
7. Additional Terms
….
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
In the top of the licence:
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
so: How should I understand “may be stated in the form of a separately written license, or stated as exceptions”? {[the form of a separately written license,] OR [stated as exceptions]} ? – so, “stated as exceptions” means “NOT the form of a separately written license” and so as exceptions in same licence file by modifying it? but additional terms MUST be only in separate file due to the “changing it is not allowed”?
or, “changing it is not allowed” does not mean changing file and allow putting licence in one file with other additional text? In that case “or stated as exceptions” means that the exceptions can be put in same text file with gplv3 licence itself’s text, after it or before it?
I was unable to find anything in the GPL FAQ that covers this, and the license itself does not say as far as I know.
What I do know is this:
-
The license must be verbatim, although the FSF do acknowledge that this “requirement” is not set in stone.
-
There is no requirement anywhere that I can find stating that the LICENSE documentation can only contain one license, or cannot have extra commentary or exceptions listed.
-
From a practical perspective the license must be self-contained. There is a convention in the open source world that license terms go in a file named LICENSE or COPYING in the root of your project. If you split license terms between files, it becomes plausible for someone to argue that they did not know about other license terms because you did not follow the convention.
What I would do is put all of the license details in a single file. I would keep the license text verbatim: if nothing else, these are legal documents crafted by lawyers who specialize in intellectual property law. Do you think your program would work correctly if a lawyer decided to “optimize” some loops? Do not mess with the licenses beyond the built-in exception mechanisms.
I have actually seen this. A LICENSE file says “my code is licensed using X, some third-party code I included in source folder Y uses license Z. I am modifying license X using exceptions A and B.” Then list each license and the exceptions.
Disclaimer: I am a software engineer, not a lawyer. If you are ever in doubt, consult a lawyer who specializes in intellectual property law in your jurisdiction.
2