License compatibility of MS-PL and MS-CL (Was: (RE: Groklaw's OSI item (was: When will CPAL actually be _used_?))

Donovan Hawkins hawkins at
Fri Aug 24 00:48:08 UTC 2007

On Thu, 23 Aug 2007, Matthew Flaschen wrote:

> John Cowan wrote:
>> I sincerely hope that these reassurances will dispose of all bogus
>> incompatible-with-everything claims, though I know this list far too
>> well to suppose that we will actually hear no more of them.
> He said that binary derivative works containing MS-PL code could be
> under any license.  I'm concerned about derivative works distributed as
> source code.

First, let me echo others' thanks to Mr. Thatcher for his analysis of the 
binary distribution case, and hope that he will also be able to shed some 
clarifying light on the source distribution case.

Having said that, Jon Rosenberg (the Microsoft rep who posted the MS-PL 
for consideration here) also posted a small FAQ at that time which 
answered the question fairly clearly:

"* Can MS-PL code be redistributed under a different license?:
No.  The license states that "If you distribute any portion of the 
software in source code form, you may do so only under this license..." 
This restriction is similar to the restriction in the Mozilla Public 
License that states "You may not offer or impose any terms on any Source 
Code version that alters or restricts the applicable version of this 
License or the recipients' rights hereunder."  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 

In particular:

"...regardless of whether the original code is part of 
a different piece of software."

John Cowen points out that derivative works are allowed, but 2(A) says 
they are "Subject to the terms of this license, including the license 
conditions and limitations in section 3." Thus derivative works are NOT 
allowed if they violate section 3, which says "If you distribute any 
portion of the software in source code form, you may do so only under this 
license..." The FAQ answer reinforces the fact that distribution of "any 
portion" includes when part of a derivative work (a "different piece of 

Chris Fagan (also of Microsoft) repeated the basic idea of this more 
recently in a post here:

"Our intention in designing the MS-PL is most clearly understood by 
thinking about how a developer may want to make source code they developed 
available to their users (i.e. other developers etc).  A design goal of 
the MS-PL is to allow developers to choose to ensure that the specific 
rights in Section (2) continue to be available to downstream developers 
and users through generations of adoption and adaptation."

In particular:

" ensure that the specific rights in Section (2) continue to be 
available to downstream developers..."

That certainly suggests that you cannot place any additional restrictions 
downstream of MS-PL code. Since you rather obviously cannot place FEWER 
restrictions on it, your only option is to place identical restrictions 
(ie, using the MS-PL).

So lines of source code released under only MS-PL by their original author 
can never find themselves under another license by any means (though their 
compiled binary representation can). Attempting to create a derivative 
work that places those lines of code under another license (when they are 
within the derivative work) violates section 3(D) and thus violates your 
license to create said derivative work.

Whether there is some clever way to legally keep pure MS-PL code distinct 
from pure BSDL code in a project that generates a single executable is 
perhaps a more complicated legal question (though linking is certainly 
valid). However, requiring a technical restriction of keeping the code 
distinct (often an impossible restriction depending on your needs) is 
probably not what one would call "compatible". I pity any developer who 
would saddle their fledgling open-source project with such a burden.

Donovan Hawkins, PhD                 "The study of physics will always be
Software Engineer                     safer than biology, for while the
hawkins at                   hazards of physics drop off as 1/r^2,                biological ones grow exponentially."

More information about the License-discuss mailing list