Swapping Reciprocal Licenses

Dec 8, 2007 at 3:06 AM
It's nice to hear that the Microsoft Reciprocal License and Microsoft Public License have been approved by OSI.

I find MS-RL to be much clearer than the current license that I'm using for one of my projects: GNU General Public License. In the opinion of the CodePlex team, does the MS-RL license provide at least as much protection as the GNU-GPL, in terms of distribution and reciprocity? If so, I'll probably switch :)

Dec 10, 2007 at 5:57 PM
Hi Dave - The answer to the question, "How much protection does license X provide?" depends on two things: What you want to be protected from and what your attorney's interpretation of the license is. The GPL and the MS-PL are two very different licenses, so a comparison is difficult at best. I can't really speak to the GPL. Although I've read it, I'm not an attorney, and I'm not an expert on the GPL. I can tell you, however, what our design goals were for the MS-RL. We set out to design a short, easily understood reciprocal license that provided clear patent grants to licensees, clear patent protection for the licensors, and well delineated boundaries for those who want to contribute back to the project, and those who don't . Because I am not a lawyer, I can't give you any legal advice or even a legal opinion on these licenses, but I can tell you that a vast majority of the Microsoft projects owners have found that the MS-RL and MS-PL meet their legal needs (Note that the MS-PL is just the MS-RL without the reciprocal clause). We've also had hundreds of non-Microsoft project owners choose to use one of these licenses for their projects. I hope this helps.

Dec 10, 2007 at 7:59 PM
Hi Jon,

Thanks, I appreciate the reply.

It's comforting on some level to know that I won't be the only one using it, if I choose to do so. But what originally concerned me was that §3.A of the MS-RL license explicitly uses the word "file" but no mention of "derived works", unlike the GPL, leading me to believe that if a developer were to, e.g. use a customized version of a utility method from my open source library in one of their proprietary code files, they wouldn't have to release the "whole" program, or even that one "file" (because it's a "derived" work, not identical to the original method), as open source, defeating the purpose of reciprocity.

So it seems to me like the GPL is more protective (see §2) since it ensures that my code and derived works will remain in the open source domain (i.e., I don't see the word "file" used in the GPL; instead it refers to "derived works" as a "whole").

Anyway, I'm certainly not an attorney either and I can guarantee that I know less than you about this stuff, so any advice at all could be helpful from someone who has read and basically understands both licenses. My real concern is whether the MS-RL license will ensure that my open source code stays open source when used by others, even when it's modified.

Dec 10, 2007 at 8:01 PM
Edited Dec 10, 2007 at 8:04 PM
Off-Topic: For my last post I pressed the submit button twice because there was no indication the first time that a post-back occurred; i.e., there was no "loading" message in IE's status bar and no modal AJAX dialog to prevent me from clicking it again. Please feel free to delete one of my duplicate posts :)

EDIT: There was no indication of a post-back when I submitted this post either. Previously, about 20 minutes ago, it seems that the CodePlex site was upgraded (I got an error the first time I tried to submit my post), so I guess there is a regression bug here.