FOSS and AppStore

As more and more software distribution are going through so-called App Stores, the question about the compatibility of their terms and conditions with the open source licenses, notably the GPL, often arise.

Personally I don't like those, but I can understand why they are popular and will continue to be popular.

So far, the Android store is open source friendly, and Apple one is not yet open source friendly.

But there is a new one in town, so I will look at the new Windows Store, that will ship WinRT Metro and Windows Phone 8 applications.

I will look at the 3 main liberties (copy, modify, redistribute) and the unrestricted usage liberty.

Legal analysis

Part 1: Store terms of use for users

The referent document can be found here.

The first reaction that those terms of use are way better than the ones from the competition. I don't really like Windows 8 but this is very well executed.

In section named What are my rights for apps I get from the Windows Store?

All apps made available through the Windows Store are licensed, not sold, to you.

This is quite normal for software.

In most cases, that license includes the right to install and use your app on up to five Windows 8 enabled devices simultaneously. If you try to install an app on more than five devices, it may be deactivated automatically from one of these devices, so that no more than five instances are activated at any one time.

5 device limitation, for most cases. This needs clarification for what other cases are. (see the bottom of this mail)

In limited circumstances, such as when a publisher designates the app as eligible for use on only a certain type of device, apps might not install on other types of devices.

Publishers can be assholes or have not ported to ARM or whatever stupidity we add later on, on our devices.

We provide the name of the app provider licensing each app, which may be Microsoft or a third-party app provider."

Microsoft will always tell you the name of who actually licenses the application.

All apps are licensed to you under the Standard App License Terms at the end of these Terms of Use, unless the provider of an app provides you with access to separate terms or agreements in the app listing page, in which case those terms will apply.

Either there is a correct license, or we force our broken terms.

Those terms might also include a privacy policy. The app publisher is the seller and licensor of the app.

Microsoft is not the seller or licensor, they act as a store.

When a third party is the app provider, Microsoft is an agent of the third party that provides the app to you, but we aren’t a party to the license between you and the app provider, and our privacy statement doesn’t apply to treatment of information you might exchange with the app provider when using the app. In such cases, Microsoft isn’t responsible for the app or its content, your use of the app, any warranties or claims relating to the app, or customer support for the app.

Microsoft is not responsible for 3rd party apps, and does not apply neither its terms of conditions nor privacy policy, if there is a license.

But your relationship with Microsoft and your use of the Windows Store will still be governed by Software License Terms for your Windows operating system and these Terms of Use. Because Microsoft processes the app purchase or, in some cases, the in-app purchase transaction as the agent of the seller, you might see Microsoft listed as the seller on sales records.

But even if it is the case, the Microsoft Store software and Microsoft software are govern by Microsoft SLT.

The rest of the terms is not about apps, and then there is their SLT which is clearly not open source, because of the section 3 that forbids the 3 main liberties.

Part 2: Application Developer Agreement

The referent document can be found here.

The important part is named: 3) g. License to Customer for Windows Store apps.

You, not Microsoft, will license the right to install and use each app to customers. You may provide a license agreement to the customer for your app.

Same as above, restated as a developer point of view.

That license agreement or other terms that govern a customer’s use of your app (including any privacy policy), or a link to them, must be delivered to Microsoft for publication via the product description materials you provide to Microsoft.

You must share the license to MS,

If you do not provide such materials, then the Standard Application License Terms, attached as Exhibit A, will apply between you and customers of your app.

or the SLT will apply, automatically.

If you provide your own license agreement, your license must, at a minimum,

Your license must allow, at minimum (so more can be allowed):

(a) permit the customer to download and run the app on up to five Windows 8 enabled devices that are associated with that customer’s Microsoft account, without payment of any additional fees to you (from either Microsoft or customer),

At least 5 devices.

(b) include "disclaimer of warranty" and "limitation on and exclusion of remedies and damages" sections that are at least as protective as Exhibit A

10. DISCLAIMER OF WARRANTY. TO THE FULLEST EXTENT PERMITTED BY LAW, (A) THE APPLICATION IS LICENSED "AS-IS," "WITH ALL FAULTS," AND "AS AVAILABLE" AND YOU BEAR ALL RISK OF USING IT; (B) THE APPLICATION DEVELOPER, ON BEHALF OF ITSELF, MICROSOFT (IF MICROSOFT IS NOT THE APPLICATION DEVELOPER), AND EACH OF OUR RESPECTIVE AFFILIATES, VENDORS, AGENTS AND SUPPLIERS, GIVES NO EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS IN RELATION TO THE APPLICATION; (C) YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS UNDER YOUR LOCAL LAWS THAT THIS AGREEMENT CANNOT CHANGE. APPLICATION DEVELOPER AND MICROSOFT EXCLUDE ANY IMPLIED WARRANTIES OR CONDITIONS, INCLUDING THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.

Usual "NO WARRANTY" section.

(c) disclaim any support services from Microsoft and the customer’s device manufacturer and network operator (if applicable).

Be clear on support services and who is in charge of the support.

Your license terms must also not conflict with the Standard Application License Terms, in any way, except if you include FOSS, your license terms may conflict with the limitations set forth in Section 3 of those Terms, but only to the extent required by the FOSS that you use. "FOSS" means any software licensed under an Open Source Initiative Approved License.

Your license should be compatible with the SLT, except if you include FOSS, in which case you can violate the part of the SLT that disallow reverse engineering, decompile.

Here is the part of the SLT that you can explicitly violate:

work around any technical limitations in the application;

reverse engineer, decompile or disassemble the application, except and only to the extent that applicable law expressly permits, despite this limitation;

make more copies of the application than specified in this agreement or allowed by applicable law, despite this limitation;

publish or otherwise make the application available for others to copy; or rent, lease or lend the application.

Technically

Technically, a contrario from what Microsoft is trying to explain people, WinRT applications are Win32 applications, that have artificial limitations imposed by the Windows Store submission process.

They are usually linked to MSVCR110 for standard calls, which is a major component of the operating system on which the executable runs. Those applications don't ship anything else than the usual executables and a few .xml crap.

tl;dr: Summary

Your usages are not limited; except you cannot use the application on more than 5 devices, unless the license clearly says you can use it on more devices. That might need an extra clarification, to check if you can have unlimited devices.

You can reverse engineer, decompile, disassemble the application, make more copies of the application, publish, distribute, rent, lease or lend, as long as you are FOSS.

Therefore, I think it is quite safe, now, to publish a FOSS application on the Windows Store.