BSD and MIT license "compliance" with the MS-PL
hawkins at cephira.com
Fri Apr 17 03:36:27 UTC 2009
On Wed, 15 Apr 2009, saulgoode at flashingtwelve.brickfilms.com 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)...you 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
Donovan Hawkins, PhD "The study of physics will always be
Software Engineer safer than biology, for while the
hawkins at cephira.com hazards of physics drop off as 1/r^2,
http://www.cephira.com biological ones grow exponentially."
More information about the License-discuss