Suppose Alice makes some proprietary software. The source is available, but under a proprietary license which prohibits derivative works and sublicensing. Bob writes some GPLv3 code. Carol prepares a derivative work which incorporates both Alice and Bob's software and purports to release it under the GPLv3, in violation of Alice's copyright. Carol provides source code and otherwise complies with standard GPL formalities. Alice decides not to sue Carol, but threatens to sue anyone who makes derivative works of Carol's software.

Has Carol violated the GPL, and if so, how?

If Carol has not violated the GPL, why don't companies do things like this all the time to subvert the GPL?

  • 8
    Note that just because Alice chose not to sue Carol (or privately agreed not to do so) does not protect Carol from lawsuits by whoever reasonably relied on the GPL license offered by Carol. – Ben Voigt Aug 3 '15 at 20:07
  • @BenVoigt: I was under the impression the GPL contained a standard disclaimer of warranty. – Kevin Aug 3 '15 at 20:08
  • 6
    Some things can't be excluded from warranties -- the behavior being discussed here is not just negligence (which might be disclaimed), but fraud (which almost certainly cannot be). – Ben Voigt Aug 3 '15 at 20:13

ArtOfCode's answer correctly describes Carol's situation relative to Alice's code: violation of Alice's original license (which is not the GPL) and therefore infringement of Alice's copyright. The terms of the GPL are not relevant except in that they are incompatible with Alice's license.

However, Bob's code is originally licensed under the GPL, and the GPL contains a clause anticipating exactly this sort of situation. In version 3, it's section 12. v2 had slightly different but (I think) legally equivalent wording.

If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.

(Emphasis mine.) In this case, the "other pertinent obligations" are Alice's original license, which is incompatible with the GPL. Therefore, Carol's violation of Alice's license causes a violation of the GPL as applied to Bob's code.

The obvious legal consequence of this is that Bob also has a copyright infringement case against Carol. I don't know how Alice's having declined to sue Carol would affect the decision.

This "poison pill" clause in the GPL is why Linux distribution maintainers tend to be cautious about combining GPL with works whose license might not be compatible. For instance, this is why they hesitate to link GPLv2-licensed programs against OpenSSL. (If I remember correctly, GPLv3's "additional terms" section renders that particular problem moot.)

  • 6
    And if Carol distributes the code anyway then Bob can sue Carol even though Alice have promised she won't sue. This is what some open source projects actively do. Busybox for example maintains a page of cease-and-desist letters to closed-source manufacturers that include busybox code. So far, everyone who've received such letters have made their source code public in order to comply with GPL. We haven't had a court case about this yet. – slebetman Aug 4 '15 at 5:22
  • 2
    By my reasoning, even without that clause explicitly saying so, the GPL only gives you the right to distribute derivative works under the GPL. If Carol cannot distribute her derivative of Bob's work under the GPL (because it is also a derivative of Alice's work, which Carol has no right to sublicense at all) then there is no other provision in the GPL that gives Carol the right to distribute a derivative of Bob's work. That clause is merely explicitly stating that you don't magically obtain extra permissions from the GPL because you are also under other obligations. – Ben Aug 4 '15 at 5:54
  • @slebetman wait, why can Bob sue Carol? Bob released his software under GPL, and Carol did that too, so, as long as Bob is concerned, that's fine. – o0'. Aug 4 '15 at 16:00
  • 2
    @Lohoris The point of my answer is that the clause I quoted renders Carol's actions a GPL violation as well as a violation of Alice's license. Carol may be in compliance with all the other terms of the GPL, but because she cannot "convey ... so as to satisfy simultaneously" the GPL and Alice's license, she doesn't have permission to redistribute Bob's code in this combined form. – zwol Aug 4 '15 at 16:08
  • 1
    @Lohoris: Carol can claim that she released the code under the GPL license all day long, but that doesn't make it true. Carol has no right to release Alice's code under the GPL, so she cannot possibly do this at all. And since Carol cannot release the code under the GPL, she isn't allowed to copy Bob's code. (And since Alice's license doesn't allow it, she also cannot allow Alice's code). – gnasher729 Aug 4 '15 at 19:56

Carol hasn't violated the GPL, she's violated Alice's copyright and in doing so invalidated her use of the GPL.

In simple terms, because Alice's code wasn't Carol's to release, she can't apply the GPL to it. There is no violation of the GPL, because it never applied to Alice's code in the first place.

As to why companies don't do this, it's because it's still copyright violation, which is worse. The GPL gives you a chance to rectify your mistake if you violate it, and keep your money, time, and rights to use the GPL-licensed software. If you violate a copyright, it's entirely up to the copyright holder what they do: they could sue you for copyright infringement and bring you to court. There's no guaranteed chance to rectify.

However, in deciding not to sue Carol, Alice has created a legally messy situation. Alice has, in effect, given Carol permission to license her software under the GPL, which allows derivatives. When she then threatens to sue them, Alice forbids derivatives. It can now be argued from either side: either Alice gave up her right to sue derivative-makers when she didn't sue Carol, or because it's originally Alice's work and still copyrighted, she can sue who she wants.

This one would come down to lawyers slugging it out in court, and a very long and messy court case.

  • 3
    Note also that the poison-pill clause in the GPL would trigger (v3§12: "If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all." — very similar wording was in v2) and render Carol's redistribution of Bob's code a copyright infringement as well. – zwol Aug 3 '15 at 18:53
  • 1
    @zwol That is not just an addition to this answer, it actually contradicts it. I recommend you post it as a full answer yourself. I also believe you are correct: Carol did violate the GPL. – hvd Aug 3 '15 at 19:01
  • 3
    @MatthewRead My lay understanding is that the legal doctrine of acquiescence might very well bar Alice from suing either Carol or people who got the code from Carol, but as ArtOfCode says, it would be a messy case. – zwol Aug 3 '15 at 19:33
  • 3
    @R.. Please, do tell me what's wrong with it. Simply saying it's wrong doesn't let me fix it. – ArtOfCode Aug 3 '15 at 22:05
  • 2
    For instance your claim that failure to enforce your copyright grants permissions is false, at least in jurisdictions I'm familiar with. But that's not really relevant to the GPL/FOSS-licensing aspect here. The big issue is that you're missing the blatant GPL violation. – R.. Aug 3 '15 at 22:10

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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