10

Scenario:

  1. Bob develops patches for Linux. Because Linux is licensed under the GPLv2, these patches are also licensed under GPLv2.
  2. Bob distributes these patches only to people who have a contract with him.
  3. Bob threatens: If you distribute the patches, I won’t renew your contract.

So users have the right (thanks to GPLv2) to distribute the patches, but they might refrain from doing so, because they would face disadvantages (i.e., not getting updates or new patches anymore).

Is there anything in the GPLv2 that would prevent Bob from threatening this?

(Background: RMS Responded - GRsecurity is preventing others from employing their rights under version 2 the GPL to redistribute. Stallman thinks this might be a violation, but I’m not sure if he read the full details, or if he only answered the subject line, which says "preventing", which doesn’t seem to be accurate.)

  • 3
    I remember reading about this a couple of months ago. I ended up getting sidetracked and finding Red Hat and others have employed similar tactics in the past. e.g. dropping support/terminating contracts if the recipient redistributed the source. I'll try to do some digging to see if I can find the articles I'm referring to. – airfishey Apr 27 '17 at 21:49
  • 1
    The conditions are placed on the contract, not the software. You are free to distribute the software. Bob is free to refuse to renew contracts. It is immaterial that the condition of the contract is attached to the software. It could have just as easily been required that you not disclose that Bob goes to the gym on Thur. afternoons when he should be working. Bob's practice may, in the long run, cost him more contracts than it is worth as others decide his actions don't match with their internal positions. – Gypsy Spellweaver Apr 28 '17 at 5:04
  • 1
    To give a bit more context to those who didn't know about this issue like me, here is the announcement of GRsecurity about their new policy grsecurity.net/announce.php (see the last paragraph in particular, in which they explicitly refer to this LWN article about RedHat policy that has been cited in the two answers). It is interesting to note that they explain their change of policy by being tired of people in the embedded industry violating the GPL (and their trademark). – Zimm i48 Apr 28 '17 at 17:07
  • 1
    Actually here is a second, more recent announcement that corresponds more to the time when this question was asked. – Zimm i48 May 3 '17 at 11:53
6

IANAL/IANYL, but this looks like an open-and-shut case to me. GPL2s6 says that

Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

and further notes in s5 that

You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License.

It seems clear to me that the threat of the loss of the general ability to enter into a particular contract constitutes a restriction, at least unless Bob has already been very choosy indeed about who's allowed to enter into one of these contracts. If GRSecurity decide to impose restrictions on the redistribution of code they received under GPL2 and then modified, then I can't see how they retain their right to make and distribute modified versions thereof going forwards.

The Sveasoft link in airfishey's answer isn't very helpful, because following it back to see what the FSF actually said links to a generic "buy Sveasoft stuff" page that makes no mention of the issue. The internet archive's Wayback machine has no meaningful record of the content, and everyone else I can find who refers to it links back to Sveasoft. In the LWN article comments contemporaneous doubt is expressed as to whether the FSF were blessing what Sveasoft apparently claimed they were blessing.

The RedHat case is even murkier, since they were distributing sources without restriction on redistribution. It was only sources expressed in a particular form that attracted a restriction ("the broken-out patches that used to come with the kernel source RPMs are evidently being made available to Red Hat customers, but only if they don't distribute them further on pain of losing support going forward"). The GPL is pretty clear that people are entitled to unencumbered sources, but less prescriptive about how they should be formatted.

