14

Linux now has a Code of Conduct. In the resulting backlash some people have claimed that developers can "flip a kill switch" or "pull their code" from Linux. They seem to mean that developers can revoke the GPL license from the code they have already contributed and force it to be removed from the kernel. Of course if this were done the effect would be disastrous, forcing Linux developers to scramble to identify and replace the affected code, which would be difficult at best and impossible at worst.

However I'm a bit skeptical of this interpretation of copyright law. My amateur understanding is that Linux contributers continue to own the code they wrote but offer it under the GPL upon submitting it; whoever pulls that code licenses it under the GPL at that moment and that license doesn't expire. That license allows other developers and end users to continue using and copying that code under the GPL. While developers can stop offering to license their code to new licensors, as long as people obtain the code via a chain leading back to an original licensor, it is still GPLed.

Is my understanding correct? Or can developers revoke their code from Linux?

curiousdannii
  • 7,768
  • 1
  • 27
  • 51

3 Answers3

11

No. Just no.

Firstly, this has nothing to do with a CoC. If it was possible for developers to de-license code after release last month, then it's possible this month; if it wasn't possible last month, then it isn't possible this month. I'd argue, at least in my home jurisdiction of England and Wales, that it's not possible, because of promissory estoppel, a legal doctrine that says that you cannot revoke a unilateral promise that someone else has relied upon. But that is a secondary issue for your question: the introduction of a CoC has made not one iota of difference to whether such revocation is possible.

The CoC doesn't say anything about what you're allowed to do with kernel code that you receive under GPLv2; if it tried to constrain that, it would fall foul of the free software definitions. It doesn't prevent you downloading the kernel, nor from modifying it to your heart's content, and it has nothing to say about how you should behave while doing so. It merely tries to (slightly) constrain how you behave publicly whilst so doing if you want your modifications accepted by upstream.

Nobody is guaranteed to be allowed to participate in any piece of free software development, including the kernel's. There have always been criteria for participation in mainstream kernel development, which presumably included technical excellence; now, another criterion has been added. It doesn't seem to me much less arbitrary or imprecise than the pre-existing criteria, but not much more so, either. That's all that has happened.

Edit: as Björn has said in his answer, Software Freedom Conservancy have issued a formal statement confirming their view of the irrevocability of a GPL grant, and that Codes of Conduct have no impact on this. It can be found eg here. Thanks to apsillers for suggesting that I link to it.

MadHatter
  • 48,547
  • 4
  • 122
  • 166
  • The GPL is not a unilateral promise. Moreover, people are often paid for doing development of code that ends up under a GPL license. They can't restrict what downstream people do with the code after it's been GPLed, but whoever they contracted with to gain some benefit in exchange for putting the code under GPL do have to pay up as promised. Can that "good and valuable consideration" take the form of a social contract, that is violated by a CoC? I don't know. But I wouldn't be so quick to say that none of the contributors have a valid argument. – Ben Voigt Sep 25 '18 at 05:39
  • 1
    Qualified legal opinion is divided about whether free software licences are mere licences (that is, unilateral promises, with optional conditions of grant) or contracts, so I don't think we can take your first sentence as read in any jurisdiction, much less all of them. Whether any "contributors have a valid argument" I can't say, because none such has been advanced here. If you want to advance one yourself, and consider it, then your answer might be a good place to do that, and a fresh question might be a better one. This comments field wouldn't. – MadHatter Sep 25 '18 at 06:06
  • -1 - important people disagree: http://lkml.iu.edu/hypermail/linux/kernel/1809.2/06864.html – Gloweye Sep 26 '18 at 11:58
  • 1
    @JaccovanDorp notwithstanding my personal opinions of the worth of ESR's dicta, his article makes exactly one mention of legal issues, when he writes "In the U.S. there is case law confirming that reputational losses relating to conversion of the rights of a contributor to a GPLed project are judicable in law". He makes no discussion of whether a developer can revoke their own licence retrospectively, which is what this question is about. – MadHatter Sep 26 '18 at 14:01
  • My understanding of the subject here was about future versions. Of course, past and published versions can't be affected. That said, I don't have that much experience with law. – Gloweye Sep 26 '18 at 14:21
  • 1
    Quoting from the question, the OP wants to know whether "developers can revoke the GPL license from the code they have already contributed and force it to be removed from the kernel." – MadHatter Sep 26 '18 at 14:24
  • 1
    Read your references, deleted my answer. Im not 100% convinced, but im unsure enough to not want information at this likelyhood of being wrong out there. – Gloweye Sep 27 '18 at 06:49
  • 1
    @JaccovanDorp hey, kudos to you for being able to have a calm, informed discussion on the subject, and on the basis of it, change (or at least re-open) your mind. If I learned anything from the current furore, it's that not everyone appears capable of that degree of rational engagement. – MadHatter Sep 27 '18 at 07:08
  • I don't feel calm. On the other hand, feelings don't matter. Laters dude. – Gloweye Sep 27 '18 at 07:09
