Subject: Re: For Approval: Microsoft Permissive License
From: Chuck Swiger <chuck@codefab.com>
Date: Fri, 10 Aug 2007 18:39:50 -0700

On Aug 10, 2007, at 5:33 PM, Donovan Hawkins wrote:
>> Clause 2(a) and 3(d) suggest that you can prepare and distribute  
>> derivative works, so long as the source code which was originally  
>> licensed under the MSPL remains under the MSPL.  There are no  
>> explicit restrictions against combining such code with source code  
>> under other licenses, unless the other license forbids the  
>> combination.  In other words, the MSPL + BSD/MIT/Zlib/Apache2 code  
>> is fine, but MSPL+GPL or similar is not.
>
> I wasn't referring to derivative works, I was referring to the  
> original work. If I create an original program and want to license  
> under both the MSPL and the GPL, the MSPL implies that I can't do it.

If you're the author or copyright holder, you are free to release the  
same code under whatever license or licenses you wish.  For example,  
MySQL offers a choice between using their DB and DB client under the  
GPL or under a proprietary license which wasn't GPL-miscible (the  
last time I looked, anyway).

> I'm sure that's not actually the case, but I think it would be less  
> confusing if that were made explicit. I imagine that's why MPL has  
> clause 13.

Somehow, I don't expect that people are too likely to release  
software which is dual-licensed under the GPL and the MSPL.

>>> Also, isn't the name "Permissive" rather misleading?  While you  
>>> are free to release binaries however you choose, the license is  
>>> viral and the source code cannot be used by the vast majority  
>>> (ie, any) of the existing open-source projects. I would hardly  
>>> call that permissive...the word carries a lot more meaning than  
>>> "non-copyleft".
>>
>> A "viral" license is one which requires that a combination of code  
>> under that license and other software, to only be distributed  
>> under the terms of the viral license.  The MSPL isn't viral in  
>> that sense; instead, it is reasonably close to the "new" or  
>> "modified" BSDL, which is considered a canonical example of a  
>> permissive license.
>
> Well, it replicates in the sense that all derivative works are  
> partially released under it, but I see your point.

I'd say this is true of pretty much all of the OSI-approved licenses.

>  My point was that it permanently taints the source code in a way  
> that makes it incompatible with nearly every popular open-source  
> license, requiring that developers put big orange tape around the  
> MSPL-licensed code to indicate it is forever under the MSPL.

The same has been said about GPL "tainting": it requires that  
developers put big orange tape around GPL-licensed code to indicate  
that it is forever under the GPL, too.

After all, the GPL is not miscible with the majority of open-source  
licenses-- 32 examples are non-miscible versus 29 which are GPL- 
miscible, counting from the list on http://www.fsf.org/licensing/ 
licenses/-- although the GPLv3 and some explicit terms in some of the  
newer licenses have worked to reduce the degree of license  
incompatibility.

> I can think of cases where I made MAJOR changes to some open-source  
> function to use in a project...what sort of Frankenlicense would  
> apply to that function if I wished to release my changes under GPL  
> but the original was MPL or MSPL?  Every other line of code under a  
> different license?

Unless you wrote the original file, you would not be able to modify  
MSPL code and put your modifications under another license.

Even licenses which permit or do not explicitly forbid a derivative  
work from being released under different terms do not allow you to  
simply remove the license on the original unmodified code and release  
that under different terms.  I don't believe any of the OSI-approved  
licenses allow one to completely relicense the original code.

> That same point was apparently also missed in the MSCL if it tries  
> to copyleft a "file" that contains MSCL code.

I very much doubt that Microsoft missed the point with regard to GPL  
incompatibility by accident.  It's probably safe to assume that the  
situation is quite intentional.  :-)

> It's fine if the MSPL want to place a restriction like  
> that...obviously the MPL is the same way...but it's not what I  
> would call permissive. Modified BSD is basically public domain with  
> a disclaimer, and because of that it is compatible with just about  
> everything.

Um, no, the BSD license is not the almost the same thing as "public  
domain".

>  Neither the MPL nor the MSPL offer the same level of  
> compatibility...in fact, the MSPL isn't even compatible with the MSCL.

Really?  Why can't you take some files which were under the MSPL with  
others under the MSCL, build and link 'em together, and distribute  
the resulting binary together with the various source files,  
preserving their original licensing?

> I'm surprised if people consider the MPL a "permissive"  
> license...I'd consider that an unfortunate overgeneralization of  
> the idea that all licenses are either permissive or copyleft.

I don't recall anyone saying that the MPL is a permissive license.   
Most people reserve that term for the handful of licenses which do  
not impose restrictions which might conflict with other licenses.

-- 
-Chuck