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

Thatcher, Jim E. (Woodcock Washburn) jthatcher at
Fri Aug 24 23:29:42 UTC 2007

As others have noted, Microsoft took a stab at addressing compatibility
of Ms-PL with other licenses in the text Mr. Hawkins included below from
Jon Rosenberg's initial submission of the license. However, there have
been specific scenarios posed in this discussion that could benefit from
additional clarifications. I'll try to provide that clarity in the FAQ

		Q1. Can I combine source code licensed under Ms-PL with
non-Ms-PL source code?

		A. Yes. The Ms-PL-licensed source code will need to
remain licensed under the Ms-PL, but the other source code can be under
any license.

		Q2. Do I have to use the Ms-PL for changes I make to
Ms-PL source code?

		A. The source code that constitutes "any portion of the
software" needs to remain under the Ms-PL, but your changes can be under
any license. If you really wanted to track changes within a source code
file at the "lines of code" or "bytes" level the Ms-PL terms would not
prevent you from making your changes to the Ms-PL-licensed source code
available under some other license.

		Q3. Can I distribute source code under both the Ms-PL
and another OSS license?

		A. If you are the copyright holder of the source code
you can license it under any terms you choose, including choosing to
license it under more than one license. You can license your source code
under both the Ms-PL and any other license you choose. However, if you
are not the copyright holder (and you don't have permission from the
copyright holder) you may not offer source code that was licensed to you
under the Ms-PL to others under another license.

		Q4. Can I use source code licensed under another OSS
license in a project that I release under the Ms-PL?

		A. That depends on the terms of the other OSS license
under which that source code was licensed to you. If it allows you to
redistribute the source code under any license terms you choose, then
you can choose to apply the Ms-PL to that source code in addition to
your own source code when you release the project.

		Q5. Can I use source code licensed under the Ms-PL in a
project that I release under another OSS license?

		A. That also depends on the terms of that other license.
If it allows portions of the source code to be provided under a
different license, then you can use the Ms-PL-licensed source code and
redistribute it under the Ms-PL, and use the other OSS license for the
source code you write.

		Q6. What about the GPL? Can I use Ms-PL-licensed code in
a GPL project?

		A. You should consult your own attorney to answer that
question for you. I'm happy to explain what I and Microsoft understand
the Ms-PL to mean, but you shouldn't rely on my interpretation of other
licenses without validating that interpretation with your own attorney.
The way I read the GPL you may be able to use Ms-PL-licensed code in
conjunction with GPL-licensed code as long as the Ms-PL-licensed code
(1) is contained in "identifiable sections ... not derived from the
[GPL-licensed] Program", (2) "can be reasonably considered independent
and separate works in themselves" and (3), " you distribute them as
separate works".

		Q7. Then this really isn't a "permissive" license, is

		A. It's clear from this discussion that the term
"permissive" in this context has a specific meaning to many. This is not
really a legal issue, but the business folks at Microsoft have heard
this feedback, and will continue to listen to the community to
understand the issues that matter most to developers. Microsoft will
carefully consider the concerns that have been raised regarding the
title of the Ms-PL.

Best regards,

Jim Thatcher
Of Counsel
Woodcock Washburn LLP 
999 Third Ave, Suite 3600
Seattle, WA  98104
Fax: 206.624.7317 
Mobile: 425-445-9535
Email: jthatcher at

-----Original Message-----
From: Donovan Hawkins [mailto:hawkins at]
Sent: Thursday, August 23, 2007 5:48 PM
To: License Discuss
Subject: Re: License compatibility of MS-PL and MS-CL (Was: (RE:
Groklaw's OSI item (was: When will CPAL actually be _used_?))

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
binary distribution case, and hope that he will also be able to shed
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
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
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
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
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
can never find themselves under another license by any means (though
compiled binary representation can). Attempting to create a derivative
work that places those lines of code under another license (when they
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
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
Software Engineer                     safer than biology, for while the
hawkins at                   hazards of physics drop off as
1/r^2,                biological ones grow

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the License-discuss mailing list