The iPhone OS 4.0 looks awesome. No questioning that, but along with all the new features has come some changes to the terms of use of the SDK.

John Gruber of Daring Fireball made a post in his blog yesterday pointing out that section 3.3.1 of the new iPhone Developer Program License Agreement reads:

3.3.1 — 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).

Suddenly a number of third party iPhone development tools (and the thousands of apps that have been created with them) are in jeopardy. Adobe was planning to include a packager for iPhone in Flash Professional CS5 to let developers publish ActionScript projects as native iPhone apps. Adobe isn’t the only company who’s effort to build a non Objective-C compiler may be sunk by these latest licensing terms.

Novell released MonoTouch last year – a .Net C# compiler that can build native iPhone apps. Despite a relatively steep cost, their community has been growing substantially. There has been no comments from Novell on Apple’s new terms, but it may be difficult for Novell to build a case that a C# compiler doesn’t violate them. C# is not Objective-C, C, C++ or Javascript.

In a similar boat (although perhaps a little less clear) are companies that have developed frameworks to enable app building with html and javascript. Appcelerator’s Titanium SDK and PhoneGap both fall into this category. PhoneGap tweeted yesterday, in response, suggesting that “everyone relax about the new policy. phonegap apps are accepted by apple.”. Around the same time, a blog post from Jeff Haynie, CEO of Appcelerator, was a little more cautious. In his blog post, Jeff says, “since iPhone 4.0 is still in beta, both the APIs and the Terms of Service are covered under NDA, so we cannot speak to specifics or Apple’s intent with its proposed language.” He then mentions that “you have our commitment that we will do everything possible to ensure that Titanium remains the outstanding platform for cross-platrorm application development for years to come.”

A post by raganwald on ycombinator nails the WTF on this… “Apple really wants to prevent people releasing multi-platform compilers. Adobe’s Flash compiler is a classic maneuver to ‘commoditize your complements”… Adobe want to lock developers into Flash and commoditize everything else as Flash-delivery devices. Apple want to commoditize applications and lock developers to their API’s.”

Although it is still relatively unclear what this all means to iPhone developers trying to scrape out a measly living with the platform, it is concerning. My suggestion is simple – if you’re now just looking at development with the iPhone/iPad, don’t rely on a third party framework. Learn Objective-C and you can still throw up a Safari UIWebView and build 90% of your app in Javascript and HTML.

http://www.tabletbucks.com/wp-content/plugins/sociofluid/images/digg_48.png http://www.tabletbucks.com/wp-content/plugins/sociofluid/images/reddit_48.png http://www.tabletbucks.com/wp-content/plugins/sociofluid/images/stumbleupon_48.png http://www.tabletbucks.com/wp-content/plugins/sociofluid/images/delicious_48.png http://www.tabletbucks.com/wp-content/plugins/sociofluid/images/technorati_48.png http://www.tabletbucks.com/wp-content/plugins/sociofluid/images/facebook_48.png http://www.tabletbucks.com/wp-content/plugins/sociofluid/images/yahoobuzz_48.png http://www.tabletbucks.com/wp-content/plugins/sociofluid/images/mixx_48.png http://www.tabletbucks.com/wp-content/plugins/sociofluid/images/twitter_48.png

Leave a Reply

Search
Artisteer - Web Design Generator
LinkShare_125x125ButtonV1
Links: