[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with GPLv3 FAQ about linking with Visual C++

From: Alexander Terekhov
Subject: Re: Problem with GPLv3 FAQ about linking with Visual C++
Date: Tue, 02 Feb 2010 22:39:26 +0100

Hyman Rosen wrote:
> On 2/2/2010 3:06 PM, Alexander Terekhov wrote:
> > Hyman Rosen wrote:
> >> I don't know why Nimmer thinks this is double-speak.
>  >
>  > utter nonsense.
> I don't really care what *you* think.

Are you okay Hyman?

Just visit

"The final version of the GNU General Public License 3.0 (GPL 3.0)
injects many areas of controversy and uncertainty in the open source
arena. It is a new and highly restrictive license. Among the questions
is the simple one of how we can expect a community of software
developers to understand, let alone comply with, a complex eleven page
legal document that contains complicated definitions and terminology and
will take months if not years for lawyers to understand. Pity the
developer who elects to use this license or who receives and wants to
use other software under GPL 3.0. But fully understanding GPL 3.0 is a
topic for a later time.

An intriguing part of GPL 3.0 is how it singles out particular practices
or parts of an industry for special treatment. The drafters do not like
anti-circumvention laws, so they try to use their license to circumvent
those laws. § 3. They do like some companies and licenses that do not
wish to follow pure GPL restrictions, so they validate many “Additional
Terms.” § 7 The license attempts to commit patent owners who distribute
“free” software to granting licenses to both current and any future

The drafters do not like commercial arrangements like that between
Microsoft and Novell, so they include terms trying to block that
practice in the future, while not precluding Novell from adopting
version 3.0 even as to its existing agreement. § 11. They believe that
if 3.0 is used by Novel for future transactions, then Microsoft will be
captured into broad patent licenses not contemplated in their original
agreement. I think they are wrong.

The Microsoft-Novell agreement provides that each company shall covenant
not to sue the other company’s customers for patent infringement on
account of the customer’s use of certain products. It provides for
payment from each party to the other based on how many such customers
receive the commitment and for a means of recording this (e.g., using
coupons). This is an unusual cross-licensing agreement since it protects
the customers, but does not protect either company from a lawsuit by the

So why does the Free Software Foundation (FSF) dislike an arrangement
that protects users of open source works from patent claims by
Microsoft? It is not clear to me that the reason is anything other than
a visceral dislike of Microsoft as epitomizing the so-called proprietary
software realm and the fact that this arrangement allows Microsoft to
participate more in the open source without adopting all premises set
out by FSF. Beyond that, the only complaint is that the protections are
not comprehensive – neither party gives the other’s customers a covenant
not to sue as to several limited types of uses.

GPL 2.0, the most widely used open source license, does not preclude
arrangements like the Microsoft-Novell agreement. This is because GPL
2.0 focuses solely on the rights and limitations received by the
transferee of the software from the licensor. Microsoft is not a
licensor of Novell software and Novell is not a licensor of Microsoft
software under this arrangement. Rather, both have merely agreed with
the other to waive rights as to third parties. In legal terminology, the
customers are third-party beneficiaries of the MS-Novell agreement. GPL
2.0 does not deal with such relationships.

GPL 3.0, however, has two provisions that try to prevent this type of an
arrangement (or at least change it to fit FSF goals). The problem for
FSF is that Microsoft is not bound by either provision when it is not
itself distributing software under or covered by GPL 3.0 and that Novell
is affected only if it chooses to use GPL 3.0.

The first is paragraph 6 of § 11. It says basically that if you (as
licensor) “convey or propagate by procuring conveyance of” a covered
work, and grant a patent license to some parties receiving a GPL 3.0
work, “the patent license is automatically extended to all recipients of
the covered work and works based on it.” The FSF apparently believe that
if Novell adopts GPL 3.0, Microsoft will have procured conveyance of the
GPL software by giving coupons to its customers and a patent waiver to
Novel customers, thus falling within the provisions of paragraph 6. But
this language is in GPL 3.0 – arguably a contractual document, but
certainly not a body of law good against the world. If I am not bound by
that contract, I am not bound by that provision.

Look at this from Microsoft’s perspective. It never agreed to GPL 3.0 in
a transaction for a product covered by the Novell-Microsoft agreement.
There is a debate about whether GPL creates a contract at all, but if
GPL does, the contract is solely between the parties who agreed to it.
That is one of the most basic tenets of contract law. Judge Easterbrook
many years ago got it exactly right: contracts are not rights good
against the entire world, but only create obligations between the
contracting parties.

The GPL method for obtaining agreement is that the party agrees to the
license by modifying or “propagating” the program. The word “propagate”
is new to Version 3.0 and to law generally – it is another of many
concepts that may spawn litigation in the future. But GPL 3.0 defines it
to mean doing anything that would entail infringement (direct or
indirect) under copyright law except executing in on a computer or
modifying a private copy.

Microsoft neither modifies nor propagates in the type of transaction we
are discussing. The customers who receive the Microsoft covenant not to
sue are customers of Novell. Microsoft may give Novell covenants not to
sue to its own customers or inform its own customers that it will not
sue if they use Novell open source software within the Microsoft-Novell
agreement, but it does this in transactions using its own licenses and
software, not GPL. Microsoft (or any other party in a similar
arrangement) is not bound by the excessively broad requirement in
paragraph 6, even if it’s contracting partner decides to use GPL 3.0 for
its own customers.

If GPL does not create a contract, the situation is even more clear.
Non-contractual purported restrictions on the use of a transferred copy
may not even bind the transferee. They certainly do not bind a third

The situation for Novell (or similarly situated party) is less clear as
to its own patents. Novell may choose to both agree to GPL 3.0 and to
grant a patent license for its own patents to its transferees. If it
does so, then the broad paragraph 6 undertaking may apply. But Novell
does not and cannot grant patent licenses to Microsoft patents. Indeed,
the Microsoft-Novell agreement seems to assume that Microsoft commits to
a patent enforcement waiver only for a defined group of Novell

The second provision is paragraph 7 of § 11. This paragraph states that
a party who has software covered by GPL 3.0 cannot convey the software
to another person if that party is part of an arrangement defined
specifically to track the Microsoft-Novell arrangement where the patent
license agreed to is “discriminatory” (e.g., does not give or conditions
the rights available under GPL). GPL 3.0 provides that this
non-conveyance rule only applies to arrangements made after March, 2007.
The Microsoft-Novell agreement is thus excluded to “tactical” reasons –
that is, FSF wants Novell to shift to GPL 3.0 and believes that
Microsoft is caught up within paragraph 6 for any GPL 3.0 product. 

But as we have seen, they are not."


(GNG is a derecursive recursive derecursion which pwns GNU since it can 
be infinitely looped as GNGNGNGNG...NGNGNG... and can be said backwards 
too, whereas GNU cannot.)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]