For Approval: Microsoft Permissive License

Tobia Conforto tobia.conforto at
Wed Aug 22 18:45:37 UTC 2007

Chris Travers wrote:
> Matthew Flaschen wrote:
> > You can't remove the BSD license text.  But you can add a license
> > (sublicense).  The latter is not true of MS-PL.
> To add a license in this case would mean?  Are you adding permissions
> not granted by the BSDL?  Is that allowed?

He's adding *restrictions*, not permissions.  You can't add permissions
not granted by the original license, of course, otherwise what's the
point of having a license?  You can add restrictions though, if the
original license allows you to, and BSD-style ones do.

> I don't think that one is allowed to add or remove permissions from
> someone else's code unless appropraite copyright have been assigned.

Add permissions (== remove restrictions) from BSDL code: NO.
Remove permissions (== add restrictions) to BSDL code: YES.

Otherwise how would you explain all the proprietary, commercial forks of
BSDL code?  Did they not remove permissions from the software, while
they were modifying it?  The code is not free anymore (under any
definition of free) while it was before.  That's a permission that's
been removed, as the BSDL lets you do.

(Of course you can still get the original code from the original author,
under the original license, that's out of question.)

Again, how would you explain the widespread practice of including BSDL
code into GPL products?  Because it is being used in a GPL product, the
original software (or whatever lines / bytes remain of it) has lost some
permissions it once had, such as the ability to make closed source forks.
Are they all mislead in their interpretation of the BSDL?

BSDL (MIT, etc.) says: you only have these restrictions (ie. attribution
and disclaimer) and you cannot take them away, ever.  But you can add
arbitrary restrictions to your version of this code, to the point of
making it proprietary, if you so desire.  That's the common
interpretation, anyway.

And that's why it's called permissive: because it lets you do almost
anything to the code, including adding arbitrary restrictions to its
usage (== sub-licensing.)

The MS-PL instead seems to *not* allow adding restrictions (eg. those
needed to be compatible with the GPL), therefore I also agree that it
should not be called permissive.


More information about the License-discuss mailing list