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 license 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 licenses "include, but are not limited to the GPLv3 Licenses."
MICROSOFT: 'We love open source'
But developers can use code approved by the Microsoft Public License, an open source license 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 licenses, including any one that allows software to be redistributed for free. Excluded licenses 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 licenses: the Microsoft Public License and the Microsoft Reciprocal License.
Apple has also been criticized 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 license 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.
In response to an inquiry from Network World, Microsoft said "The Windows Phone Marketplace supports several open source licenses, including BSD, MIT, Apache Software License 2.0, MS-PL and other similar permissive licenses. We revise our Application Provider Agreement from time to time based on customer and developer feedback, and we are exploring the possibility of modifying it to accommodate additional open source-based applications in upcoming revisions."