I sent my first iPhone application off to Apple for approval this weekend, an iPhone version of a simple old DOS game. Since the UNIX version of robotfindskitten was licensed under the GPL (version 2) I kept the iPhone version under the same license. Clause 2 of the GPL states that source code must be made available under one of three methods, I went with method “B” which states:
“Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,”
To satisfy this requirement I’m including the URL to the source code on the application information page and in the start up screen of the application. This goes much further than most GPL software. Some software (screen for instance) tells you the software is licensed under the GPL but does not provide the location to find the source code. GNU’s version of grep doesn’t even tell you what the license is when you run it, even if you show the help page. The man page also doesn’t list the license.
Upon completion of the initial release of robotfindskitten for the iPhone I started to think about other software I could port to the iPhone and quickly remembered Oxyd, a marble-based puzzle game I used to play as a kid. I remembered that there was an open-source licensed version of the game. When I start projects I generally send an email to the developers’ mailing list, asking if anyone is already working on it or would like to participate. The response I got was nothing short of disturbing (well, to me).
A few developers noted that I would not able able to port the game to because Apple’s iPhone because of restrictions in the Apple contract that were incompatible with the GPL. I shall now switch to point, counter-point mode:
#1 (The biggie): Apple’s developer contract states that developers are not allowed to release the source code.
This is simply not true. I’ve read, reread, and re-reread the Apple developer contract and there is not a single mention of source code. This might have been true before Apple changed the contract in late 2008. There’s many applications available for the iPhone (through Apple’s App Store) that are open source. Colloquy Mobile (http://colloquy.mobi/) is licensed under the BSD, Wordpress for iPhone (http://iphone.wordpress.org/) is licensed under the GPL are just a few.
#2: Apple becomes the owner of your IP, code and associated resources when you submit an Application.
Are you kidding? Do you think that software development houses would allow this? The Apple contract states this is not true and that Apple does not own any part of your code. They simply provide a distribution network, payment and billing system and possibly a marketing outlet for applications. Think about this, would Apple want to be responsible for every bug in an Application?
There are quite a few articles on the interwebs about the GPL and its incompatibility with Apple’s iPhone processes and contracts. You might notice that most of them were written last year, before Apple changed some of the policies around the iPhone development process. I can’t find the actual text of the old contracts and all the articles on the FSF’s website don’t actually quote or cite any Apple text.
The Free Software Foundation could use the iPhone as a great tool to get some exposure but instead they choose to have a tantrum about issues that are simply not true. There are many reasons to dislike the iPhone and the process behind it and a new issue seems to appear every week. Regardless, spreading FUD is exactly the kind of tactics the FSF denounces when companies like Microsoft point their fingers at open source.