So at least to me, it's pretty clear that in the scenario above, Bob has just forfeited his right to distribute the Linux kernel, modified or otherwise.

  • 1
    This is certainly the argument I'd pursue as a plaintiff arguing against this practice, but I not convinced that it is so open-and-shut. If I said, "Here's some GPL software; if one year from today you haven't distributed it, I'll give you a million dollars. If you do choose to distribute it, I won't give you any money and we just go about living our lives as usual," then I think(?) we can agree I'm not putting a restriction on your ability to redistribute the source code. How do you see the million-dollar case as different from the renew-support-contract case here? – apsillers Apr 28 '17 at 12:24
  • 1
    Because a benefit consequent on a course of action is not a restriction on not taking the action, just as paying your children to do chores is different from beating them if they don't do them. – MadHatter supports Monica Apr 28 '17 at 15:38
  • 2
    Yes, well put; I think we're on the same page here. I think it would come down to whether a court would see the non-renewal of a contract as a closer to a punishment or closer to the non-continuance of a benefit. I don't know enough about contact law and its interaction with licensing law to say. I would tend to suspect the later, since neither party has any strict obligation to renew the contract, but I can certainly understand your thinking differently. Really, I'd like for you to be right here; I'm just skeptical and need a deeper understanding of relevant legal theory. – apsillers Apr 28 '17 at 16:38
  • Contract renewal is still governed by the freedom to contract. A party may very well unilaterally refuse to renew. While there may be specific rules that modify this general statement, stating clear terms for renewal up front ("we like to contract with companies not doing X") only strengthens the right to refuse contracts. It makes it clear for instance that renewal is not a certainty, and cannot be relied upon (e.g. so estoppel cannot be claimed as grounds for renewal) – MSalters May 8 '17 at 0:00
  • @MSalters much is made of "freedom to contract", but it isn't an overarching freedom, at least not in England and Wales. Particularly in the case of B2C transactions, courts have often held that business do not have the freedom to arbitrarily decide not to contract with a particular party. Most such cases have revolved around explicitly protected behaviour, such as the sexual orientation of the customer. But a comparable argument could certainly be made about a business which arbitrarily refuses to contract when that is forbidden by the licence which permits it to trade in the first place. – MadHatter supports Monica May 8 '17 at 6:53
5

Here are a couple of old articles from lwn.net talking about RedHat and Sveasoft doing the same sort of think as GRsecurity.
RedHat trading support for GPL rights
Sveasoft and GPL

To some, it looks very much like Sveasoft is attempting to add restrictions to the GPL-licensed software it uses for its products. It is, in essence, imposing a penalty on anyone who redistributes its products. In the end, however, challenges to this model have not gotten far, and the Free Software Foundation has stated that Sveasoft is in compliance with the GPL - at least, with regard to its support agreements.

  • These are good references but the RedHat case may be somewhat different? It came about because Oracle was ripping off RHEL wholesale if I recall correctly. – Philippe Ombredanne Apr 28 '17 at 21:37
3

The GPLv2 section 6 says to those who redistribute another person's GPL-licensed work:

Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein.

The central question, then is whether threatening non-renewal of a support contract, based upon distribution of the GPL-licensed program, constitutes a "restriction" on distribution. It is not obvious to me that it would be, but I cannot rule out the possibility entirely.

In particular, the recipients of the GPL-licensed code have 100% of the rights detailed in the license, and the set of restrictions upon the recipients' right to redistribution is strictly those requirements imposed by the GPL. The distributor has erected no additional legal barrier for those recipients to exercise their right to distribute their copies of the GPL-licensed code. If the recipients choose to redistribute the work, the upstream company (e.g., Red Hat) does not have the ability to take any legal recourse, nor have they ever claimed the ability to do so.

They have, however, threatened to take practical recourse by refusing to renew a support contract. Their right to do so stems from the existing support-contract between the two parties, not the licensing relationship. The question is: when a contract includes a term that is activated by the exercise of a licensed copyright right (where the license grant itself is external to the contract), will a court view that as, in fact, a term applying to the scope of the license? This sounds like a very nuanced legal question, and even if we could get an answer, it may vary by jurisdiction, depending on the legal norms of contract law and licensing law.

-1

Here's my reading:

The GPL requires that if a person P comes into contact with a distribution of a binary version of a program from someone S, then P has the right to request and obtain the source code from S, plus the source code of the entire product or work distributed by S (the 'virality'). For example, if S is selling 'set top boxes' containing binaries that contain Bob's driver software, then S is distributing a binary and is required to provide source to P. So, Bob may well condition his provision of support to his customers S on their holding back the source, but S's television watchers P have the right to obtain the source anyway from S. Bob's attempt to hold back the source fails.

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.