Apple's App Store for iPhone, iPod, and iPad devices has no shortage of critics, from the delays in application approval to the seemingly arbitrary removal of previously-approved applications. The Free Software Foundation (FSF) recently took on yet another problem with the distribution channel when it contacted Apple to pursue a GPL compliance problem with a GNU-copyrighted game. Apple evidently found it easier to remove the game in question than to alter its App Store policies, but the debate has sparked a discussion about free software on Apple's otherwise closed devices.
The trouble began with a GNU Go for the iPhone game, submitted to the
App Store by Robota Softwarehouse. GNU
Go for the iPhone is a port of the original GNU Go — a program for playing
the game of Go
including an AI opponent — which is an official part of the GNU project. At some unspecified date, the FSF contacted both Robota and Apple to ask them to come into compliance with GNU Go's license, the GPLv2. Robota was violating the license by not providing access to the source code of the game, and Apple was in violation for several reasons, according to FSF License Compliance Engineer Brett Smith. Fearing that, in response, Apple would simply remove the GNU Go game from the store without explanation, the FSF posted a blog entry on May 25 describing its case. That fear was evidently well-founded, as Apple pulled GNU Go for the iPhone on May 26.
Smith followed up the original post with a more detailed explanation on May 27. In it, he says that the particular license violation that FSF brought up with Apple was section 6 of the GPLv2, which states that a redistributor of the licensed program may not impose further restrictions on the recipients to copy, distribute, or modify the program. Apple's App Store terms of service do impose several restrictions, such as limiting usage of the program to five devices approved by Apple.
David "Lefty" Schlesinger criticized the FSF's action in a string of
posts on his personal blog, starting by challenging
whether FSF would engage in similar compliance actions against other mobile
application marketplaces, such as Android's or Windows Mobile's. He
followed that up with a second
post rejecting the idea that Apple would be considered bound by the
terms of the GPL, comparing the App Store to general "file download" sites
such as FileHippo that host binary packages of free software but do not
also host source code. Finally, he asserted in a third
post that Apple could not be held to the terms of the GPL at all, because it would qualify for protection under the
"safe harbor" provisions of the Digital Millennium Copyright Act (DMCA).
Debate over the entire chain of events can be found on every outlet from
Slashdot to Identi.ca, including some lengthy exchanges in the comments on
Schlesinger's blog posts. Examining Schlesinger's arguments, it is
impossible to predict whether FSF would (or has) pursued GPL compliance
action against other application markets, both because the FSF only acts on
GPL violations for which it owns the copyright to infringing code, and
because most compliance actions take
place in private. Smith stated that the FSF only publicized the GNU Go
case to forestall speculation that might result if Apple silently pulled
the application as the FSF predicted it would.
On the second post, it seems quite clear that the GPL does
apply to Apple as well as to FileHippo or any other site that hosts
GPL-licensed code. Apple accepts the code from the developer, then
redistributes it in the App Store; that triggers the license. On the other hand, section 3(c) states that
noncommercial distribution by those who received the program as an
executable can comply with the source code requirement simply by providing
the upstream distributor's source code offer. Whether a zero-cost game in
the App Store qualifies as "noncommercial" is open to interpretation.
download-only site like FileHippo should be in compliance provided that its binaries are unaltered; if the upstream source of the binary did not include a compliant source code offer, it would be the upstream source that is non-compliant.
But there is no similar exception in section 6 that passes the buck upstream. Apple's App Store terms-of-service definitely impose restrictions on the use of GNU Go for the iPhone, and the wording of section 6 is simple: "Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein."
Schlesinger and other commenters seem taken aback by the scope of the definition of "distributor," saying it would be ludicrous to hold Best Buy or other brick-and-mortar stores to the GPL if they sell boxed copies of free software. It is certainly an inclusive definition, but it is not as bad as the hypothetical Best Buy scenario implies; a big-box retail store could reasonably claim
ignorance to the contents of a prepackaged product, which Apple with its
per-app-review process cannot, but, in any case, a retail store is not able to
impose additional restrictions as described under section 6.
As ChillingEffects.org explains in
detail, the "safe harbor" provision of the DMCA applies only to
service providers, defined as "an entity offering
transmission, routing, or providing connections for digital online
communications, between or among points specified by a user, of material of
the user's choosing, without modification to the content of the material as
sent or received" or "a provider of online services or network
access, or the operator of facilities thereof," further limited to
systems that provide "conduit communications", "system caching", "storage
systems", or "information location tools". Considering those definitions,
Apple's App Store simply does not appear to qualify for protection. But even if it did, Smith said, that only limits Apple's liability, it does not excuse them from compliance with the GPL. Apple "would still have to make the same choice about whether to come into compliance with the GPL, or cease distribution altogether."
Spreading the word
The big unanswered question is whether or not the FSF's action does more harm than good in the effort to spread free software. Schlesinger says repeatedly in the comment threads (as do others on other sites) that it does more harm, preventing users of the iPhone from using free software and being exposed to free software ideals. The FSF, for its part, suggests that there is little exposure to free software ideals when the terms-of-service restrict the software to begin with.
In the end, it is probably a judgment call; certainly technical restrictions of the iPhone platform would prevent users from exercising freedom to modify and redistribute GNU Go for the iPhone even if they had the source code in hand. Would they nevertheless learn to appreciate software freedom more?
The other charge made against the FSF in this case is that it singled
out Apple as a public example solely for the sake of publicity. That is
speculative, of course. FSF has targeted Apple for criticism before, as it
has Microsoft, but as Smith explained in the first blog entry, it talked to
Apple in private first — as it has with Robota, who still does not seem to have posted the source code to the problematic game. Even if one does not take FSF at its word (that the public discussion of the case was meant to preempt uninformed speculation), it has had one positive effect: it has gotten the community talking about free software licensing and mobile application distribution, a subject that will only grow in importance in the coming years.
to post comments)