Subject: Re: For Approval: Microsoft Permissive License
From: Chris Travers <>
Date: Sun, 19 Aug 2007 12:12:40 -0700
Sun, 19 Aug 2007 12:12:40 -0700
Donovan Hawkins wrote:
> So the only thing standing between these "permissive" licenses and 
> compatiblity with GPL v3 is the flawed advertising clause from BSDL, 
> something that is widely regarded as an impractical mistake. Whether 
> you call these "non-permissive" or "permissive but flawed" is a minor 
> point...I would choose "non-permissive" myself.
Hmmm.... First GPL v3 section 7b may provide compatibility with BSD-like 
licenses with advertising clauses depending on how obtrusive they are 
(the FSF's comments to this effect seems to indicate that they are 
concerned about proliferation of such advertising notices, not the 
original notices themselves). Thus compatibility with these licenses may 
be case-by-case. IANAL and YMMV....

Back to the Microsoft license. After re-reading the GPL v3 (nominate 
that license for the most complicated and incomprehensible submission to 
OSI for approval to date), I have concluded that there are major license 
compatibility problems if a GPL v3 application *requires* components 
under these licenses. While I can imagine there might be ways around 
these problems, they are not any less onerous than dealing with any 
other license compatibility. Like many other aspects of the GPL v3, it 
is hard to say whether optional dependencies would be a problem, and it 
is harder to evaluate the MS-PL which may be compatible.

The basic issue is that the GPL v3 defines the "Corresponding Source" as:

'The “Corresponding Source” for a work in object code form means all the 
source code needed to generate, install, and (for an executable work) 
run the object code and to modify the work, including scripts to control 
those activities. However, it does not include the work's System 
Libraries, or general-purpose tools or generally available free programs 
which are used unmodified in performing those activities but which are 
not part of the work. For example, Corresponding Source includes 
interface definition files associated with source files for the work, 
and the source code for shared libraries and dynamically linked 
subprograms that the work is specifically designed to require, such as 
by intimate data communication or control flow between those subprograms 
and other parts of the work.

The Corresponding Source need not include anything that users can 
regenerate automatically from other parts of the Corresponding Source.

The Corresponding Source for a work in source code form is that same work.'

Section 6 (Conveying non-source forms) states:

'You may convey a covered work in object code form under the terms of 
sections 4 and 5, provided that you also convey the machine-readable 
Corresponding Source under the terms of this License, in one of these 

It seems clear to me that any component falling under the Corresponding 
Source definition must be able to be distributed under terms of which 
the GPL v3 must be either identical or a proper subset. Because the 
MS-CL provides per-file restrictions, I don't see how this could be met.

The MS-PL is harder for me to evaluate. A lot of it depends on what 7b 
additional terms allow under the GPL v3. The MS-PL could be read as 
requiring the distribution of the license as a legal notice (seems 
reasonable to me) and possibly noting which sections of code are 
MS-PL-licensed. Again, this seems to be in line with the GPL v3 7b 
options by my reading.

However, there is one further issue with the MS-PL which might or might 
not preclude using them together:

The MS-PL ties the definition of derivative work to US law. I am not 
sure if there could be cases where this could run you into trouble with 
the GPL v3 which ties it to whatever court wants to hear the case but I 
wouldn't think this would be a problem, but I do wonder if there might 
be jurisdictions where there might be a conflict. For example, are there 
places where things might be considered derivative works which might be 
fair use by US standards? Would this use be precluded in such 
jurisdictions under the MS-PL because it doesn't give you to prepare 
such works? Might there be other conflicts?

Again, I don't think this is a problem, and as a developer probably 
wouldn't worry about it. But I could see it being a question when people 
look at trying to split hairs to their own substantial benefit.

Best Wishes,
Chris Travers

["text/x-vcard" not shown]