Is Microsoft banning Open Source from Marketplace? Not quite

There have been a few reports and articles that have been published today about the recent questioning of Microsoft condemning Open Source to death – this isn’t true in its entirety. So, what has actually happened?

Well, without touching the horrible statement that all open source applications and games are banned, forgotten and condemned, we shall lightly pass through with Microsoft seem to be only tackling the GPLv3 and its derivatives. Neowin has reported that Microsoft is completely against Open Source (but have recently altered the title of their article) and are by no means completely correct.

GPLv3 being banned from the Marketplace is simply Microsoft taking steps in covering its back and preventing what situations Apple has found regarding licensing and Open Source (VLC in particular). Ruling out any code that falls under the license so Microsoft doesn’t violate the GPL is how it’s supposed to work. A fantastic post written up by Sasha Kotlyar (developer of WM6 Task Manager) explains quite clearly why Microsoft has chosen to disallow code that is under GPLv3.

“Because version 3 of the GPL family of licenses includes what has been dubbed the "anti-Tivoization" clause. Tivoization, from the name TiVo, is what that company did to its hardware in order to prevent unauthorized firmware modifications. In essence, they released the complete source code to the firmware that runs on TiVo boxes, but compiling such source code does not yield binaries that can run on the TiVo. That is because the authorized, official binary code is modified by TiVo to include a digital signature that must be accepted by the hardware before said code is allowed to run. GPLv3 includes a clause that prohibits this behavior.”

The Marketplace for the Xbox system and WP7 will prevent code under this license due to hardware performing Tivoization, and only Microsoft signed code is accepted. This is what the Open Source license in question goes against. Developers should take note that limited and liberal licenses (including MIT/X11) are usable for use in Xbox & Windows Phone 7 code.

What do you make of all this, and do you believe Microsoft are acting above board in complying with the license? 

Via: Neowin

Rich Edmonds
Senior Editor, PC Build

Rich Edmonds was formerly a Senior Editor of PC hardware at Windows Central, covering everything related to PC components and NAS. He's been involved in technology for more than a decade and knows a thing or two about the magic inside a PC chassis. You can follow him on Twitter at @RichEdmonds.

5 Comments
  • Anyone who thinks that Microsoft is against open source is a moron who doesn't pay attention. It has an open source project hosting site (http://codeplex.com/) and uses OSS in plenty of their own Web sites. Microsoft is now contributing to jQuery, for God's sake.
  • “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.no source code, no change of source code, no free of charge ...Microsoft in not banning Open Source?!
  • @hrx: I realize that this is hard to believe, but there are LOTS of licenses which do not fall under the "Excluded License" restrictions, such as the (new) BSD, MIT/X11, MS-PL, and Apache 2.0 licenses.While Tivoization is a reason, I believe that the larger reason for the "Excluded license" terminology is the _requirement_ that source code be distributed.The reason for this is straightforward: Microsoft is distributing the binaries. Under the GPL and other licenses, you _must_ be able to obtain the corresponding source code from the distributor, i.e. from Microsoft. For obvious reasons, Microsoft doesn't want to be in the source code distribution business for the marketplace (and, for that matter, neither do Apple ]or Google).Thus, if source distribution is _optional_ (as is the case with MIT/X11 and others), then the code is fine. If distribution is required, as is the case with the GPL (ANY version), the Microsoft Reciprocal License (MS-RL), and others, then the license is not acceptable.(Further note that the GPL requires that no further restrictions be placed on the software, so the GPL v2 and v3 couldn't be used _anyway_...)Finally, it should be noted that if you're the copyright holder, you certainly CAN use the GPL for your apps -- you'll just need to "dual license" your code so that, in effect, the code that Microsoft distributes is under a non-GPL license while others can obtain the code under the GPL. (Using third party GPL libraries would still be forbidden.)
  • It's a good thing that Microsoft is upfront about this, but it's a shame that it makes WP7 incompatible with the many libraries and applications under LGPL and GPL.Why is Tivoization even mandatory on their app store? If they simply let users install modified applications on their own phone, there wouldn't be any problem with anti-Tivoization clauses. It's good for the user both because it gives him more freedom and because it lets him use apps based on GPL/LGPL components.I find it a bit uncanny how the authors of GPL3 were able to predict the rise of Tivoization :-)
  • It's most likely to protect themselves from has happened to iOS and Android apps. Piracy..