Plenty ink has already been spilled about the new restrictions in clause 3.3.1 of the new iPhone SDK terms of use. The new wording disallows developers to use third party, cross platform development tools (like Flash CS5) to build their apps, and plenty of folks (like Adobe) are angered by it. Now it seems Steve Jobs has chimed in as well. Developer Greg Slepak reached out to Steve, citing the large outpouring of negativity on the topic, including a post by John Gruber of Daring Fireball, who Greg calls Apple's "biggest fan." Steve apparently responded, citing a newer post by Gruber that explains Apple's theoretical reasoning for locking down the platform like this. Steve called the post "very insightful." When Greg replied, raising some very legitimate defense that highly popular, important apps like Mozilla Firefox are built with cross platform frameworks, Steve Jobs had a slightly less terse response:
We've been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.
On Greg's blog he breaks down some of Gruber's claims and makes a pretty compelling case for third party toolkits -- important examples of which can be found all over the Mac and Windows landscape. We get the feeling his impassioned pleas, and the oft-bandied threat of developer migration, will fall on deaf ears at Apple as always, but at least he helps shape this debate somewhat, which will no doubt rage on for months and years to come. Check out the full conversation between Greg and Steve, including Greg's final response, after the break.

Greg:
Hi Steve,

Lots of people are pissed off at Apple's mandate that applications be "originally written" in C/C++/Objective-C. If you go, for example, to the Hacker News homepage right now:

<http://news.ycombinator.com/>

You'll see that most of the front page stories about this new restriction, with #1 being: "Steve Jobs Has Just Gone Mad" with (currently) 243 upvotes. The top 5 stories are all negative reactions to the TOS, and there are several others below them as well. Not a single positive reaction, even from John Gruber, your biggest fan.

I love your product, but your SDK TOS are growing on it like an invisible cancer.

Sincerely,
Greg
Steve:
We think John Gruber's post is very insightful and not negative:
http://daringfireball.net/2010/04/why_apple_changed_section_331

Steve

Greg:
Sorry. I didn't catch that post, but I finished it just now.

I still think it undermines Apple. You didn't need this clause to get to where you are now with the iPhone's market share, adding it just makes people lose respect for you and run for the hills, as a commenter to that article stated:

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

And that makes Apple evil. At least, it does in the sense that Google uses the term in "don't be evil" – I believe pg translated "evil" as something along the lines of "trying to compete by means other than making the best product and marketing it honestly".

From a developer's point of view, you're limiting creativity itself. Gruber is wrong, there are plenty of [applications] written using cross-platform frameworks that are amazing, that he himself has praised. Mozilla's Firefox just being one of them.

I don't think Apple has much to gain with 3.3.1, quite the opposite actually.

Sincerely,
Greg
Steve:
We've been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.

Greg:
The Mac has only been helped by the fact that Firefox, Ableton Live, and hundreds of other high-quality applications can run on it thanks to the fact that developers have a choice as to what tools they can use on it.

Crappy developers will make crappy apps regardless of how many layers there are, and it doesn't make sense to limit source-to-source conversion tools like Unity3D and others. They're all building apps through the iPhone developer tools in the end so the situation isn't even comparable to the Mac where applications can completely avoid using Apple's frameworks by replacing them with others.

In my opinion, 3.3.1 only serves to make the platform less attractive to legitimate developers, giving them reason to write their software for competing platforms instead.

Thanks for considering this.

Sincerely,
Greg