Content Management System (CMS) News, Reviews, Events and Analysis.
 
 
 

Taking a Closer Look at Microsoft's Ms-PL Open Source License

A Look at Microsoft's Ms-PL Open Source License

The rumors are true. Microsoft (news, site) has an official open source license that was approved by the Open Source Initiative (OSI) — the Ms-PL, or Microsoft Public License.

Since they have licensed their latest offering ASP.NET MVC 1.0 under the Ms-PL, we thought we would take a look at the license terms. Is there an evil catch somewhere in the terms and conditions?

What is Granted …

The Ms-PL is blessedly short, especially if you consider the fact that one third of the text consists of definitions and a statement that using the software means accepting the license. That leaves two major sections: Grant of Rights, and Conditions and Limitations.

In the Grant of Rights you'll find the Copyright Grant and the Patent Grant. The important portion in the Copyright Grant is: "Each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create."

So whether Microsoft itself or Jane Jones down the street writes the code under this license, you can take it, mix it up with other code and release new versions.

The Patent Grant's pertinent section is: "Each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software." This section protects you from any software patents that a contributor may own and have used in code they contributed. They can't then turn around and demand that you pay for a patent license.

… Can be Limited

In the Conditions and Limitations section, there are five major parts (paraphrased):

  • Contributing code under this license doesn't mean also authorizing use of your name, logo, or trademarks.
  • If you bring a patent claim against a contributor over patents you claim the software infringes, then you nullify the Patent Grant you were given under this license when you use the software.
  • When distributing this software you can't remove copyright, patent, trademark, and attribution notices from it.
  • When distributing the source, it must be under this license and contain a copy of this license. If you distribute it in a compiled binary, it must be with a license that complies with the Ms-PL.
  • The contributors take no responsibility if the software blows up on you.

All in all, as open source licenses go, there's nothing particularly unusual about this one. It's a big step up (from the open source point of view) from some of their other licenses, such as their Shared Source alternative.

The Ms-PL is even considered by the Free Software Foundation to be a Free Software License, though also specifies that the Ms-PL is incompatible with the GPL. 

Microsoft also has the Ms-RL, which is the Microsoft Reciprocal License. This license is also approved for listing by both the OSI and FSF, and is also incompatible with the GPL. Keep in mind that many open source licenses are not compatible with the GPL either, so again, this is not unusual.

However, there are some that feel that this pair of licenses was "deliberately crafted" to be incompatible with the GPL and dislike the fact that if you submit code with this license, your code can then be taken into a proprietary black hole by someone else.

As always, consider the license before you participate, and consider your goals if you're choosing a license. Keep in mind that for a full, legal interpretation of this license you will need a lawyer. If you are going to do anything interacting with this or any license, be sure to read it fully and not excerpted, and engage the services of a lawyer if necessary.

 
Read More About:
, , , , , ,
 
Was this article useful?
 

7 Reader Comments

1 | Jose_X — April 6, 2009 7:03 PM

>> All in all, as open source licenses go, there's nothing particularly unusual about this one.

>> Keep in mind that many open source licenses are not compatible with the GPL either, so again, this is not unusual.

Maybe not unusual, but it is notable. Any license not compatible with the GPL is a strike against such a license. Most of the more popular licenses and most volume of code are compatible with the GPL. Those that are not compatible tend to be limited to specific platforms.

This sort of license, if it became popular, would take influence away from the FSF (and its principles) and also away from existing codebases and their copyright owners.

If I were going to use a license that would not be compatible with the GPL (let's assume, I'd want to do this), it would not be this license or any that would (beyond the indirect help) give direct help to a closed source monopoly platform/ ecosystem.

The MS-PL specifically is a bit like using BSD, which I think is a license that short-changes developers. Of course, the name "MS-PL" suggests it's actually more like the GPL in terms of designed to keep source code contributions by third parties open. What a convenient name Microsoft chose. How nice of them.

Also, I can only imagine what Microsoft would attempt in the future by leveraging their monopolies to require or at least recommend that people use the "or any later version" clauses since this would put a lot of power in the hands of Microsoft as owner of the evolution of versions of this license.

Hands up for anyone that wants to help Monopolysoft hold their monopolies?

2 | Dennis — April 7, 2009 12:51 PM

"Any license not compatible with the GPL is a strike against such a license."

Only if you are a zealot. The GPL is anti-freedom in that it takes away rights that developers /should/ have and is purposely incompatible with the Free Software licenses that came before it (GPLv3 is even incompatible with GPLv2!). This is why I have been releasing my software under MIT-X11 license for ages and have historically preferred to run BSD on my systems. I have found that many of the religious fanatics that wave the GNU flag are hypocrites, and Jose_X seems to be one of them.

