Some open-source apps for Windows Phone and Xbox have been banned from Microsoft's Windows Phone Marketplace. And there's uncertainty hanging over the rest.
Apps licensed under GPLv3, Affero GPLv3, and LGPLv3 cannot be sold and distributed on the marketplace, according to Microsoft's Windows Phone Marketplace Application Provider Agreement. Microsoft has also reserved the right to exclude "any equivalents" of the GPLv3, Affero GPLv3, and LGPLv3 trio.
This includes any license that requires the application in question – or the software it's distributed with – to be made available in source form.
The block was uncovered by Red Hat EMEA evangelist Jan Wildeboer. Red Hat's man called Microsoft's policy "uncool" and confesses he was "astonished" given Microsoft's friendly overtures to open source.
You can read the full text of Microsoft's Marketplace here (warning: PDF). Here's the section referring to "excluded licenses":
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.
Wildeboer blogged: "This coming from the company that publicly calims [sic] to be a friend of Open Source, that wants to make windows the best ever platform for Open Source should make app developers think again if this mobile platform is the platform of choice."
GPLv3, Affero GPLv3, and LGPLv3 were released by the Free Software Foundation in 2007, but their use is tiny compared to GPL2. License specialist Black Duck Software says that while use of the trio is expanding, GPLv2 is still the number-one open-source license, used by 45 per cent of the 230,000 projects it tracks.
Microsoft is not the first app-store-toting tech vendor or web company to take a contradictory stance on code and projects under an open-source license.
Last year, Apple booted GPLv2-licensed iPhone app GNU Go from its AppStore after the Free Software Foundation (FSF) said the store's terms of service contradicted the GPLv2 license. Apple restricts the number of devices an app can run on to five, while GPLv2 section six grants anybody who downloads the code unlimited rights of code distribution.
Meanwhile, Google once fought to keep AGPL off its Google Code site, in a stand against "license proliferation". Google relented in September 2010 and opened Google Code to code under any license approved by licensing authority the Open-Source Initiative (OSI).
Microsoft's decision to exclude open-source from consumer devices stands in stark contrast to its policy on business software, specifically server and tools where - as Wildeboer pointed out - Microsoft claims to be a friend of open source.
In server and tools, Microsoft has actively worked with open-source projects to improve the performance of open-source code issued under various licenses on Windows, SQL Server, and its Azure cloud.
Microsoft has worked with MySQL, which is under a GPL and a "commercial license"; PHP, which has its own license that's incompatible with GPL because it doesn't let you modify code and keep the PHP name; Drupal, which is under GPLv2 and GPLv3; and SugarCRM, which comes in a community edition under Affero and a commercial product under a modified Mozilla Public License.
The server and tools strategy is a platform play, designed to make open-source apps run well on Windows rather than lose Windows licensing revenue to Linux. In the cloud, Microsoft is running hard to become a home base for devs building apps in PHP.
But note that Microsoft does not distribute any of this code itself. Microsoft fears doing so could legally expose it. The worry is that someone will sue over patents in the open-source app it has distributed. Worse, if Microsoft distributes the code, somebody might also contend that Microsoft must open up and distribute its precious Windows code because it has rubbed shoulders with the code under an open-source license.
It looks like Microsoft has extended that policy to mobile and gaming. ®