9

Meanwhile the Software Freedom Conservancy published a statement which explains it quite well https://sfconservancy.org/news/2018/sep/26/GPLv2-irrevocability/

The answer is: no.

As a summary: By contributing to the Kernel you agreed to the license: "by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.", further the license indicates that there is no way to withdraw the license as long as the recipient comply with it: "parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance"

-1

No, but what they can do might have the same effect.

It's true that people can continue using the code under the GPL, as long as they don't breach the terms of the license. Each step of the chain leading back to the original contributor has to have been in compliance at the time the chain linked up through them -- recent violations wouldn't retroactively affect previously granted licenses.

But in order to use that code in future versions of Linux, the major developers and distributors have to stay in compliance. If some contributor wanted to make a claim that recent events constitute a restriction on recipients' exercise of rights, impermissible under section 6, or any other violation, the result would be a great big mess.

Future versions of Linux would most likely excise that code rather than trying to defend against allegations of copyright violation. (Only lawyers win from taking those to court) So the most likely end result would be almost indistinguishable from revoking code from those contributors.

Existing versions of Linux would be unaffected.

Ben Voigt
  • 162
  • 7
  • 2
    Could you clarify how a CoC could be a restriction on recipients' rights under the GPL? – Reinstate Monica Sep 25 '18 at 01:41
  • @Solomonoff'sSecret: People keep trying to release their projects derived from GPL under terms such as "no military use". GPL doesn't allow that. A Code of Conduct tries to forbid certain behavior, which for all the arguments proponents and opponents can have, is clearly not "freedom". See also https://opensource.stackexchange.com/a/2610/758 – Ben Voigt Sep 25 '18 at 01:45
  • 9
    Those non-free licenses restrict what you can do with the software but a CoC restricts who can contribute to the software - or, more precisely, whose contributions will be accepted by the community as anyone can contribute to a fork. – Reinstate Monica Sep 25 '18 at 01:48
  • @Solomonoff'sSecret: I'm not saying those are the same thing, I'm saying that they're close enough to create a great big legal pickle if someone makes the claim. Or any other claim that the Linux Foundation itself has violated the GPL. – Ben Voigt Sep 25 '18 at 01:50
  • OK, upvoted but this answer still leaves some uncertainty about whether the CoC violates the GPL. – Reinstate Monica Sep 25 '18 at 01:56
  • @Solomonoff'sSecret: Unfortunately licensing topics tend to have uncertainty until a judge rules one way or the other. – Ben Voigt Sep 25 '18 at 02:00
  • 1
    @BenVoigt They seem like quite different things to me. – user253751 Sep 25 '18 at 05:23
  • 3
    Even if "future versions" are affected somehow this is not retroactive in any sense. The headline should say "No, but they can stop contributing future code" or something to that effect. But actually even that would be a stretch. The GPL allows you to fork the code and call it something else, say, "AntiCoCoNix." The developers who are anti-CoC are free to contribute to AntiCoCoNix under the GPL. Then, the Linux project is free to incorporate those patches into the Linux project if it chooses. – Brandin Sep 25 '18 at 05:39
  • @Brandin: If you violate the GPL, you lose the right to continue distribution. Of code you're already been distributing. It doesn't only affect future contributions, it affects future distribution by the offending party. – Ben Voigt Sep 25 '18 at 05:42
  • 4
    @BenVoigt: True, and the CoC may say the same for the CoC. But the CoC has no influence on the GPL or vice versa. The permission to contribute (to the mainline kernel) is separate from the right to distribute. – MSalters Sep 25 '18 at 10:49
  • 6
    I have a fork of the linux kernel that only I can contribute to. The GPL specifically gives me the right to create such things if I wish to as this is part of what it means for software to be free. The argument that this somehow infringes on the GPL is simply bizarre and not supported by any logic at all. The argument that a project CoC is a restriction on recipients' rights just doesn't make any sense at all. What right is restricted? – David Schwartz Sep 25 '18 at 19:02
  • @DavidSchwartz: My answer says nothing about the project Code of Conduct. It answers how contributors might force removal of their code. It is they, not me, who have to make a claim of unauthorized copying (unauthorized because of a violation of the GPL). I am simply analyzing the possible outcomes following such a claim. And the violation does not need to have anything to do with the Code of Conduct. It could be something that contributors have been willing to overlook in the past, but because of the CoC, decided the time was right to enforce. – Ben Voigt Sep 26 '18 at 00:18
  • @BenVoigt You've made the claim, "If some contributor wanted to make a claim that recent events constitute a restriction on recipients' exercise of rights, impermissible under section 6, or any other violation, the result would be a great big mess". I can't see how any such claim is possible. Can you give me some clue of what such a claim might conceivably look like? Clearly, the claim that I tried to imagine you (and I agree with you on this) rejected. What would a claim you wouldn't reject look like? I can't imagine such a thing. – David Schwartz Sep 26 '18 at 00:24
  • @DavidSchwartz: Do we agree that if there was a "kill switch" (question's wording), that whether someone uses it or not might be influenced by the Code of Conduct and/or other related governance changes? I can imagine several scenarios: Contributor A could claim to have evidence the foundation added code to Linux from another project with an incompatible license, and that they did so with full knowledge. – Ben Voigt Sep 26 '18 at 00:34
  • Contributor B could have written code under a work-for-hire contract, which on delivery, the recipient contributed. But the payments fell through and as a result the copyright reverted to B, who never agreed to placing it under GPL. Contributor C might have knowledge of a major Linux distributor engaging in dual licensing but bundling code they didn't create (and therefore that had only GPL-derived distribution rights) into the dual licensed project. – Ben Voigt Sep 26 '18 at 00:37
  • 2
    @BenVoigt There is no imaginable scenario I know of in which someone can retroactively revoke a previously-valid GPL license. If there is any code in a project we think is GPL licensed that has issues like this, the sooner we find out about them the better. But either these issues already exist or they don't. They can't be created. If you don't have a license, that's that. If you do, it's irrevocable. – David Schwartz Sep 26 '18 at 00:40
  • @DavidSchwartz: MadHatter is probably right that the CoC does not create a violation. The only scenario I've thought of where it could, is if someone contracted to contribute code (or assign the right to contribute it) and the "good and valuable consideration" they contracted for was related to certain governance policies (such as Linus staying in charge) being put into effect for some period of time that hasn't yet elapsed. It wouldn't revoke a previously-valid GPL license, it would nullify one that was previously believed to be valid, but actually not. – Ben Voigt Sep 26 '18 at 00:48
  • 1
    @BenVoigt I don't think any court would hold that to invalidate the copyright license. If you intended the agreement to give you the right to revoke the license of innocent parties who have not breached any promise, it would be copyright misuse to enter into the agreement in the first place. (Like an agreement between an author and a publisher that the author believes gives him the right to destroy copies held by innocent purchasers if the publisher fails to pay him would similarly be invalid as copyright misuse.) – David Schwartz Sep 26 '18 at 01:01
  • @DavidSchwartz: Oh, I'm pretty sure the party who breached the contract is the one who would be held liable, not the people who received licenses from them in the past. But future versions couldn't rely on a "good faith" argument, they might indeed have to cease using the code in question. – Ben Voigt Sep 26 '18 at 01:15