Is Microsoft banning open source for Windows Phone apps?

Microsoft's belief: no explanation is a good explanation.

Somebody at Red Hat discovered that Microsoft's developer agreement for its online mobile marketplace doesn't allow the use of some open source code. Specifically, it bans code licensed under what the Agreement terms "excluded licenses," which turns out to refer to the GPLv3 and any others "that [require] 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."The full text of the "Windows Phone Marketplace Application Provider Agreement" is online.And the Red Hat guy blogged about it.The post triggered the usual outpouring of outrage, charges of hypocrisy, and so on. A Network World story about this by my colleague Jon Brodkin noted that Microsoft did allow the use of its own open source projects. Though others have since pointed out that the Agreement's language does in fact exclude some of Microsoft's own open source offerings.So what does it all mean? That's an obvious question, right? And who better to answer it than Microsoft, right? I mean, they WROTE the Agreement. So we did ask them. Microsoft won't talk about it. They won't explain their license terms; and they won't explain why they won't explain the license terms. In effect, Microsoft's answer is: "it's in text, so there's no need for us to explain anything, so we won't." Ironically, Microsoft recently hired Gianugo Rabellino, formerly of Apache, as its new Senior Director of Open Source Communities and wanted Brodkin to interview him. But, we were told by Microsoft's PR handlers, Rabellino would take NO questions about the language of the Windows Phone Marketplace Application Provider Agreement dealing with, yes, open source.I'm far from an expert on open source. But someone who knows more is Sasha Kotlyar, senior software engineer at Auri Group, and also known as Arktronic, the developer of the ArkSwitch open source project. In a brief succinct blogpost Kotlyar writes that one reason, at least for the GPLv3 ban, is because that version incorporated what's known as the "Anti-TiVoization" clause. You can find an explanation of this clause in a Wikipedia entry. Tivoization refers to "TiVo's use of GNU GPL licensed software on the TiVo brand digital video recorders (DVR) which actively blocks users from running modified software on its hardware by design."Here's how Kotlyar describes it: "...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.Here's the problem: both Microsoft XBox and Windows Phone 7 do what TiVO did. Kotlyar again: "Microsoft must therefore ban licenses with an "anti-Tivoization" clause because both the Xbox and Windows Phone 7 hardware perform "Tivoization". They only accept code that has been signed by Microsoft (unless the hardware is developer unlocked)."He notes, as Microsoft has, that the Agreement allows open source code that's covered by more permissive licenses, such as BSD, MIT/X11, Apache, and Microsoft's Ms-PL.

Is that so hard to explain, let alone defend?

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Now read: Getting grounded in IoT