9

I was reading this answer and started wondering about this particular part of the GPLv3:

Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge.

What I understand from the above is that, under the GPL, you can not charge £10 for the main product, and separately charge £1,000,000 for access to the source code (possibly as a deterrent).

But how does this work with dual licencing? As far as I understand you are free to dual licence GPL code, (as long as it does not involve external GPL'ed code for which one does not have the rights and would then cause conflicts).

So does this mean that a loophole to the above quote exists, where a company could release their product under two licences, and charge £10 for the commercial licence variant, and £1,000,000 for the GPL one?

3
  • 4
    Some variant of this happened with the original Humble Indie Bundle, which was a limited-time pay-what-you-want sale for a bundle of proprietary games, but most of the authors also promised that if sales exceeded some threshold, they would all release their games' source under the GPL. (They ultimately met their target and did so.)
    – apsillers
    Jun 28 at 14:57
  • 3
    How is this a loophole though? They could just release it only under the commercial license and not GPL version at all. Why would they add a GPL version at all? Jun 29 at 0:50
  • If you don't have it under GPL then the GPL is irrelevant
    – user253751
    Jun 29 at 9:49
23

Yes, it is perfectly acceptable to dual-license under GPL and proprietary terms, and to charge more for the GPL terms. This is hardly a loophole. In that scenario, the licensor could also decide to not offer under the GPL at all.

Why would a company even use such a licensing scheme? The benefit of a dual-licensing scheme is typically that a gratis open source license begets developer mindshare and goodwill, but copyleft licenses are unattractive for many commercial products. Thus, other companies might be prepared to pay more for a non-GPL license. Under such a strategy, it wouldn't make any sense to charge more for the GPL license.

Another issue is that the GPL license is public. If the original company sells a GPL license for £1M, the licensee could freely share the software and source code with anyone else at no cost. In practice, this means that no one charges for GPL software in the first place (though some projects charge for the convenience of pre-built binaries). Grsecurity is a notable example of an actor who tries to discourage such subsequent sharing, by threatening to withhold security updates from licensees who share the GPL-covered material. This might be a GPL violation, but that hasn't been litigated.

1
11

If you are the originator of the work, then you can license it to as many people as you want, under as many different license agreements as you want. The GPL imposes conditions on the licensee, not on the copyright owner!1 The fact that you give me access to your code under the GPL license for one price has no bearing whatsoever on the license conditions (and price) you give to someone else.

The clause of the GPL that you're asking about binds other people who receive your work under the GPL. It does not bind you, so it is totally irrelevant to any other license agreements you might make.2

However, people are usually interested in loopholes to the GPL because they want to make use of GPLed code owned by other people, without having to release the source of their own modifications. In this scenario, you cannot do what you propose, because you have no authority to distribute only the binaries under the commercial license (regardless of price). You can decide not to distribute at all, or you can distribute under the GPL for any price you like (necessarily including source code in the same price). Those are your options.

Dual-licensing isn't really a "loophole". It doesn't somehow "get around" any obligations of any license agreements, it just makes use of the fact that you are not a licensee of your own work; there are no license terms governing your use of it. If you do actually have obligations under the GPL (because you're a licensee of someone else's GPLed work), then you can't dual-license.


1 It is possible for two parties to make a contract where one party will exclusively license their work to the other. That contract would restrict them from also giving the work to other people under other licenses, but there is no such contract involved in typical uses of the GPL. Certainly it's not in the GPL itself, which is merely a one-way grant of permissions to distribute the work under certain conditions, not a two-way exchange of obligations.

2 Technically you can even give binaries of your own original code (not a derivative work of anything else) without the source code, licensed under the GPL. The fact that you gave them permission to distribute the binaries as long as they also distributed the source does not obligate you to give them the source. You're the owner! You don't need anyone's permission to distribute your own work.

However it's a pointless thing to do, because the effect is just that they can't distribute the binaries (since they don't have the source, and you only gave them permission to distribute the binaries if they also distribute the source). You might as well just use a license that says "Do not distribute".

3
  • 3
    Foornote 2 could actually make sense: put the code in escrow in case the licensor goes bankrupt. The GPL license was granted earlier, but can only be exercised by the licensee when they receive the sources. The licensee can at that point hire another company for maintenance.
    – MSalters
    Jun 29 at 11:37
  • That scenario (GPL licensee is unable to distribute, because they didn't get the source) seems to be what happened in Distributing GPL binary which has no source and unresponsive author. And no code in escrow, so the part that makes sense isn't available... Jun 30 at 8:49
  • In the last case could they distribute reverse-engineered source that was as good as the original?
    – user253751
    Jun 30 at 15:04
0

So does this mean that a loophole to the above quote exists, where a company could release their product under two licences, and charge £10 for the commercial licence variant, and £1,000,000 for the GPL one?

No. For two reasons:

  1. It is in no sense a loophole. You could just not offer it under the GPL license at all. What benefit would you get by also offering a GPL version over not offering a GPL version at all?

  2. Everyone who gets the commercial license variable would automatically have the GPL one no matter what you do. As the GPLv3 says:

"Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License."

The proprietary version is a "covered work" because the GPLv3 says a "covered work" means "either the unmodified Program or a work based on the Program" and "the Program" means "any copyrightable work licensed under this License".

So by distributing the proprietary version, you are distributing a "covered work" and thus the recipient of the work automatically receives a GPLv3 license to that work. By placing the work itself under the GPL, you agree to grant anyone who has a lawful copy of that work (or anything derived from it) a GPL license.

But point two is largely academic since you are the only license holder, so there would be nobody to enforce the GPL license against you. You wouldn't be harming anyone by distributing code without accompanying GPL rights since you could do that anyway by simply never offering a GPL version at all.

12
  • Doesn't the quoted section with point 2 apply to the licencee, rather than the original licensor? I mean that if you received the code licensed under GPLv3, then you would have to abide by that when further distributing it, but the original licensor doesn't. Or have I misunderstood?
    – Llama
    Jun 29 at 2:43
  • @Llama The GPLv3 has no power to force the original licensor to do anything. And you'll note that this doesn't require anyone to do anything. It simply states what the licensor has agreed to have happen by the fact that they put the work under the license. That is, by putting a work under the GPLv3 license, you automatically agree to grant a license to anyone the covered work is conveyed to. (Notice it doesn't say that "you" grant the license, it says the recipient "automatically received" the license from the licensor.) Jun 29 at 5:40
  • 2
    The work isn't licensed under this License until you buy this License
    – user253751
    Jun 29 at 9:06
  • 1
    @Llama No, they aren't licensing it to themselves, they are licensing it to anyone they convey it to. That's what that section says. Jun 29 at 15:02
  • 2
    @DavidSchwartz Then, your argument might start working the first time someone pays a million dollars for the GPL license. But you don't need it to work because you can just get a copy from the person who paid a million dollars.
    – user253751
    Jun 29 at 15:54

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.