Microsoft: Absolutely NO (GPLv3-or-compat-licensed) Free Software for Windows Phone and Xbox Apps.

DISCLAIMER: I am not a lawyer and this is my PERSONAL blog. This article reflects my PERSONAL opinion and does not necessarily represent the position of my employer.

DISCLAIMER 2: Some articles that link here claim I say that *ALL* Open Source software is banned by Microsoft. That is NOT what I say. Please read on.


[UPDATE: Italian translation of this article by Guglielmo Troiano at “Microsoft: niente Software Libero per Windows Phone e Xbox Apps.” ]


[UPDATE 2: Seems that the terms from Microsoft also exclude their own MS-PL license as pointed out by @webmink in the comments and in this article and also by @fontana on identi.ca – now THAT is cool if correct :-)]


This is rather uncool, IMHO, I stumbled upon this forum entry and was quite astonished. It points to the Microsoft Application Provider Agreement that governs the Windows Marketplace, the App Store where users can get apps and developers publish them.

Now here’s the fun part. In article 5, Microsoft explains the Application Requirements that you need to fulfill to get your app accepted in the marketplace. It’s point E that is of interest here:

e. 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.

Note the full scope: in whole or in part. 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.

Now what is this ominous “Excluded License”? Scroll back in the document and find:

“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.

So each and all “equivalents” to the GPLv3, LGPLv3, Affero GPLv3 license are excluded. Any license that allows requires redistribution at no charge is excluded.

The consequences of this strange exclusion are not fully clear to me as I am not a lawyer. But one thing is extremely obvious. Microsoft wants to keep its platform clear of Free Software. Period.

This coming from the company that publicly claims to be a friend of Open Source, that wants to make windows the best ever platform for Open Source should make app developers think again if this mobile platform is the platform of choice.

Geez.

CC BY 4.0 This work is licensed under a Creative Commons Attribution 4.0 International License.