I will be considering the Ms-PL in the future as I like the patent grant addition over what you get with the X11 license.

3 | Lloyd — April 7, 2009 5:35 PM

Let's think rationally here...let's assume that Microsoft really is trying to deceive us with the name of this license into thinking it is somehow "like" the GPL. Wouldn't it have been wiser of them to choose a name without "MS" in it? Doesn't this make Mozilla even more deceptive for choosing an acronym like "MPL" for a license that is also not GPL-compatible?

4 | saulgoode — April 20, 2009 8:42 PM

>> I will be considering the Ms-PL in the future as I like the
>> patent grant addition over what you get with the X11 license.

You might wish to consider using the Academic Free License 3.0 instead. There are some unsavory consequences should you license your code under the MS-PL which might not be apparent at first blush.

If you choose the MS-PL, the only way you will be able to combine your code with other Open Source licensed code -- including libraries -- is if that other code is either

1) already under the MS-PL or can be re-licensed under the MS-PL (first sentence of MS-PL Section 3D)

or

2) already under or can be re-licensed under a license which meets the terms and conditions of the MS-PL (second sentence of MS-PL Section 3D)

Neither the BSD nor the MIT licenses meet the terms and conditions of the MS-PL in that they do not provide a patent grant (ie, they do not "comply with" Section 2(B) of the MS-PL). Though both licenses permit you to "re-license" by adding a patent grant requirement, you would first have to obtain such patent grants from everyone who contributed code to all of the university-licensed software and then choose a license which "complies with" the MS-PL.

Perhaps the AFL, MPL, or the Apache licenses comply with the MS-PL, but you should probably consult a lawyer before choosing. Of course, you could play it safe and re-license the university-licensed code under the MS-PL (after obtaining the requisite patent grants), but then you might be accused of being "anti-freedom" because you are taking away "rights that developers /should/ have" (ie, the right to place GPL restrictions on the code, or should the right to place further restrictions on code only be available to developers of proprietary software?).


5 | edam — July 1, 2009 10:17 AM

Hmm, so you work for Microsoft then Dennis?

The only freedom that the the GPL takes away from you is your freedom to restrict other people's freedoms with code that you got from the community. So it in fact *protects* freedoms. Calling it "anti-freedom" and insinuating that preventing you from removing other people's freedoms is somehow comparable to a licenses that genuinely removes people's freedoms is either idiotic or deliberately misleading.

6 | Nil Einne — September 18, 2009 7:22 AM

Perhaps this is not the best place to ask, but I'm confused about the Ms-PL being incompatible with the GPLv3. For starters the FSF originally said on their website it was compatible I'm quite sure of this because I checked it out myself last year when the issue came up on wikipedia. This is also mentioned here http://www.mail-archive.com/debian-legal@lists.debian.org/msg40034.html

Secondly some people say the 3d clause is the problem because it requires the code to be under the Ms-PL. This sorta makes sense but other people say http://lwn.net/Articles/254717/ http://osdir.com/ml/licenses.open-source.general/2007-08/msg00403.html the (modified) BSD clause is similar but the BSD license is compatible. Is it because of the Ms-PL specifically says it needs to be the only the same license whereas BSD license just says you need to include the terms and conditions etc so you can license it under GPLv3 with the additional BSD conditions (or more accurately a dual license I guess)? But the Ms-PL clause could (does?) mean you can't dual license since it says "only under this license"? IANAL but is it possible there's wiggle room on the Ms-PL since they didn't say only under this license and no other license? So you could interpret it as meaning only under this license at a minimum, but you can license it under other licenses as well if you desire.

Or is the patent clause the problem with Ms-PL (although as I understand it the GPLv3 patent clause is similar).

Incidentally edam and Dennis, I don't think this is the place for another copyleft/freedom argument. edam in particular, it's clear that there are quite a number of people who share Dennis's view who have no connection and even no like for Microsoft. Heck I strongly suspect BSD devs and supporters were saying the same thing long before anyone heard a peep from Microsoft You may not agree with his view, but I think it doesn't help anything if you accuse him of being a Microsoft employee just for such views.

7 | Dee-Ann LeBlanc — September 21, 2009 5:18 PM

I'm passing your question to the FSF, as they would have the official answer.

Leave a Response

  Remember me?

Related Web Development Articles

 

From our Job Board  View all jobs | feed Jobs RSS feed | Post a job right now

 

Featured Events  View all events | feed Events RSS feed | Add your event

STAY UP TO DATE
Subscribe to our RSS feed...
SUBSCRIBE TO OUR RSS FEED