Coinciding with Apple’s recent developer preview of iPhone OS 4 was a small and controversial change it made to the iPhone Developer Program License Agreement. Under the updated version, section 3.3.1 now reads:
Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
Translation – If you want to develop for the iPhone, it has to be on Apple’s terms and Apple’s terms only. That said, anyone interested in using Adobe’s upcoming Flash to iPhone compiler as part of the soon to be released CS5 suite is plum out of luck. And oh yeah, any apps developed via C# to iPhone and .NET to iPhone compilers are similarly prohibited.
This move by Apple has naturally sparked a lot of outrage amongst developers, but John Gruber of Daring Fireball lays out an argument explaining Apple’s rationale.
So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage. If, say, a mobile Flash software platform — which encompassed multiple lower-level platforms, running on iPhone, Android, Windows Phone 7, and BlackBerry — were established, that app market would not give people a reason to prefer the iPhone.
And, obviously, such a meta-platform would be out of Apple’s control. Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.
Sun, Apr 11, 2010
News