Microsoft Bans Its Own License (updated twice)
February 18, 2011 2:09 PM
by Simon Phipps
Earlier in the week I wrote about the way old-school vendors self-harm out of an instinctive desire for control of their markets. If you're following geekspace, you may have spotted a storm brewing concerning Microsoft's policy on open source licensed software on the Windows Phone app store ("Marketplace"). The storm was triggered by an ambiguously-titled posting on Red Hat evangelist Jan Wildeboer's personal blog (originally titled "Absolutely NO Free Software For Windows Phone and XBox" but subsequently improved to clarify he's only talking about copyleft licenses).
Jan points to the "Windows Phone Marketplace Application Provider Agreement (a PDF I'm afraid) which asserts in section 5e:
The Application must not include software, documentation, or other materials that, in whole or in part, are governed by or subject to an Excluded License, or that would otherwise cause the Application to be subject to the terms of an Excluded License.
and earlier in section 1l defines an "Excluded License" thus:
“Excluded License” means any license requiring, as a condition of use, modification and/or distribution of the software subject to the license, that the software or other software combined and/or distributed with it be (i) disclosed or distributed in source code form; (ii) licensed for the purpose of making derivative works; or (iii) redistributable at no charge. Excluded Licenses include, but are not limited to the GPLv3 Licenses. For the purpose of this definition, “GPLv3 Licenses” means the GNU General Public License version 3, the GNU Affero General Public License version 3, the GNU Lesser General Public License version 3, and any equivalents to the foregoing.
If you read through this you can see Jan's initial title seems clearly wrong. Microsoft's restriction here is not "no free software" since "free software" (that's "free" as in "liberty", not just "price") includes that licensed under open source licenses such as the BSD license, MIT license and Apache license, none of which obviously fall foul of the wording of the definition of "Excluded License" (although I'm not a lawyer so if you're looking for real advice you should ask one).
But his critics aren't accurate either. Most of the criticism I've seen tries to turn this into the old GPL vs BSD wars, claiming "it's just Microsoft continuing to ban the GPL and who could blame them". But Microsoft's prohibition goes further than the GPL licenses it's using as an example; it says "Excluded Licenses include, but are not limited to the GPLv3 Licenses". So this makes it impossible to use, for example, the Eclipse Public License - ruling out anything from the whole, large Eclipse ecosystem - or the Mozilla Public License or any other "weak copyleft" license.
That includes, remarkably, Microsoft's own OSI-approved Microsoft Reciprocal License and possibly even the Microsoft Public License, according to one legal expert. As a consequence, use of open source libraries under these licenses - which not even Apple's byzantine regulations object to - is apparently prohibited.
That might plausibly include Mono, based on Microsoft's own .NET but partly licensed under MS-PL. It also means that Microsoft's new partner Nokia could have trouble using its Qt graphics environment on the platform as it's under the GPL. Some legally-qualified commentators are even suggesting that, if the
first use of "the software" in the definition of "Excluded License" means the open source
software and not the application being submitted, then all open source
licenses are barred. I hope that's just bad drafting.
So much for Microsoft's recent claims to be embracing open source - not even their own licenses are good enough for their App Store. It's all very well for Microsoft to claim it's changed and that open source is now cool, but someone needs to tell the rest of the company and not just the open source evangelists.
 Update, noon: A message from Debian's Mono packager has clarified that the libraries involved here are not in the part of Mono that would be used by WP7 applications. Thanks for the help.
 Update, 16:00: An official Microsoft spokesperson has apparently confirmed that banning all copyleft licenses is intentional but possibly subject to review on a license-by-license basis, and that MS-PL is not intended to be banned.