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

Zac Bowling zac at
Sat Aug 25 17:29:45 UTC 2007

Hi Jim,

I'm know as one of main contributors to the Mono Project that using
code licenced under the Ms-PL and possibly Ms-CL is likely.

So last week, I had a paralegal at work that handles the licencing
issues on our projects there and my lawyer (although he is not a
specialist in IP issues) go over it and from all of our
interpretations of the licence we all came to the same conclusion
which is directly opposite to what you say in Q2 and Q3 here.

The text about "any portion of the software" is unclear. Does it mean
any portion of the combined work or any portion of the original work?
Saying "any portion of the software" led us to believe that it was the
combined work. The text about releasing under a compatible licence if
you release in binary form only help add the confusion.

I blogged the issues of using Ms-PL on my blog about a week ago based
purely on our combined interpretation.

Would it be possible to clarify this in the text of the licence?

Zac Bowling

On 8/24/07, Thatcher, Jim E. (Woodcock Washburn) <jthatcher at> wrote:
> 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
> below.
> 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 it?
> 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
> 206.332.1117
> 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 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
> software."
> 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
> software").
> 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."
> ---------------------------------------------------------------------------

Zac Bowling

I support Mozilla Firefox.

More information about the License-discuss mailing list