The GPL does not allow people to impose additional copyright restrictions on top of those that already exist in the terms and conditions of the GPL itself. However, the GPL does allow the original licensor to grant exceptions or "additional permissions" by waiving some of the terms and conditions imposed by the GPL.

Could these exceptions be written in such a way that they apply to only certain individuals, or if certain conditions are met?

Example: "green-eye privilege"

Consider if a program author added the following text to their copyright file:

As a special exception to the GPL, when a person with GREEN EYES modifies this program, they may distribute their modified version under ANY TERMS of their choosing (i.e. they are not required to distribute their version under the GPL).

Would this exception for green-eyed people (and others like it) be valid?


The exception might be accompanied by the usual non-obligation text:

If you modify this program, you may extend this exception to your version of the program, but you are not obligated to do so. If you do not wish to do so, delete the exception statement from your version.

But, in the case of the GPL at least, even if not stated, the non-obligation clause would still apply.

  • The copyright holder has the right to license the code to anyone under any terms they desire. That is they can license it to specific individuals under non-GPL terms, I expect that conditions such as eye colour would not hold up in court but something like country of residence would. – sambler Aug 2 '18 at 3:45
  • @sambler Why would a condition such as eye colour not hold up in court? – Brandin Aug 2 '18 at 7:38
  • 1
    @Brandin have you heard of discrimination or equal opportunity? Different countries have different laws so licenses may be adjusted to satisfy local laws, but saying people with green eyes can use this is no different than saying only white people can use this or only males can use this. The users device could be a workable condition, people using device X are not bound by GPL terms as it would conflict with the devices user agreement. – sambler Aug 2 '18 at 14:07
  • 2
    @sambler Equal opportunity is for employment, not for accepting a software license. – Brandin Aug 2 '18 at 15:31
  • Potential use-case: CLA as an exception to the GPL – HullCityFan852 Aug 2 '18 at 18:47

This is probably not in compliance with the Debian Free Software Guidelines or the Open Source Definition, both of which prohibit discrimination against persons or groups. However, your case is interesting because even in the most restrictive case, it's still the normal GPL. Your discriminating clause imposes one of two states, and each state by itself would be in compliance with FLOSS definitions. This is kind of similar to the question in Why is the Non-Profit Open Software License (NPOSL) OSI-approved?, but I'm unsure if it's directly analogous.

As already suggested, you could avoid this issue by keeping your permissions for green-eyed people as a separate license and only offering it to green-eye people. Alternatively, since the exception is removable, any person concerned about its status as a free software license may simply remove the exception, as allowed for any GPL exception.

Yours terms are probably legally valid (i.e., they do not cause inconsistency with any other term of the GPL) since they only introduce new permissions. Section 7 if the GPLv3 invalidates additional restrictive terms, but allows additional permissive terms, which are defined as

“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions.

For each person in the world, your proposed term is either permissive or neutral -- people with non-green eyes do not encounter any restriction to the normal GPL terms, while green-eyed people enjoy additional permissions on top of their normal GPL rights.

Note also that your terms allow any green-eyed person to redistribute the work under fully permissive terms for people of any eye color. If any green-eyed person has an interest in doing so, then the software will rapidly become available for everyone under both GPL and permissive terms.

  • +1 for bringing up the DFSG and OSD, which I hadn't considered. Of course, Debian (and others) could simply remove the exception from their version. I deliberately made the language in this question discriminatory to provoke debate, but there are more realistic cases that are not as clear-cut, such as CLA as an exception to the GPL. – HullCityFan852 Aug 4 '18 at 16:16
  • @HullCityFan852 Ah, of course! Even if your exception makes it non-free, it is immediately convertible to a free license. I added a sentence to the second paragraph. – apsillers Aug 4 '18 at 17:54

That would not be a Free license - discrimination against (or FOR) persons, groups, or field of work means it is non-free.

What you can do - if the code is all yours - is to dual license it. Post it via GPL for whoever to use, and on your website simply state "green eyed redheads can contact us for alternative licensing"

  • An additional permission is a dual license: the GPL guarantees that people always have the choice of using the software under GPL+exception or just the GPL. It might not be free, but as the GPL doesn't appear to make any requirement for additional permissions to be such, it appears to be legal. – HullCityFan852 Aug 4 '18 at 12:22
  • @HullCityFan852 - except the GPL itself isn't available Free - you cannot modify it (I speak of v2 - my preferred version). "Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. " – ivanivan Aug 4 '18 at 15:40
  • Waiving conditions of a license doesn't require you to modify the actual text of that license. The exceptions can be stored in a different file (usually in each individual source file), or at the beginning/end of the license file (as long as it is clear they are separate the the main license). This is common practise, even with GPL v2, and is endorsed by the FSF. – HullCityFan852 Aug 4 '18 at 18:51
  • @ivanivan Note that independent of that restriction within the license document, the FSF does give permission to modify the GPL (both v2 and v3), if you remove the preamble: gnu.org/licenses/old-licenses/gpl-2.0-faq.en.html#ModifyGPL. The FSF has always endosed the practice of adding removable exception (as mentioned above), and this practice was formalized in v3. – apsillers Aug 4 '18 at 19:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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