136 thoughts on “Microsoft: Absolutely NO (GPLv3-or-compat-licensed) Free Software for Windows Phone and Xbox Apps.”

    1. > guess someone is afraid

      “First they ignore you, then they ridicule you, then they fight you, …”

        1. ..and finally you w00tle.

          Ok, that last bit isn’t Mr Gandhi, but its true innit? 🙂

    2. Not afraid, just GPL3 is specifically and intentionally incompatible with the “one true app store” model since it requires that end-users be just as easily able to install modified versions. Copyleft in general would give the problem of Microsoft needing to distribute source along with the actual applications, and I’m guessing they don’t want to put crap in the store UI that would only confuse most people.

      1. This has nothing to do with copyleft or free software in general and everything to do with this part of GPL3

        You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license […]

    3. Quit trolling, OSS isn’t just GPLv3 which would require DRM, source and keys to be open. Go ahead and try to make something GPLv3 on steam or directdrive it won’t happen

  1. Wrong, it’s not “no Free Software”, it’s just “no copyleft”. This doesn’t seem to exclude BSD-type licences, which are used by a large part of the Free Software projects too…
    But yes, it’s a concern indeed. I suppose they don’t want to be bothered by GPL “contamination” as they say (though LGPL doesn’t have this… except it requires to be able to replace the LGPL part though IIRC).

    1. IMHO, “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 (iii) redistributable at no charge.” includes BSD, MIT, etc. It includes any software which license requires that you have the possibility to redistribute at no charge, which is freedom n°2 of the definition of Free Software.

      1. Tricky indeed.

        Per se, BSD, MIT and alike will not be excluded. Bear in mind that the ultraliberal, or ultrapermissive license, are one way Free Software, in that proprietarization is one byte away.

        This clause is inherently about any sort of copyleft. It says “any license requiring.” Ultraliberal licences do not require anything. They are Free for the giver, not necessarily Free for the taker. Conversely, by the letter, also weak copyleft licences would be excluded. @mmu_man, there is no “contamination”, please avoid that rethoric, it’s a licensing condition to make derivatives, any licence which is not ultraliberal has some sort of it, including proprietary licences (which do not enable you do do anything altogether, so the condition to make derivative is impossible).

        As a general comment, this is nothing new with regard to the attitude of Microsoft to be liking any kind of Free Software that is Free as in Beer as long as it is convenient to them, disliking and rejecting any Freedom-enabling and most of all Freedom-enforcing license. It’s a more subtle way of saying “GPL is a cancer”. Since the Outercurve initiative was launched, this has been the unsaid mantra. Divide et Impera, by the book.

        It’s a long way to call it “Love for Free Software”.

        1. 1) BSD permits the software be redistributed. It doesn’t say with charges or not. So BSD permits the software be redistributed at no charge.

          2) Microsoft excludes a licence which requires “redistributability” at no charge

          So the question is: does BSD require “redistributability” at no charge (which is point 1)

          The BSD license contains the condition “Redistributions of source code *must* retain the above copyright notice, this list of conditions and the following disclaimer.” So it requires point 1, which is redistributability at no charge.

          The fact that BSD is liberal and allow proprietarization is irrelevant, IMHO. As liberal as it gets, the BSD license still requires that the redistribution of the software states that there is the possibility to redistribute at no charge.

          The BSD license does not require redistribution of source code, it is permitted. But the redistribution of source code requires {redistributability at no charge}, the {permission to redistribute at no charge} that is at the beginning of the notice.

          But I just want to push it further, of course, I’m sure I’m wrong somewhere 🙂

          1. The text is ambiguous in this peculiar combination and we are discussing beside the point that Jan wanted to make. I agree with Simon that surely Microsoft did not mean to exclude the public licences that Microsoft itself conceived (all non-copyleft, some even Free Software).

            Having said that, I’ll come to your point. Since there is no requirement to put the licensing condition in the binary distribution, there is no requirement per se that the software be redistributable at no charge, but arguably only in a distribution with accompanying documentation.

            However, if distributor B takes BSD software from developer A who has put the application in the sstore, and imposes a further clause requirement that says “4. finally, you shall pay B a zillion dollars”, then developer A cannot complain that B has violated her copyright. The list of conditions do not mention “it shall always be at no charge” or “no further restriction is allowed”. The conditions listed by BSD licences are the minimum set, to be generous.

            Therefore there is no requirement that the software be redistributable at no charge. It is just a temporary condition for that particular act of distribution. BSD is a “one time”, other than “one way” Free Software distribution.

  2. “(iii) redistributable at no charge.”
    Oh right, it does also target BSD licences. 🙁

    1. No, you were right the first time. It only targets licenses that *REQUIRE* you to let your software be redistributable at no cost. BSD does not require this.

      1. I agree, BSD does not require “to let your software be redistributable at no cost”.

        But it does require “to permits your software to be redistributable at no cost” which is the definition of “redistributable” at no cost.

        1. No, it does not require you to permit redistributability at no cost. Downstream can impose any licensing price they want, without fearing retribution. So the licence permits free redistribution, does not require free redistribution to be permitted.

          1. Technically, Hugo is correct. This clause does not allow you to distribute software under a BSD license through this app store.

            However, since the BSD license is so liberal, practically, you are correct. That is because you can distribute BSD licensed software through this app store, as long as you don’t put it under those terms on the app store itself. That means you can release the source code on your website or something, inform everyone that it is BSD licensed, and also inform them that a binary version is available in the app store. You just can’t actually include the BSD license as part of the binary app.

        1. Absolutely true, actually there is a long rationale that explains why it’s cool to charge for distribution of Free Software, provided that this is not a condition for further distribution [I intentionally skip the rest of the discussion and the fine points]

          But this is not the point we are discussing here. The point is that GPL requires that you always permit distribution at no cost. The terms and conditions that Jan spotted require that the license do not require the possibility to distribute at no charge. Quite convolute, but it’s another scenario. 😉

    2. The BSD license has been around for a VERY long time. The BSD license, if it contains the advertisement clause, DOES require that the app store explicitly include the license text as viewable before you download the software. The BSD license does not normally contain the advertisement clause anymore, and it does not REQUIRE source distribution under any circumstances, unlike the GPL. The BSD license is not compatible with the GPL unless the original copyright holder invokes both licenses explicitly on their software. But it is 100% compatible with commercial software.

  3. Jan, you write “Any license that allows requires redistribution at no charge is excluded.” But in the Microsoft license, it’s written, any license that requires the software “redistributable” at no charge. That’s a big difference.

    1. No, it mentions specifically the GPL3 family and its equvilents.

      My suspicion is that its not so much the copyleft provisions, but the anti-patent provisions that have microsofts lawyers twitching.

      1. No, I disagree. It says “Excluded Licenses include, but are not limited to” – the terms actually obstruct any copyleft license, including in my view Microsoft’s own MS-PL.

  4. I’d expect that Microsoft’s app store has terms and conditions that the end user must agree to in order to obtain access to the store, and so I’d expect GPL apps on their store would run into the same problem they did on Apple’s store. Hence, it makes sense to not allow the apps in the first place, rather than letting them on and then having to pull them when a copyright owner complains.

  5. It actually don’t matter if they allow BSD or not. It still bans all Free Software. Because if they don’t give you source code and means to install modified versions, it it worth nothing that binary is licensed under BSD. It is proprietary software. You don’t have any Freedom. So it is safe to say they banned all Free Software. Same goes for Apple store, except Apple provides source under non-free terms (5 device limit).

    Also, note that .NET and only .NET is allowed in WP7. It won’t run anything else.

  6. “The consequences of this strange exclusion are not fully clear to me as I am not a lawyer. But one thing is extremely obvious. Microsoft wants to keep its platform clear of Free Software. Period.”

    You should have stopped at “I am not a lawyer.” since the two/three sentences after it are just plain wrong. 🙁

    1. And I guess we should take your word for it? One doesn’t have to be a lawyer to understand what’s going on here. I think Jan described it pretty well, actually…

  7. You guys seem to be completely missing something. It doesn’t exclude free software, only free software that requires open-sourcing the software it is distributed with.

    “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…

    So GPL is out, because you can’t include GPL libraries in closed-source software. BSD and MIT are presumably OK because they don’t dictate in any way how other software you write that depends on their libraries be distributed, only that if you redistribute the library, you leave the copyright notice in.

    1. Well, as always, it depends on your defintion. I am arguing from a GPL perspective (Free Software as defined by the FSF, including the copyleft approach) whereas you are coming from the BSD/MIT perspective.

      Leaving that aside, my fundamental point is that MSFT obviously has a problem with teh GPL and it’s very explicit approach here only confirms that fact.

      So I partly agrre – BSD/MIT or other non-copyleft licenses might be fine, but OTOH the GPL is definitely the enemy here. And that attitude is one thing – wrong IMHO.

    2. LGPLv3 libraries can be included in closed source software, but is explicitly listed as an Excluded License.

  8. The big question nobody is asking: who cares? Anyone who does care about software freedom surely wasn’t going to go within a hundred miles of this irrelevant platform anyway, were they?

  9. LMAO! Hasn’t Microsoft noticed the number of free apps on Android that generate revenue via advertisements? Do they really think they can conquer the mobile space purely by locking down their platform and corrupting Nokia? A company that was on it’s way out anyway.

    The last I heard. Android was now storming a head of the iPhone. The situation for WP7 looks hopeless and pathetic. Unless of course there’s about to be another big patent spat.

    1. God your an idiot. If MS allowed an app that has GPLd libraries in it THEN by definition of there license the app store would need to allow that app to be sideloaded etc.

      The app store does not allow that and the app maker basically would be violating there licenses. So MS is helping out the app owner to adhere to there license.

      If MS did allow this app in then the owner would be in trouble and may face legal problems from the GPL library owners..

      Theres other issues too that i wont go into BUT i should point out that Appple also face this same rule!!!

      Get over it people

  10. Corrupt or die trying.

    I’m banking on the latter. 2011 restructuring is going to hurt.

    Desktop and Server software fixes and service packs … just how
    are these going to be delivered when the company openly acknowledges that it’s priorities now lie elsewhere.

    Will there be anything left in 2012 or will the app store have a
    ‘closed due to lack of business’ sign outside.

    RIM have acknowledged that android apps are a business addition, a major player need to look at including. That gives RIM a good edge in my book.

  11. Qt is under an Excluded License.

    Qt hasn’t been ported to WP7, but even if someone did, Microsoft will explicitly disallow applications using it. Yes, I know Nokia says they will stick to Microsoft tools on WP7, but this could have been an exit strategy for migrating customers between platforms, just as the original plan for migration from Symbian³ to MeeGo.

  12. Just when you think M$ cant get any more ridiculous! They have the worst possible business model, yet somehow they survive!? wtf?
    they’ll choke themselves to death one of these days. hopefully sooner than later. maybe this’ll be the nail in the coffin, and they’ll drag stupid Nokia down with them…

  13. I think the author and many commenters have overstated the result of Microsoft including the GPLv3 licenses as Excluded Licenses. Many applications, libraries and frameworks that are used to develop applications are licensed pursuant to non-GPLv3 licenses. For example, anything licensed under the GPLv2 family (which is still a good deal of Free Software), Apache, BSD, MIT, or Mozilla licenses should still be outside the scope of Excluded Licenses. GPLv3 was drafted intentionally to disallow FOSS from being included in proprietary app stores, which takes control away from end users. Not saying MS is the most friendly place to FOSS, but this isn’t the full-on attack on Open Source that the author seems to believe.

    1. “GPLv3 was drafted intentionally to disallow FOSS from being included in proprietary app stores…”

      Actually no it was not so stop misrepresenting.

      One of the key differences between GPL3 and GPL2 is the specific steps to deal with cosy little ‘patent pool’ partnering at the exclusion of all others.

      Put simply the GPL3 prevents companies from placing excellent GPL projects under a cosy exclusionary patent agreeement (and going against ‘the spirit’ of the license)

      Microsoft and Novell demonstrated a new tactic in attempting to ‘cherry on top’ existing GPL projects with some patent protection (but only if that code was obtained direct from Novell)

      That is the bit of the newer GPL (GPL3) which microsoft is least at ease with. As a past innovator but nowadays more about IP and patents, a clause that insists on an ‘all for one and one for all’ approach to patents is always going to be meet resistance from a company that preaches ‘IP is everything and here are our lawyers’.

      Notice how since the recent statements on partnership (mwc), that nokia is now making noises again on the ‘Intellectual Property’ front.
      A direct result of mixing with patent aggressors rather than the young innovators in the valley.

      Here is an extract from the time GPL3 was being drafted:
      “…extending that limited patent protection to the whole community…”

      The final three paragraphs of the section “version 3” here can clarify things further for you:
      http://en.wikipedia.org/wiki/GNU_General_Public_License#Version_3

    2. I think you’ll find that the Mozilla license and all other weak copyleft licenses (EPL, CPL, LGPLv2, CDDL etc etc etc) are also unusable, including the MS-PL.

  14. This is a problem with closed platforms.

    I think this shows how much of a visionary RMS is.

    He saw that this could happen, warned us, and did something about it.

  15. The reason it specifically mentions GPL v3 is that GPL v3 (and its derivatives) is a hideous license. This is why OSS developers and teams have been abandoning it in droves, preferring Apache or MIT, both of which are fine with Microsoft.

    You either knew this and chose to post dishonest FUD, in which case please just stop it, or you’re a bit dim, in which case please get a responsible adult to check what you’ve written before you post it. kthxbye.

  16. “So each and all “equivalents” to the GPLv3, LGPLv3, Affero GPLv3 license are excluded. Any license that allows requires redistribution at no charge is excluded.”

    None of the licenses mentioned say anything about charging for the software AFAIK. If I am wrong please direct me to the specific paragraph.

  17. This is why I no longer use Microsoft products whatsoever. I use Fedora/Red Hat/CentOS Linux on all of my servers and PCs, and I refuse to buy an Xbox or any Microsoft products. Microsoft has never been a fan of open source or Linux in particular, and seeing this makes me even happier that I don’t use their garbage. Way to go Microsoft, burn some more bridges while you are at it.

  18. seems that MS is just trying to protect their interests and avoid a similar situation as Android, which has become a lawsuit magnet. If Google can’t withstand those legal challenges, the stability of that ecosystem could be threatened.

    I’m generally an FOSS advocate, but the WP7 platform has impressed me, so I oddly find myself not complaining that they’re protecting its integrity. And, besides, is this requirement for their marketplace of apps really a surprise to anyone? Really?

    1. A disappointment, but not a surprise.

      And I question the legitimacy of your implication that the inclusion of GPL’d Free Software makes a platform more open to lawsuits than the inclusion of exclusion-based copyright programs.

  19. NO.

    Free is a larger set than the GPL licenses. Free includes things like NO license and many other possibilities. This does not mean no free software. It means no license where it is a REQUIREMENT that all derivatives are free or that REQUIRE source code to be distributed.

    1. It means no Free Software can come out of the store. You might put BSD or MIT licensed software, but only as binary-only. That makes it proprietary.

      1. No, it doesn’t. All it means is you have to distribute the source code via your website instead of through the Microsoft AppStore (or whatever they are calling it). Same for Apple’s AppStore and Google’s AppStore.

        1. How it doesn’t? Your website is not the store. It still means that no Free Software will be distributed to users through Microsoft store.

          There is no guarantee that everyone will put BSD licensed source code on their sites, to match proprietary program they put in the store. And even if so, users still have no way to recompile it and side-load it into their phones without interference of dreadful “app store”. So yes, it makes software non-free, no matter how you spin it. On every person that puts BSD licensed code on site, there will be few leeches who will just take it and make proprietary app. It is smartest just to ignore platforms like WP7.

  20. I’m an Open source developer, but I also agree: I’m with Steve Ballmer: GPL is a cancer. If I create something, I should be free to sell it, or give it away. Once I choose to give it away I have no right to tell anyone else what to with work they do, much less force them to both give theirs away and force people who use it to do the same. Software which comes with compulsion is not free, and that includes GPL
    Now GPL now forces people not to distribute the source with the binaries. Microsoft have said they won’t distribute source. You have a choice, you can publish your source in one place and put your app on their marketplace as a binary. But GPL took that choice away from you.

    1. @James: No, you are really wrong. You can always relicense your GPL’ed project, after throwing ayway all commits made by 3rd parties that does not agree with that decision. The best example could be Troltech’s/Nokia’s Qt4, which is licensed under GPL, LGPL and propietiary licenses.

    2. Actually, Microsoft took it away. The GPL is just preserving the source. If you want to produce your own code without using GPL licensed source, you are free to do so. When you use SOMEONE ELSE’S code, don’t bitch about the strings attached.

  21. Good! The GPL is a nasty, evil, viral form of licensing that everyone should avoid.

    The company I work for explicitly excludes any such licenses and I do the same in my private dev work too.

  22. A point nobody here seems to have touched on… is it actually possible for Microsoft to distribute software licensed under the GPLv3 on a platform that uses digital signatures as part of the approval process?

    All Marketplace code is signed, in part during the approval process. Section 6 of the GPLv3 should prevent the distribution of software without the means to run the modified code in place of the original. This would require the disclosure of the signing keys used to approve Market software, and effectively undermine the goals of that system.

    I’ve posted my take on the matter here: http://chris.olstrom.com/opinion/windows-phone-marketplace-and-the-gplv3/ if anyone is interested in taking it apart.

    Have I missed something here, or is there no way Microsoft could have permitted the distribution of GPLv3 code via Marketplace?

  23. @James

    “Once I choose to give it away I have no right to tell anyone else what to with work they do, much less force them to both give theirs away and force people who use it to do the same.”

    Except licensing under the GPL is not “giving away”. You remain the copyright owner, and this will always be your work, therefore you have every right to determine what happens to it. The only way to give software away is to either transfer the copyright, or dedicate it to the Public Domain. If you did that, then yes certainly you’d no longer have any right to tell others what to do with it. But that’s not what the GPL is.

    The only way anyone would be obligated under your license, is if they chose to use your work. That’s their choice, and nobody is forcing them to make it. If they want to benefit from your work, then naturally they should expect to pay, just as with remuneration for any other work. In the case of the GPL, the “cost” is the requirement that all derivative work remains Free (freedom). Frankly, I think that’s a very noble objective, and I fail to see why anyone would criticise it, especially as it’s nobody’s business but the copyright owner’s.

    Like I said, it’s their choice to use your work, and it’s your choice to use the GPL. Don’t make it sound like the GPL is depriving people of something they’re entitled to, or forcing them to do something they don’t want to.

    As for Ballmer’s “cancer” comment, AFAIAC he’s a hypocritical thug, especially since Microsoft has actually published software under the GPL.

Comments are closed.