Last month, representatives of the Free Software Foundation sat down with Apple to discuss how software licensed under the Gnu GPL (General Public License) could be appropriately distributed via Apple's iPhone App Store. The talks didn't go well. In a nutshell, it's no go: The App Store is completely incompatible with the GPL and Free Software. That's bad news for developers, customers, and the mobile software market at large.
The software in question was Gnu Go, a Free Software implementation of the ancient Chinese board game. Go itself is centuries old, and as such, game play is not subject to any patents or trademarks. There's really no reason why Gnu Go couldn't be distributed to anyone who wanted to play -- except, of course, that Apple wants complete control over how software is distributed on the App Store and to iPhones in general.
The App Store license agreement stipulates a number of restrictions on what customers can do with software downloaded from the store. For example, customers are only allowed to store copies of apps on five devices at one time. That flies in the face of the GPL, which grants customers unlimited freedom to redistribute the software as they see fit.
In addition, the GPL stipulates that no one who distributes GPL-licensed software may offer it under a different license or change the terms of the license arbitrarily. That right rests solely with the author of the software. Therefore, by adding more restrictions other than those specified by the GPL, the App Store license agreement violates the GPL when it is applied to GPL-licensed software.
To its credit, Apple wasted no time in acknowledging the problem. Unfortunately, its solution was to remove Gnu Go from the App Store and to ban any future GPL-licensed apps. And given Apple's penchant for intractability when it comes to the App Store, further discussion seems unlikely.
What are smartphone vendors afraid of?
Free Software has made important inroads into the smartphone market. At least three modern smartphone operating systems -- Google's Android, Palm's WebOS, and Nokia's Maemo (now being reworked with Intel as MeeGo) -- are based on the Linux kernel. But while the kernel itself is GPL-licensed, in each of these cases the majority of the platform is licensed under different, more business-friendly terms, using a variety of alternate open source licenses.