Microsoft has prohibited developers from using GPLv3-licensed open source software in any application distributed on the Windows Phone Marketplace. But Redmond is pushing mobile application developers to use packages based on an open source licence created by Microsoft.
The Windows Phone Marketplace Application Provider Agreement says applications "must not include software that... in whole or in part, are governed by or subject to an Excluded License," and says excluded licences "include, but are not limited to the GPLv3 Licenses."
But developers can use code approved by the Microsoft Public License, an open source licence created by Redmond. Microsoft has pushed developers to use so-called "Windows Phone recipes," which are open source projects that became available last month under the Microsoft Public License
The GPLv3 restriction in the Microsoft application provider agreement has been public since at least September, but resurfaced this week when Red Hat technology evangelist Jan Wildeboer blogged about the issue, saying he "was quite astonished."
"Note the full scope: in whole or in part," Wildeboer writes. "This means that you cannot use Libraries that are under this ominous 'Excluded License.' Or use documentation that is licensed under the ominous 'Excluded License.' You get the point. If you use whatever stuff that is under this ominous 'Excluded License' your app will not be added to the marketplace."
Microsoft defines GPLv3 licenses as including "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," and also appears to ban further open source licences, including any one that allows software to be redistributed for free.
Excluded licences include anything "disclosed or distributed in source code form, licensed for the purpose of making derivative works or redistributable at no charge," Microsoft says.
Microsoft itself maintains two open source licences: the Microsoft Public License and the Microsoft Reciprocal License.
Apple has also been criticised for its approach toward open source in the App Store for the iPhone and iPad. Last May, Free Software Foundation operations manager John Sullivan said Apple's developer licence agreement is "incompatible" with GPLv3.
Microsoft's position toward open source software has evolved over the years, from CEO Steve Ballmer calling Linux a "cancer" to Microsoft official Jean Paoli saying "We love open source." Microsoft uses the Apache License for open source Outlook tools and funded the CodePlex foundation to host open source projects.
An open source database was ported to Windows Phone 7 last year by a third party developer, but the database is not available on the Windows Phone Marketplace. Microsoft has not yet responded to an inquiry as of publication.