- Freedom to use the capabilities of the device for any purpose.
- Freedom to study the workings of the device and modify it.
- Freedom to inform others about the workings of the device, or about how to modify it.
- Freedom to write programs for the device, and to keep those private or to release them to the public.
These are of course derived from Stallman’s statement of the freedoms necessary for software. Apple seems to have gone out of their way to ensure that the iPhone violates every single point. I don’t only mean that their devices and their software are non-free. I mean that it’s not possible to write free software for the iPhone.
Consider the iTunes App Store. Let’s say I’ve written a program using an LGPL’d library like gnuTLS. I’d like to distribute it to others. I have to send it to Apple, who will then distribute it on my behalf. But I have to agree to Apple’s terms of distribution. I also have to meet the LGPL’s terms of distribution. Apple won’t agree to distribute the source to LGPL, so I’m out of luck. I can’t even use non-copylefted software like OpenSSL. In fact, I can’t use any software to which I or Apple don’t own the copyright: I can’t sign the distribution agreement to let Apple copy the software on behalf of others, and Apple won’t agree to a new and different set of terms for every application.
Even if I do write an application without using any libraries, I can’t meaningfully distribute the source. I can give others the Objective-C files and Xcode project, but they can’t install it on their own machines. They need to pay Apple for a key.
Apple has devised a scheme which cripples free software and damages even the open-source process. It recalls the golden age of Mac shareware, when MPW was expensive and source was useless to most users. That era died on the Mac—first to CodeWarrior, then to the Internet. It’s no more appropriate now on the iPhone than on any network terminal.