BSD and MIT license "compliance" with the MS-PL

Donovan Hawkins hawkins at
Fri Apr 17 03:36:27 UTC 2009

On Wed, 15 Apr 2009, saulgoode at wrote:

> It would seem to me that for one license to "comply with" another, it should 
> meet the criteria of that other license; i.e., it should both permit the 
> actions that the other license permits, and restrict the actions that the 
> other license restricts  (indeed, I would consider such conditions to be one 
> and the same, merely a matter of the how the requirements are worded).

If your license permits exactly what the MS-PL permits and restricts 
exactly what the MS-PL restricts, it would have to *be* the MS-PL. They 
clearly don't mean that or they would say that (as they do in the previous 
sentence for source distribution).

Compliance generally means doing what is required and not doing what is 
forbidden...that does not mean you have to take advantage of every 
permission given to you. Your license for binary distribution can grant a 
subset of the rights granted by the MS-PL and contain more restrictions 
than the MS-PL, but not the other way around.

> Since one of the criteria of the MS-PL is that a patent grant be provided to 
> recipients of the software, and since neither the BSD or MIT license provide 
> such a grant, would not this suggest that neither of those licenses "comply 
> with" the MS-PL?

The "compies with" clause was for binary distribution only, so you 
wouldn't be using any open source license there. Your closed-source 
license only needs to contain the restrictions of the MS-PL (such as the 
patent claim termination and disclaimer) can pick and choose what 
rights you pass along.

Source distribution, on the other hand, is only allowed under the MS-PL. 
It is explicitly incompatible with everything but itself in that respect.

To compare, GPL forces downstream developers to release source only under 
GPL in order for ensure the code can never be used in closed source 
programs. The MS-PL forces downstream developers to release source only 
under MS-PL in order to ensure the code can *always* be used in closed 
source programs. They are both viral licenses which comply with the Open 
Source Definition, but they have essentially the opposite effect.

> I realize that cross-compatibility is not a requirement for license 
> approval by the OSI, but I still would be interested in
> hearing opinions on this.

License proliferation is not an issue because no one releasing code under 
MS-PL wants open source developers to use it and no open source developers 
would want to use the MS-PL. If you think about it, the MS-PL is logically 
incompatible with what most people think of as open source (see footnote).

It is logically valid to support open source via permissive licenses, 
since they give equally to all users regardless of how they will use it. 
It is also logically valid to support open source via copyleft licenses, 
since while they grant fewer freedoms they do so in order to keep the 
source open. Both positions support the same basic concept of giving 
people access to the source code of the programs they run and encouraging 
(but not requiring) participation in the development process. The 
disagreement between the groups is one of idealism vs. realism.

But you cannot logically support open source via the MS-PL because there 
is no defense of closed source developer rights which does not apply as 
well or better to copyleft. It would be absurd to demonize copyleft for 
granting incomplete distribution rights while defending closed source 
which grants no rights at all! If you really believe that copyleft is the 
wrong path to open source because it discriminates against closed source 
developers then you would be led to permissive licenses or none at all.

In short, MS-PL is open source for closed source people. It meets the OSD 
in that it provides the necessary rights but it does so in a way that 
actively discourages open source and encourages closed. As such, it rounds 
out Microsoft's collection of shared source licenses perfectly.

Footnote: If you are a developer who thinks of open source as raw 
material to use in your closed source software, the MS-PL *does* fit what 
you think of as open source quite nicely. It would be amusing if some 
people who think that way start playing around with MS-PL and end up 
getting interested in "real" open source as a result, but I'm not holding 
my breath.

Donovan Hawkins, PhD                 "The study of physics will always be
Software Engineer                     safer than biology, for while the
hawkins at                   hazards of physics drop off as 1/r^2,                biological ones grow exponentially."

More information about the License-discuss mailing list