Thinking of submitting an application to the Windows Phone Marketplace? Better check the fine print in the developer agreement. Microsoft has a message there for many free and open source developers: You are not welcome. (Updated: Added reaction from Microsoft below).
Developer Jan Wildbeoer pointed out the clause on Wednesday, but it's actually been there unnoticed since September. You can read the full PDF version, but here's the part about free software:
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 it defines an "Excluded License" as (emphasis mine):
“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.
Note that the agreement does not keep you from making your app available for no charge. It does not keep you from publishing the source code to your app. What it does prevent you from doing is using a license that *requires* either of these qualities.
Specifically, the clause attacks copyleft licenses, a category that includes GPL, LGPL, and MPL (Mozilla Public License). The Free Software Foundation defines copyleft as follows:
Our aim is to give all users the freedom to redistribute and change GNU software. If middlemen could strip off the freedom, we might have many users, but those users would not have freedom. So instead of putting GNU software in the public domain, we “copyleft” it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom.
Permissive open source licenses such as EPL (Eclipse Public License), ASF (Apache License), and BSD/MIT should be allowed by the agreement because they do not require the freedom be "passed along". Probably. Insert standard not-a-lawyer disclosure here.
Ironically, Simon Phipps points out on his blog that Microsoft may have just banned some its own licenses. I wonder of Nokia knew about this before joining forces on Windows Phone 7?
Updated: MJ has posted this response from an unnamed Microsoft spokesperson on her blog:
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.
Translation: Permissive business friendly open source = good, copyleft reciprocal hippie GNU free software = bad. I'm trying to get confirmation about the ones that sit on the fence such as MPL and EPL.
- Microsoft bans GPLv3 open-source software from Windows Phone and Xbox apps (ZDNet)
- Microsoft mulls changing Windows Phone Marketplace terms to add more open-source licenses (MJ@ZDNet)
- Another Huge Reason to Avoid Microsoft's Windows Phone (PCWorld)
- Windows Phone 7 apps: an open and shut case (ZDNet UK)
- Microsoft Bans Its Own License (Computerworld)
- Microsoft bans open source from the Marketplace (Thinq)
- Microsoft bans open source license trio from WinPhone (The Register)
- GPL Enforcement in Apple's App Store (FSF, May 2010)