phpBB people, especially Nils, know that I'm an advocate of the GPL for certain specific reasons. It affords protections to open-source authors so that Apple computer can't come along, usurp some BSD-licensed code, and spit out Mac OS X without sharing-alike.

I was not aware until just now that software located in Apple's iTunes store has its own terms of service which developers agree to when uploading their apps to the store. This amounts to re-licensing the software. Further, at least according to the Free Software Foundation, these additional terms violate the GPL's clause 6, prohibiting restrictions beyond those included within the GPL.

For once ( ;-) ) I agree with the FSF. Clearly, the GPL grants the permission to redistribute code and binaries, and the iOS App Store prohibits same. The iOS App Store agreement also prohibits modification. Regrettably, and per usual, the announcements, both from the plaintiff, RĂ©mi Denis-Courmont, and the FSF made a mess of things in the VLC community because there were, and probably continue to be, a number (a majority, perhaps) of developers who supported the listing in the iTunes store, either in ignorance or in spite of the terms Apple imposed.

The VLC management group apparently was not alarmed by this (see post from my archives On Enforcing the GPL), but Apple did adhere to Denis-Courmont's cease and desist order. VLC was removed from the App Store on Friday.

A lot of things remain unresolved. How many GPL projects are in the App Store? Why is Apple's policy to respond to these only when they receive complaints? (This one is easy -- projects administrators agree to the re-licensing at the time of submission)

And finally, if I were an affected VLC developer, would I side with project management, or with Denis-Courmont?

Josh's Hierarchy of Rights

I group the rights provided by the GPL into categories, and list them in ascending order of priority

Longevity

The GPL imbues the right to continue a project in perpetuity, as long as there are interested developers. This is the right that has made me feel comfortable about MySQL AB's acquisitions over the last few years. (Notably, this right is provided by nearly all of the FOSS licenses, including the BSDs). For me, the second key in this grouping is the right to share and share alike. If someone makes a change, he is compelled to share it under the same terms, creating an environment such as Linux where companies who have historically taken their balls and gone home (e.g. IBM) are playing nicely with companies who compete at some level. There is also the right to fork a completely new project, which can be a very good thing if the fork can take enough interest away from the parent project.

Distribution

The GPL is known as a viral license. If I apply the GPL to a program which I originally wrote, the program will remain under the GPL (unless all copyright holders agree to a change). This is important because it prevents unscrupulous organizations from up-and-changing the license.

Closure

The license may not be amended once it is put in place.

Freedom

The software's end user may use the software for any purpose he desires.

That's really it! The GPL is not a complicated license (although it does have its fuzzy areas).

Where does Apple fit in?

Apple's App Store license prohibits redistribution and decompiling. It also (strangely) appears to prohibit commercial use of apps. Apple therefore violates all four portions of my hierarchy. Virtually all licenses exhibit the "Closure" right, and it is clear that Apple's terms are in violation by adding terms that weren't there previously. Closure does seem like the least important of the individual rights to violate, so I will not discuss it further.

The "Freedom" clause of the license, which bars commercial use, seems like something that a legal clerk forgot to take out. If a trucking company buys a batch of iPhones, and GPS app, plus its associated monthly fees, it should be able to use those iPhones when hauling chickens on I-75. If, in fact, commercial use of apps is prohibited, I think there would be millions of users looking for refunds.

Climbing up to the "Distribution" problem. iOS app store users are permitted to distribute one app to as many as five iOS devices with one purchase. This is relatively generous for a commercial software license (Microsoft Office is two, for example). The GPL, however, allows unlimited redistribution, and not just through a vendor-provided program (i.e. iTunes). Assuming the iOS App Store is not the exclusive distributor of a product, this is not concerning. Anyone wishing to redistribute can simply grab it from another source.

The violation under "Longevity" is similar to "Distribution." Because the right to modify the source code is not expressed in the App Store license, it is prohibited. But again, the App Store is not even the canonical site for such activity, let alone the exclusive site.

Where does Josh go?

To Android, preferably!

I highly doubt that Apple is willing to be flexible with its terms based on the request of a handful of developers who are bound by copyleft. So the solutions are pretty limited for an open-source project with an iOS port.

  • Do not be in the iOS App Store
  • Change licenses
  • Continue lobbying Apple

Any software written for iOS is close to useless if it isn't in Apple's App Store. If the VLC developers think that they can continue their iOS popularity by distribution in third-party app stores (i.e. Cydia), I'm confident they will find out otherwise. They will also find only futility in getting Apple to remove the "5 copies only" rule, one which has been in place since iTunes first debuted.

The question comes down to willingness to use Apple's license or not. Personally, I don't have a problem with dual-licenses, as long as none of the licenses are more permissive than the GPL. Since the Apple license does not permit redistribution, it is not an avenue for a fork or anything of that sort. And, the important point here: without bending to Apple's will, your program will go unnoticed and your work will be essentially wasted. Not my idea of the spirit of open source.

To write it succinctly: Because of the /walled-garden/ nature of the iOS App Store, GPL projects need to take a hard look at allowing their code to be distributed under Apple's proprietary license. If they wish to make a stand against Apple's walls, they should simply not port their code to iOS.

Another excellent, slightly more neutral, look at this situation comes from Tuaw