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
Thu Aug 23 19:03:52 UTC 2007

I am responding to the issues raised in this and related threads on this
discussion at Microsoft's request.

The Ms-PL permits redistribution of modified or unmodified versions of
Ms-PL-licensed code in object code/binary form under other licenses as
long as those licenses comply with the Ms-PL.  The purpose of requiring
that source code redistributions be made only under the terms of the
Ms-PL is to allow developers a choice of a license that will ensure that
their source code will only be distributed under terms that they have
explicitly chosen.  As this discussion demonstrates, licensing terms can
be interpreted differently by different people, and some developers may
prefer some terms over others. The Ms-PL provides developers a licensing
option that ensures their code will be distributed initially and later
under terms and conditions they have chosen and agree with. 

By "complies with this license" the Ms-PL means that your license must
not purport to grant more rights to the Ms-PL licensed software than are
granted to you by the contributor(s).  Your license is not required to
pass through all of the rights granted in section 2, but it must include
conditions and limitations at least equivalent to those in section 3.

	Your license must not grant any rights to use the
contributor(s)'s names, logos, or trademarks.  It may, however, grant
rights to use your names, logos, and/or trademarks.
	If your license passes on any of the patent licenses granted in
section 2.(B) then it must also include a statement that any patent
license from contributors will end automatically if your licensee brings
a claim against a contributor claiming that the software infringes a
patent.  If your license does not include a patent license then it does
not need to include a defensive termination provision.  If your license
grants rights in your patents you are not required to apply a defensive
termination provision to your patents.
	If your license allows redistribution then it must require
redistributions to (1) retain all copyright, patent, trademark, and
attribution notices that are present in the Ms-PL portion of the
software, and (2) be made under a license that complies with the Ms-PL
(this recursion is intended).
	Your license must disclaim express and implied warranties and
guarantees, at least as to the contributors.  If you wish to provide
warranties, those must be made by you, and not the contributor(s).

It is Microsoft's position that copyright/patent holders have the right
to offer to license their copyrighted/patented work under whatever terms
they choose, including offering the work under more than one license.
Developers who choose to use the Ms-PL may also choose to license their
work under other licenses, including other open source licenses (dual
licensing).  By doing so the copyright holder would allow a recipient to
choose from among those licenses the license under which that recipient
will license the work from the copyright holder.  The terms of the
selected license will apply to that recipient's use, modification,
distribution, etc. of that work.

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: John Cowan [mailto:cowan at <mailto:cowan at> ]
Sent: Thursday, August 23, 2007 5:54 AM
To: Michael R. Bernstein
Cc: license-discuss at
Subject: Re: License compatibility of MS-PL and MS-CL (Was: (RE:
Groklaw's OSI item (was: When will CPAL actually be _used_?))

Michael R. Bernstein scripsit:

> No, let me amend that: It bothers me that these licenses are
> incompatible with the entire universe of all other theoretically
> possible licenses, including future ones, regardless of their terms.

What you say is not *false*, technically, but it's highly misleading.

It is true that you can't take code licensed under the MS-PL and place
any other license on it directly.  However, it is still possible to make
a derivative work that incorporates MS-PL licensed code (by clause 2A).
Since you are the copyright owner of this derivative work, you may
license it under any terms you like that do not actually contradict the
terms of the MS-PL; that lets out the GPLv2 because of the patent peace
clause (3B), but allows many other licenses from Apache 2.0 to BSD to

(I'd like to see a proper analysis of whether 3B conflicts with the
GPLv3's rules on additional terms.)

Furthermore, you may make a collective work incorporating the MS-PL
licensed code, since 2A also grants you the right of verbatim copying,
which is all you need for a collective work.

That, it seems to me, is all you could possibly want in practice.

> It also bothers me that this incompatibility extends not just to code
> mixing and sublicensing, but also to multiple licensing. Multiple
> licensing, like forking, is an unfortunate and infrequent necessity
> that I don't think should be given up lightly.

The normal multiple license issued by the copyright owner (whether of an
original or a derivative work) is disjunctive: that is, the licensee may
apply the terms of license A or of license B at his option. The fact
that licenses A and B contradict each other is no impediment. For
example, I license some code of mine under the GPLv2, the Apache 2.0,
and the AFL 3.0 licenses: you may apply whichever one you like.

The first thing you learn in a lawin' family    John Cowan
is that there ain't no definite answers         cowan at
to anything.  --Calpurnia in To Kill A Mockingbird

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

More information about the License-discuss mailing list