Search
The Way of the Software Engineer

I recently borrowed an iPod Touch from a friend and co-worker to play with the new 2.0 firmware version and App Store.  There’s a lot of potential with this new platform.  The very attractive device, capable hardware and ridiculous hype associated with iPhone makes it a great platform for developers to get wide exposure for simple applications (just google on iBeer).  The development tools - particularly Interface Builder - are top-notch.  I was looking for blogs and forums that had iPhone development tutorials to get the “tips and tricks” view of these tools, but I came up dry.  I did come across a few articles that have begun to address this lack of useful information.  Basically, the licensing agreement for the SDK is a gag order preventing developers from releaseing their code or writing about the SDK.

When developing an app on a new platform I take one of my existing apps and port it to the platform.  Since I already know the bulk of the code, I can learn the new features of the platform while not balking a the task of a totally new project.  A good number of my apps are open source or use libraries that are protected by various open source licenses.  The GPL is by far the most restrictive, but these licenses all generally require (or at lease encourage) the user to release extensions to these libraries back to the public.  If Apple’s iPhone SDK requires me to be silent, and the OSI license requires me to publish my changes, I’m stuck and can’t produce anything.

The obvious answer is to just use the tools that Apple has offered and build from there.  As great as that sounds, it’s really not going to fly for an open source developer.  If I write an app for the iPhone and list it for free in the App Store, I still can’t release my code.  This is the very core of “Free as in Freedom, not Free as in Beer”.  Developing for the iPhone means Apple has control of my source code.

I know that the jailbroken iPhone community has solved this and boast some rediculous penetration rates in the iPhone market.  This is not a sustainable solution.  Eventually Apple and AT&T will learn to hate each other and we’ll have iPhones on other networks.  I predict this will happen in 4 years.  This will remove the major reason for jailbreaking the iPhone for the average user and jailbroken iPhones will as useless as iPod Linux.

I really like the iPhone and iPod Touch.  Like most Apple hardware, they’re really well designed products.  I’m not sure if this was just an oversight on the part of Apple’s upper management or just an over-zelous general counsel, but until I can have control over my own code I won’t be developing for Apple.

Something to say?

You must be logged in to post a comment.