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):

Learning Opportunities

  • 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.