This same change to the terms may also affect some of our own. For example, the Titanium crew. PhoneGap appears to be safe by the letter of the law, since they link to the iPhone OS WebKit engine. I hope that Apple responds wrt Titanium.

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

Some on the Apple side are arguing that:

Objective-C apps are good. Anything else is crap. When folks try to go meta, they shouldn’t be allowed

And hey, Apple can do whatever they want.

Although I can see how this could in some ways help the Open Web (less Flash, more HTML), I can’t ignore the other feeling. The Web is so special as it isn’t owned by a single vendor. This means that this kind of crap can’t happen. One company can’t change the rules in one fell swoop. There isn’t that one company that can become misaligned with the interests of certain developers and Do Bad Things.

I continue to look forward to what Apple does to help the Web. But I am very glad indeed that the Web itself isn’t run by them, or any one group.

I hope that the Web becomes the unified platform on mobile…. and that folks like Titanium have the opportunity to do their best. Developers should be able to use the languages and tools of their choice, and let the best apps win.

C, C++, Objective-C, or Javascript, hmm. Only 4 choices. Oh well, that’s still 3 more than I have when writing apps to run in a browser and somebody managed to make Quake 3 run that way. I guess it’s fine.

As a developer, I’d like as many options as I can get. Give me Python, Ruby, .Net, Go! whatever. But that’s just a wish list, it’s a not an ethical requirement. When we talk about ‘the open web’ we are not talking about the iPhone OS. We are talking about stuff that runs in browsers. That has nothing to do with any programming language with a C in the name.

Maybe the web isn’t run by one group but it is certainly driven by efforts of big companies who expect to make money out of it. I don’t truly believe Google or Apple are pushing on HTML5 just because they want the web to be open. They actually need an alternative way to do what is done with Flash today to push forward on creating revenue. When it is not on their interest to make things open, they will not. Jobs is a little bit clearer on the matter.

I don’t think the new terms would affect anything on the web side as it seems to only affect native apps. Therefore any framework or library that seeks to output a native iPhone app without following Apple’s rules is likely going to have a problem.
But I’m wondering over the long-term effect this might have. My thought is that development companies won’t like this because it’ll increase their costs. Imagine a client wants a cross-platform app. The development company might be able to code once and output to everything, except the iPhone. To include the iPhone they’ll have to code a separate project with possibly an extra employee or two just for that purpose. Unless we go the other route and make Objective-C output to everything somehow.
The days of such a large number of mobile developers directly targeting one platform, the iPhone, is slipping by. As hardware becomes faster and cheaper there will be more platforms to develop for. There will be a day that a common phone they give away just for signing a contract will be the equivalent of the most powerful smartphone you can buy today. At that point it may not be cost-effective to only target one platform.
Oddly enough, it’s possible that an increase in platforms is what will save Apple from a anti-competitive lawsuit with this behavior. They can correctly claim they do not hold a monopoly and can do what they want. Right now with controlling so much of the market Apple is dangerously close to a lawsuit.

I think Dion’s point is well taken from this post… one company should never have the power to control the open web. the problem is that apple must not think of their precious little app universe as having anything to do with the open web, so they feel free and clear to screw with it however they want. I think they don’t want people to have other choices outside the app store, and I think they’re worried that Adobe’s compiler will enable that.
.
I’ve said 10,000 times that I would *never* and I mean *never* under any circumstances write an application in a vendor locked-in language like Objective-C. The only way I’d do it is with Titanium or PhoneGap. The reason is not so much the language and the philosophy of openness (although that’s important) but cross-platform interoperability. I think it’s harmful to the “open” community if people continue to build so many targetted apps at one mobile platform, because we give them (apple) this kind of control by doing so.
.
I’d probably also *not* feel comfortable doing it with Flash, for the same reason… that I want to be able to target any platform with my code. If Apple is so intent on killing the Flash use case that they’re willing to kill JavaScript based apps like Titanium, then they’ve sealed their fate from my perspective — I will never be on board with that. And I hope and feel a lot of devs are the same way.
.
I sure hope Apple clarifies this position soon and retracts the FUD that’s circulating now. Otherwise, things are going to get ugly really fast.

I don’t get the outrage. It’s their device, their OS, their platform, their rules. Period. Don’t like it? Don’t buy it. Don’t develop for it. Go with Android. Lots of really smart, principled people feel this way and are putting their money and careers where their mouths are. Apple doesn’t owe Adobe a thing.

The iphone will continue to do well despite this, because there are too many developers writing too many iphone apps, and that won’t change. On the other hand, in the wider mobile space, it’s now clear that the iphone is going to have a minority segment of the market, so that means the “convention” of how mobile apps are made will not be objective-c, it will be html5.

Apple doesn’t care how developers feel about this, because most of the users don’t care about such things. If the users stick with the iPhone (which they will, especially if it becomes available on other networks), the developers can choose to deal with this manner of restrictions or develop for another device (likely one with a smaller user base). This isn’t about Apple being a monopoly, it’s just Apple competing with Adobe. Just because a company is capitalistic doesn’t mean they’re monopolistic. Apple is under no obligation to allow development for its device/os with third-party proprietary software.

The reason you don’t get the “outrage” is that you don’t seem to understand that not all of us agree that they own the device, OS and platform that consumers pay money to use. That’s a philosophy built into certain conceptions of intellectual property, but it’s just that: a philosophy. An opposing point of view—that by virtue of paying for the device, the OS and the platform, the end user owns their own device and whatever operates on it—is perfectly valid, it’s just a different philosophy.

It’s simple to say “don’t buy it”, but it’s not as simple to say “don’t develop for it”. There is an ongoing struggle in the tech world, and even within certain players’ domains (such as Apple), between this kind of lockdown versus more open approaches. For those of us for whom OS X is a great compromise—a simple, proprietary UI on top of a fully functional and open Unix—the iPhone OS model is harmful. But it’s also harmful to make business decisions based on philosophy alone. So alternatively, we can use our considerable weight as developers to pressure vendors to choose a philosophy which is less harmful to developers.