The GPL and the iOS App Store

Many things have been written aboutApple pulling VLC from the iOS App Store. Some puts the blame on people who are religious about the GPL, but personally I agree more with the view that any GPL and LGPL software is intrinsically incompatible with the iOS and its App Store terms.

The GNU Public License was invented as a way to make sure that all users has the right to redistribute and modify the software they have. In the license preamble (version 2.0), you can read:

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

The problem introduced with the App Store is that only Apple can distribute an application that works. Even if you get the source code to modify the application, Apple charges $100 per year just to run the modified piece of software on your own device. This clearly violates the spirit of the GPL, which says you should be able to modify, use, and redistribute the modified version of the software you receive at no charge.

Given that Apple is the one copying the software when distributing it to users through the App Store, Apple is the one who should make sure it gives that right to users. The problem is of course that they don’t want to give users the right to run any software they haven’t approved (unless they pay the yearly fee for the developer or the enterprise program).

Now, many people say this is hurting users. That is true to a certain extent as this makes it impossible to publish GPL software software on iOS, unless that software can be relicensed (which is only possible when all contributors agree to do so). The end result is that iOS users are left with less software choice.

But that’s only less software choice on iOS, and only as long as the platform prevents users from exercising the basic rights the GPL is meant to protect. Less restrictive platforms are given an advantage here — they can use GPL software — and helping the less restrictive platform win fulfils the long term goals of the GPL: more freedom to modify and redistribute the software you have.

Finally, anything I’ve said here probably apply to the LGPL too. The LGPL is basically the GPL with the exception that you can put some closed code on top of it. Any one distributing LGPL software as part of an application has not only the obligation to offer the source code for the LGPL components, but also give the right to modify and use those components.

So if Apple distributes in the App Store something that falls under the terms of the GPL or LGPL, it has the obligation to give you the right to use, modify, and redistribute the software. The problem is that it doesn’t want to. The result is that Apple can’t distribute it.

At least that’s how I’m seeing thing. I’m not a layer and I’ll let lawyers debate about whether Apple’s actions actually violates the legal terms of the GPL (and not just its intent), but since Apple finally pulled VLC I think it’s likely that the terms are backing the intent correctly. I can only assume there will be more complains and more applications pulled now that a precedent has been set.


Comments

Grzegorz Adam Hankiewicz

I was surprised to see Hedge Wars on the MAS, since it is a GPL program (http://www.hedgewars.org/). I understand that it can be on the MAS as long as all its contributors consider it is OK, or just relicense the program and resources under a license compatible with MAS (like BSD). However, I believe that by producing the binary for the MAS (or the iPhone app, store should there be a version of the game for it), they are defeating the purpose of creating the GPL program in first place.

So, if GPL is anti-whatever-store, why force software written with it into that store? My idea is that it means the people who picked the license didn’t really think too much about it, or didn’t consider the true freedom it is meant to preserve.

Finally, as you say, if a user wasn’t happy with GPL software on the store, Apple can only remove it, there’s no other way to comply with it.

Michel Fortin

Grzegorz, it’s not if a user is not happy with GPL software, it’s if one of the contributors is not happy with it being in the store. It has to be the copyright holder who makes the complain for it to be valid.

That said, the other thing a contributor could do is ask the developer submitting the app to the App Store to pay him for a custom license over his contribution. But it takes only one complain from one contributor to make everything fall apart.

I’m quite happy that I removed all dependencies on SDL in my port of Tumiki Fighters.

Grzegorz Adam Hankiewicz

Sorry I didn’t explain properly. By “a user wasn’t happy with GPL software” I meant that GPL software guarantees users to get the same freedoms the developers had, the key here is that all the people involved have the same rights.

So if I get GPL software on a device, and I get the source code from the developer’s website, but I cannot compile it myself on the device and redistribute it to more people on the device, because then I have to pay X dollars to megacorp, which can reject it on whatever arbitrary grounds it wants to, I understand the GPL has been broken. I am effectively loosing a right the GPL was meant to preserve.

By who? It doesn’t matter, as a customer I could complain to Apple (in this case the entity distributing the software) that I’m being sold something false, and the only way for them to comply then is to either allow me to redistribute freely, or stop redistribution of the original product, right?

If GPL infraction complaints are only valid by the copyright holders, isn’t the GPL useless? Just what happens if the author of a GPL software passes away? You can take his work and do whatever you want with it because others can’t complain?

The VLC case here is certainly about the contributors complaining. Naive_grzegorz: still I don’t understand why end users couldn’t complain about their other rights. Devil_grzegorz: of course because they would be shooting themselves in the foot forcing the removal of the product they found useful in the first place.

In any case, GPL-like licenses and controlled distribution environments are opposing forces, impossible to conciliate until you make the rules of the “controlled distribution environment” match the freedoms required by the GPL. I don’t understand why people keep putting GPL software on the app stores, it’s just a bag of hurt.

Michel Fortin

Only a copyright holder has legal ground to sue. What generally happens in case of a violation is that a user who would like to use the freedom of the license notifies the copyright holder(s) who become aware of the violation and can take action. In the case of a project with many contributors, each contributor is the copyright holder of his contribution and has ground to sue for copyright infringement.

Some projects (GCC for instance) require copyright to be reassigned to another entity who becomes the one responsible of enforcing the license. Otherwise, if the copyright holder dies, then any copyright he has is passed to his heirs. As the copyright holder, they can enforce the GPL.