I'm using a code sample from MSDN in my project. Accompanying the sample is this license:


I've modified the code sample slightly to better suit my needs and I now want to release my program as open source. However, I'm not sure which licenses are compatible with this license because I cannot find it on Google. The license claims it is a Microsoft Permissive License but I can only find Microsoft Public License.

Also, I'm not completely sure what this license allows. Can I modify the sample? Can I package it in my project under another license like the GPL or the Apache/BSD license?

Thanks for reading.

  • The Microsoft Permissive license is now called the Microsoft Public License (MS-PL): Microsoft Out in the Open
    – Kev
    Commented Aug 22, 2011 at 22:57

3 Answers 3


Unfortunatelly, you can't. Not with certanty.

That is a job for the people in nice suits. If you have access to a legal department of some sort, ask them. They should be able to offer (at least) a sound advice on the subject.

  • >.< I'm 18 years old and I'm only using it for a small project that I would like to release as open source to the community. How different would I have to make the sample from the original where it would be classified as my own written code rather than a modification of theirs? Commented Aug 22, 2011 at 20:38
  • 1
    @user35028 - on the practical side, however, it is a rule of thumb that no one really cares about these things unless you're making so much money with your project that they're actually interested in some of that money. And by the time when that happens, you'll definitely have a lawyer of your own ... I wouldn't worry and overcomplicate with these issues for now.
    – Rook
    Commented Aug 22, 2011 at 21:41

Read The License:

(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution.

That tells me that any open-source derivative must be under MSPL as well.

  • To me it sounds like they only want you to include the license in your project if you release it as open source. Not sure though. Commented Aug 22, 2011 at 19:48

It's OSI-certified so it's good in relinquishing copyright, but it makes many statements about patents, and distribution of patent liability in case of a patent shitstorm. They have huge concerns about that.

GPL, instead (since v3, IIRC) waivers redistributors from patent fees also in the case of a patent apocalypse.

If there was no (D) paragraph you could have redistributed with a different license with some added patent note, but to redact that you would have needed a lawyer expert in U.S. patent law, so no real good.

Consider adopting the MS-PL for a while until fed up to the point of a complete rewrite of the incriminated code. Yes, also complete rewrites present problems, but maybe you won't ever have to front them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.