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?