Apple tweaks iOS developer agreement to allow use of interpreted code

Apple has made a small but very significant change to the iOS Developer Program License Agreement. The change is in the oft-controversial section 3.3.2 which, before the change, states:

No interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s).

Apple’s revised language:

Unless otherwise approved by Apple in writing, no interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s). Notwithstanding the foregoing, with Apple’s prior written consent, an Application may use embedded interpreted code in a limited way if such use is solely for providing minor features or functionality that are consistent with the intended and advertised purpose of the Application.

Matt Drance wites for Apple Outsider, “While explicit approval from Apple is still required, these new terms seem to acknowledge that there’s a difference between an app that happens to have non-compiled code, and a meta-platform. It’s a step that should allow for many new possibilities.”

Full article here.

[Thanks to MacDailyNews Reader “James W.,” “Lava_Head_UK,” and “Robert S.” for the heads up.]

15 Comments

  1. Apple script – Preparing to take apps all the way into full Mac desktop? There’s an app for integrating those little apps? Embed SQL or ORM langs for enterprise DBMS integration?

  2. This is Apple’s strength. Tightly controling the end user experience. This is in stark contrast to the “experience” of using a wild west type device (Windows, Android, etc.).

    Steve Jobs said that users count on Apple to make these decisions for them (I think it was in reference to App Store approvals, but applies here). Until they start making stupid decsions that affect my user experience, I’ll keep coming back to Apple for my devices. I don’t forsee that happening, though, any time soon.

  3. In English:
    What this is all really about: allowing game engines to be used by those types of Apps, while still keeping out app-development “meta-platforms”.

  4. It means that Apple reserves the right to decide, on a case-by-case basis, whether to allow a non-standard application into the app store, if it employs a small amount of non-native code which is interpreted at runtime, rather than native compiled code that directly calls Apple library functions. This precludes the use of applications which are entirely comprised of interpreted code.

  5. i think what this means is that apps compiled using adobe’s flash to iphone converter are all summarily rejected.

    http://labs.adobe.com/technologies/packagerforiphone/

    quote, “Adobe® Flash® Professional CS5 software ships with Adobe AIR® Packager for iPhone and offers the technical capability to have ActionScript 3 projects run as native applications for the iPhone 3.0 OS. As a result of Apple’s updated legal terms (section 3.3.1 of the Apple iPhone SDK License Agreement), Apple is no longer permitting these applications to be delivered to iPhone, iPad and iPod touch users through the Apple App Store. This a legal restriction imposed by Apple and is not a technical limitation of Adobe AIR or Adobe Flash Professional CS5.

    At this time, we have ceased further development of the Packager for iPhone, and we plan to keep this completed work in CS5 to demonstrate the capabilities of the Flash Platform to support multiple platforms and devices. We have already started the pre-release of AIR for Android and will shift our investment there and to other technologies, in addition to the work we have already been doing on Flash Player 10.1 for Android. We believe Android will enable a series of very competitive devices in the market and are working closely with Google and other Open Screen Project (OSP) partners on this.”

  6. It’s hard to take a platform seriously that fails to allow more modern interpreted languages (eg. python, ruby) then objective-c. While obj-c is probably the language that c++ could and should have been, it is still compiled, which is okay for a unitary platform. But if you’re developing with other platforms in mind, in addition to iOS or OSX, then obj-c is not even close in productivity terms as some interpreted languages. It also makes porting code over significantly easier if apple stops being utter control freaks (I agree with their approach within reason- like killing the scourge on humanity that is flash). It looks like somebody there realized that too much of a good thing becomes seen as evil and a bad thing, which tarnishes apple’s squeaky image. And after all, it all about perception nowadays isn’t it? And the herd truly is a fickle beast.

Reader Feedback

This site uses Akismet to reduce spam. Learn how your comment data is processed.