Personal tools

Belt and suspenders

From GPLv3 Wiki

Company A is a redistributor of the program. It obeys all of the usual requirements except for the unclear question below. Company B makes noises that it has patent claims against the program. Company B is not an author or conveyor of the program.

Company A maintains that all patent claims against the program are invalid because of defenses like prior art, not original, etc.

Nevertheless, company A obtains an agreement that Company B will not sue Company A or its customers, but not the whole world. The agreement is carefully written so that Company A does not admit that company B has any valid patent claims against the program.

In spite of this, the agreement is still valuable to company A because:

  • It is expensive to be sued, even if you are in the right and win.
  • The FUD factor.

So company A can be sincere in its position of redundant protection.

Quoting from GPLv3:

"For example, if you accept a patent license that prohibits royalty-free conveying by those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from conveying the Program."

Well, the agreement does not prohibit royalty-free conveying by those who receive copies directly or indirectly through company A. It simply does not say anything on this point. It does, however, protect Company A and its customers who run the program without protecting anyone else.

The agreement between Company A and Company B is like the GPL in some weird respects. The GPL does not say anything about the $750 to $30,000 that you might have to pay if you don't abide by its terms. Title 17 of the US code does that. It simply fails to protect you if you do not abide by its terms. Similarly, the agreement between company A and Company B does not prohibit anything or say what happens to non customers of company A. It simply fails to protect them.

Company A maintains that company B's patent claims (if any) are invalid and that fact protects downstream conveyors. It too bad that company A's non customers do not have the additional protection that Company A's customers do.

Company A is saying everyone is protected because they have a belt. (The patent claims are invalid).

It is just too bad that everyone does not have suspenders as well. (The agreement).

Question: Is company A a GPLv3 violator?

Please quote the specific text of GPLv3 that makes Company A a violator because I can not find it.

You might think that this part of section 11 will do it:

"If you convey a covered work, knowingly relying on a non-sublicensable patent license that is not generally available to all, you must either (1) act to shield downstream users against the possible patent infringement claims from which your license protects you, or (2) ensure that anyone can copy the Corresponding Source of the covered work, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means."

But that won't work either. Company A uses (2) above. They put the source code on line “under the terms of this license.” They rely on the fact that Company B's patents are invalid to satisfy the “under the terms of this License” phrase. Company A is saying that anyone can "run the Program" or “copy and convey a work based on the program” because Company B's patents are invalid. Therefore “anyone” doesn't need no stinken' agreement from Company B. Thus (2) is satisfied.

You might think the first paragraph of Section 11 will help:

"You receive the Program with a covenant from each author and conveyor of the Program, and of any material, conveyed under this License, on which the Program is based, that the covenanting party will not assert (or cause others to assert) any of the party's essential patent claims in the material that the party conveyed, against you, arising from your exercise of rights under this License. If you convey a covered work, you similarly covenant to all recipients, including recipients of works based on the covered work, not to assert any of your essential patent claims in the covered work."

This does not help either! All "essential patent claims" are held by company B. But company B is not a conveyor of the program and it has not modified or used the program in any way, thus company B has no need to agree to the GPL. But Company A the conveyor, (who does agree to the GPL), does not have any patent claims!

What would be the answer to this question under GPL v2?

Although, this scenario was inspired by the recent Novell-Microsoft deal, it should be considered as written, that is abstractly. I do not know that all that I have assumed about Companies A and B is true of the real world Novell-Microsoft deal; They are keeping some of the terms secret. I do believe that the scenario I have envisioned is plausible. Something like it will probably happen sometime.

I have just learned that in the real Novell-Microsoft deal, only Novell's customers are given a patent license. This is the way the deal tries avoids the "for example" sentense of GPL v2 section 7. But in this hypothetical situation Company A actually receives a patent license from Company B and draft GPL v3 does not stop it! This is possible because, in the "for example" sentense "would not permit" has been changed to "prohibits". God only knows what "would not permit" was supposed to mean in GPL V2.

This situation will likely be important in the future. Companies collect patents, especially invalid patents and trade them like baseball cards. They are bargaining chips in a FUD war. Companies don't like to try to enforce their patents, especially if they are invalid.

Therefore, there are many dubious patents that have not been tested and likely never will be tested. So the described situation may well be common.

See also the following reply on Groklaw and this reply to the reply.

I apologize if previous versions of this test case were too strident. I was concerned to make sure the message was received.