Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

According to this GNU Project page, regarding Microsoft Public License (Ms-PL):

This is a free software license; it has a copyleft that is not strong, but incompatible with the GNU GPL.

They do not explain why it is incompatible. I cannot find any satisfactory answers nor explanations via Google.

share|improve this question
    
Please avoid the <tag like text>: <title> format for your titles. The more popular tag is automatically prepended to the title for search engine bots, so with your original title the question would appear in search results as: "licensing - Open Source Licenses: Are...". Always go with the more natural title you can think of. –  Yannis Rizos Mar 19 '13 at 7:07

3 Answers 3

I am not a lawyer, and this is not legal advice. If you want a definitive answer, consult an attorney.

I cannot find any potential incompatibility with the GPL v3 (as I understand it) except perhaps §3(D), which disallows relicensing under a license that does not impose compatible requirements. The GPL also disallows relicensing under a license that is less permissive, as the FSF defines it.

You should email the FSF about this, to get their take, as I can't find their reasoning published on the GNU or FSF websites.

share|improve this answer
    
This is the answer, and this is what FSF means by "it has a copyleft that is not strong". Strong copyleft licenses are inherently viral, weak copyleft licenses are not. A prime example of a weak copyleft license is the LGPL, and MS-PL is probably equivalent to it (can't be sure, IANAL). –  Yannis Rizos Mar 19 '13 at 7:15
    
@YannisRizos I think that's right - here it is in their own words, from gnu.org's website. –  Daniel B Mar 19 '13 at 8:35

As far as I can see, the incompatibility between GPL and Ms-PL stems from the fact that the Ms-PL does not seem to allow sub-licensing or dual-licensing.

As the GPL requires that all code in a GPL-licensed product is covered by the GPL and the Ms-PL seems to require code that is Ms-PL licensed to remain covered by the Ms-PL and only the Ms-PL, this makes it impossible to have code covered by these two licenses in one product, thus rendering the licenses incompatible.


My understanding of the incompatibility comes from this quote from the Ms-PL license (emphasis mine):

(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. [...]

share|improve this answer
    
This would not actually block initial or continued dual-licensing. If the original author licensed his code Ms-PL and GPL, you may choose which set of terms to apply, but not pick&match. The restrictions in the Ms-PL therefore only apply when exercising the rights granted by the Ms-PL. Redistributing under the GPL is a right not granted by the Ms-PL, and therefore cannot be restricted by it either. This only blocks later relicensing by someone not owning the copyright. –  MSalters Aug 19 '13 at 9:46

In general, the GPL states that you can use non-GPL licensed code in your GPL-licensed product provided that the non-GPL license does not impose more restrictions than the GPL. In other words, you can freely use 3-clause-BSD-licensed code in your GPL project. This doesn't change the license of the BSD-licensed code - the GPL is viral only to code that uses GPL-licensed code, not to code that is used by GPL-licensed code (that would be unreasonable and in general impossible). On the other hand, the 4-clause-BSD license contains an additional clause about advertising, which doesn't exist in the GPL, and so is incompatible.

I see two candidates for the offending clauses in the Ms-PL. One is 3c, which requires the preservation of not only copyright notices (that's pretty much universal across licenses), but also patent, trademark and attribution notices. The other is the second part of 3d, which imposes a restriction on the compiled form of the code that is not there in this form in the GPL. But IANAL, so I'm not sure about this.

Note also that the Ms-PL contains a patent provision similar to that of the Apache License, which makes it incompatible with the GPLv2, but not the GPLv3 (which added similar wording of its own). See the description on GNU's website: http://www.gnu.org/licenses/license-list.html#apache2

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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