[racket] News flash! Racket once again a legal choice for developing iPhone apps!

From: John Clements (clements at brinckerhoff.org)
Date: Mon Sep 13 23:44:19 EDT 2010

From this week's TidBITS, welcome news that the evil section 3.3.1 has been stricken from the developer agreement, and that Apple has lifted the completely insane ban on interpreted code.

**App Development Language Restrictions Lifted** -- Let's look next at
 the changes to the iOS Developer License Agreement. First, a clause
 stating:

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

 has been removed entirely. This clause was added a few months ago to
 prevent the use of cross-compilers such as Adobe's Flash-to-iPhone
 compiler (see "iPhone Developer Agreement Change Bans
 Flash-to-iPhone Compiler," 9 April 2010). The ostensible reason for
 this was to reduce the likelihood of security vulnerabilities and to
 avoid the poor interface quality of cross-platform apps.

...

But why the change, and why now? According to a brief New York Post
 article, Apple's ban of cross-compilers generated antitrust scrutiny
 from the U.S. Federal Trade Commission and from European regulators.
 While all parties have refused to comment, if there is truth to the
 Post's report, Apple's backpedaling would make sense in an antitrust
 context.

**Interpreted Code Allowed in Apps** -- Next, a clause that previously
 restricted apps from installing or launching other executable code
 by any means has been recast. Previously, it banned plug-in
 architectures, calling other frameworks, using other APIs, and
 downloading or using interpreted code other than code that was
 provided or approved by Apple.

 That clause continues to ban the downloading and installation of
 executable code, but explicitly allows interpreted code as long as
 all scripts, code, and interpreters are packaged within the app and
 not downloaded. An exception is carved out for code downloaded and
 run by Apple's built-in WebKit framework.

 Again, this change would seem to be designed to allow developers to
 create and use their own interpreted languages within apps, as long
 as they aren't downloaded, which would open up a gaping security
 hole. And again, along with the technical aspects of the decision,
 it may also make sense in the context of an antitrust investigation.

John


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4669 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20100913/c67a4b47/attachment.p7s>

Posted on the users mailing list.