Subject: Re: For Approval: Microsoft Permissive License
From: Chris Travers <>
Date: Sat, 18 Aug 2007 19:01:13 -0700
Sat, 18 Aug 2007 19:01:13 -0700
Matthew Flaschen wrote:
> The phrase "you may do so only under this license by including a
> complete copy of this license with your distribution." is in both
> licenses.  Jon confirmed this is the submission email by writing, "The
> MS-PL license explicitly prohibits relicensing of the original licensed
> code under a different license, regardless of whether the original code
> is redistributed in whole, in part or as part of a different piece of
> software.".  In my interpretation (IANAL), this clause means MS-PL code
> can't be used in a GPL program.
Hmmmm.... You may be right....  It may not be able to be used safely in 
a GPLd program in all cases.  IANAL, of course.

AFAICS, the GPL does not mandate relicensing any code taken in from 
other contributors under other licenses as long as derivatives of the 
GPL itself either as the work as a whole or of derivative components.  
In other words, if I include 3 files from BSDL libraries, I am not 
required to try to copyleft those files even if I make changes to them 
which are not derivative of GPLd code.  The redistribution requirements 
on these licenses (in terms of the patent termination clause) conflict 
with the GPL v2, but not the GPL v3.

Therefore I would think one could not use code under these licenses in 
GPL v2 projects because one cannot guarantee downstream patent licenses 
to the extent required by that license.  One could however use the code 
in GPL v3 projects provided that the MS-CL or MS-PL code was never 
modified in ways derivative of GPL works that the licensor didn't have 
permission to relicense.  In short, I don't see how a GPL v3 application 
requiring a library under either of these licenses would be a problem 
unless those libraries were modified to depend on GPL v3 code.  
Certainly mixing code would also be bad.

In short:
1)  Linking GPL v3 code to MS-CL/MS-PL code:  Seems OK
2)  Copying GPL v3 code to MS-CL/MS-PL app or vice versa:  Seems not OK.
3)  Mixing the two in a file:  Seems not OK
4)  Writing MS-CL/MS-PL code that depends on GPL v3 libraries:  Seems 
not OK.

Does this help?
Best Wishes,
Chris Travers

["text/x-vcard" not shown]