Apple Bans Some iPhone Development Tools

Developers are struggling to understand whether anything other than Apple's development tools will be allowed.

Thomas Claburn, Editor at Large, Enterprise Mobility

April 9, 2010

5 Min Read

In conjunction with the release of a beta version of its forthcoming iPhone 4.0 SDK on Thursday, Apple dropped a bombshell: It revised its iPhone Developer Program License Agreement in a way that appears to ban most third-party development tools.

The salient sentence in the changed portion of the License Agreement, Section 3.3.1, reads as follows:

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

What these words mean, specifically Apple's interpretation of the language and the steps the company will take to enforce its interpretation, remains open to question. As written, Apple appears to deny programmers the right to write code for its iPhone, iPod touch, and iPad in any language other than Objective-C, C, C++, or JavaScript.

It could be argued that "applications" are not the same as "source code," which would mean that Apple is only concerned with compiled code. But Mark Methenitis, an attorney with The Vernon Law Group, said in an e-mail, "[The phrase 'originally written'] makes it problematic for any software that allows the code to be written in another language before moving to the iPhone platform. To me, originally written means before compilation."

Apple did not respond to repeated requests for further information.

The new agreement has incensed some developers, specifically those who rely on third-party development tools. Complaints about the contractual language have prompted Apple to lock discussion threads on its developer forums and to direct developers to communicate with the company through its developer contact page.

Frustrated developers, denied any official clarification, have again taken to protesting by way of bug reports. "Current SDK terms reduce desirability of iPhone OS as development platform," is the title of one recent bug report posted on Open Radar, a site set up to create a public repository of bug reports submitted to Apple -- something the company does not make public. The developer calls the terms "unprecedented" and "overreaching" and asks that they be changed.

Another post, titled "Clause 3.3.1 of the SDK terms should be removed," expresses similar sentiment.

"The change seems pretty clear that Apple is trying to much more dramatically limit the mechanics of development," said Methenitis. "Read literally, I think Titanium, Unity3D, etc. are probably out of bounds and Adobe CS5 certainly is."

Other tools called into question are Ansca Mobile's Corona, Rhomobile's Rhodes, PhoneGap, and MonoTouch.

Adobe appears to be the main target of Apple's ban. Its Creative Suite 5, due to be released shortly, includes with some versions a program called Packager for iPhone, which converts Flash files into iPhone binaries.

Adobe, however, is putting on a brave face. "We are aware of the new SDK language and are looking into it," the company said in a statement. "We continue to develop our Packager for iPhone OS technology, which we plan to debut in Flash CS5."

The company's 10-Q filing with the SEC on Friday takes a less optimistic approach. "[T]o the extent new releases of operating systems or other third-party products, platforms or devices, such as the Apple iPhone or iPad, make it more difficult for our products to perform, and our customers are persuaded to use alternative technologies, our business could be harmed," the company warns.

Other makers of third-party tools have also reassured users of their products.

David Helgason, CEO of Unity Technologies, maker of Unity3D, said in an e-mailed statement, "We have no indication from Apple that things are going to change. We have a great relationship with Apple and will do everything we can to comply with Apple's TOS (also, these are 'beta TOS,' and these easily get changed) so that we can provide uninterrupted service to our more than 120K users."

Walter Luh, CTO of Ansca Mobile offered similar reassurance to Corona developers. "It is true that when you develop your app, you're initially developing in Lua. But when you click 'Build,' you are getting a real bonafide XCode-produced executable binary," he explained in a blog post. "Obviously, I'm leaving some details out (that's our secret sauce) but ultimately your binary is produced by compiling a combination of Objective-C and C++ code. We use XCode to compile and link these binaries to official iPhone Documented API's. It's why we have always required you to install Apple's iPhone SDK."

Luh also stresses that Ansca Mobile remains committed to complying with Apple's requirements.

Jeff Haynie, CEO of Appcelerator, which makes Titanium, offered a more cautious statement. In a blog post he said, "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. However, these terms are subject to clarification and change by Apple up through its official launch, which looks to be mid-summer."

Adam Blum, CEO of Rhomobile, tried to allay concerns about the new contractual language in a post to a Google Groups forum. "It seems to me directed at the Flash cross-compiler," he said. "The language literally interpreted would ban all use of third party libraries (framework or otherwise) which are quite widespread on the App Store."

Whether Apple plans to take action against its developers remains to be seen. The company may simply be trying to encourage the use of XCode and Objective-C, without any intention of challenging users of other tools. Another possibility is that Apple, having made its platform successful, wishes to move further toward the closed development model of game console makers, one that would exclude hobbyist developers and makers of low-value, cookie-cutter apps. Most of those commenting on the issue seem to believe that Adobe has the most to worry about.

But clarity on this issue is likely to remain elusive until the iPhone 4.0 SDK leaves beta in a few months.

About the Author(s)

Thomas Claburn

Editor at Large, Enterprise Mobility

Thomas Claburn has been writing about business and technology since 1996, for publications such as New Architect, PC Computing, InformationWeek, Salon, Wired, and Ziff Davis Smart Business. Before that, he worked in film and television, having earned a not particularly useful master's degree in film production. He wrote the original treatment for 3DO's Killing Time, a short story that appeared in On Spec, and the screenplay for an independent film called The Hanged Man, which he would later direct. He's the author of a science fiction novel, Reflecting Fires, and a sadly neglected blog, Lot 49. His iPhone game, Blocfall, is available through the iTunes App Store. His wife is a talented jazz singer; he does not sing, which is for the best.

Keep up with the latest cybersecurity threats, newly discovered vulnerabilities, data breach information, and emerging trends. Delivered daily or weekly right to your email inbox.

You May Also Like

More Insights