Subject: Re: For Approval: Microsoft Permissive License
From: Matthew Flaschen <matthew.flaschen@gatech.edu>
Date: Tue, 21 Aug 2007 15:51:09 -0400

Chris Travers wrote:

> 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. 

The exact requirement (GPLv2 here since it is OSI-approved) is to cause
the work "to be licensed as a whole at no charge to all third parties
under the terms of this License."  IANAL, but my interpretation is that
MS-PL code can not be part of a GPL "whole",

> 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.

You don't have to copyleft the BSD code per se, but again, the work as a
whole must be copyleft under GPLv2.

  The redistribution requirements
> on these licenses (in terms of the patent termination clause) conflict
> with the GPL v2, but not the GPL v3.

There's no patent termination clause in BSD.  You're thinking of Apache 2.0.

> 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.

I actually didn't think about this issue.  This may be another
compatibility problem for GPLv2, but I still think the original
requirement I stated (absolutely no relicensing) is fatal for both GPLv2
and GPLv3.

> 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.

If the GPLv3 code and the MS-PL code form a single work, then the MS-PL
code must be part of the GPLv3 whole, which is not permitted by MS-PL.
Of course, if you argue they're linking at arms length, and don't form a
single derivative work; then the copyleft clause of the GPL wouldn't
require the MS-PL code to be GPL.  But this is essentially an exception.
 As a rule I believe MS-PL is not compatible with GPL, which in my
opinion makes it fairly restrictive for a "permissive" license.

Matt Flaschen