Sure I've had my moments of App Store frustration, but all in all, I haven't been as offended by it as a lot of folks. I think that's because I felt that Apple was giving me something that I couldn't easily find elsewhere (single point of distribution that everyone knows about, very few taps for users to install my apps, the ability to easily charge for apps), so I was okay if they were a little particular about the terms.<p>But this is different. Apple telling us programmers not to write source to source compilers, is telling us to ignore a totally fundamental technique in computer science. They're telling us not to be too clever, which us programmers don't take kindly to.
Legally, Apple can do pretty much what it likes on its own platform and there is nothing anybody can do about it except accept their restrictions or decline to deal with them and hope for the best with commercially viable alternatives.<p>Someday, though, as Apple's strategy continues to unfold, and as it continues to tighten restrictions on others' ability to develop for each device, to use its dominance of one device (e.g., iPhone) to leverage market share in others (e.g., iPad), and to exert significant control over a range of devices that are nominally independent but actually inter-connected, the idea of "platform" will blur and Apple will likely have to own up to the antitrust police, just as Microsoft did with respect to the desktop OS market.<p>I am not an antitrust lawyer and the above may in fact be naive. Instinctively, though, the apparent arrogance behind Apple's methods of throwing sharp elbows toward competitors has all the feel of what Microsoft did in the 1990s as it used its desktop OS leverage to favor MS Office/Internet Explorer, etc. and to harm independent software vendors trying to market their apps for the PC market. Ditto for IBM before that. And, while we are at it, though no two people could possibly be so different in so many ways, it would appear that Steve Jobs has drawn his competitive (or anti-competitive) inspiration right from John D. Rockefeller, who was a control freak over his markets and who often used such control in even ruthless ways to stifle competition.<p>We are nowhere near the stage where Apple can seriously be declared a monopolist in any relevant market but Apple certainly seems bent on pushing the limit as it goes along its path on its quest for hegemony.
I was always critical of Apple's closed ecosystem but nobody saw this coming. In a sense, they're not even leaving room for doubt that they are not to be trusted.<p>What's worse, essentially developers are now told that they have to put up or shut up, since Apple has the apps market cornered, and their app store full of apps.<p>Developers take heed. Every time you write an application for Steve's app store, it's just one more weapon that steve can and will use against you and every other developer when he decides he has a reason.<p>Nobody saw this one coming, and I shudder to think what's next.<p>One more thing: what about apps that have been already written with some translation tool? Do the developers have to rewrite in Obj-C or abandon altogether? How is this in the interest of the users exactly?
Summary:<p><i>If you need to "originally" write your code in Swahili, while listening to Milli Vanilli, while reclining in a patch of mud, and then you need fifty oompa loompas to translate the Swahili into C, that is none of Steve Jobs f#ck^ng business.</i>
While this sucks for iPhone developers who want to branch out / use other languages (clojure, etc), it might persuade these developers to move over to the Android platform. Especially given the several Android tablets forthcoming...
<i>The key is where they say "Applications must be originally written in Objective-C, C, C++."</i><p><i>Take a pause and think about what that "originally" really means.</i><p><i>Developers are not free to use any tools to help them. If there is some tool that converts some Pascal or, Ruby, or Java into Objective-C it is out of bounds, because then the code is not "originally" written in C.</i><p>Yes it is "originally" written in C - when the Objective-C compiler first sees it. There's nothing in the quoted clause from the Apple T&Cs that says "written == written by a human".<p>I really don't think this clause is aimed at code converters, but rather at e.g. run-times that execute byte code - see also "(e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited)". You don't link to an API until either compile- or run-time. Making an API call from a piece of code that is then converted into C is not 'linking to APIs through an intermediary layer'.<p>OK, it still sucks, but it seems to me that both this article and the other similar one on here at the moment ("Apple takes stance on consciousness", <a href="http://news.ycombinator.com/item?id=1252438" rel="nofollow">http://news.ycombinator.com/item?id=1252438</a>) are based largely on a misinterpretation of the use of the word 'originally'.
So Frameworks like Unity for game development are basically dead, making it so that indie developers who don't have the money/ability to write their entire engines from scratch are nearly banished and putting only the AAA title makers in the running. Great...
This is another gem: “10.4 Press Releases and Other Publicity. You may not issue any press releases or make any other public statements regarding this Agreement, its terms and conditions, or the relationship of the parties without Apple’s express prior written approval, which may be withheld at Apple’s discretion.”
You know, it just occurred to me that if Apple specifies the tools that may be used to develop applications for the iPhone, then all iPhone developers may legally be their employees for tax purposes....
I've had a couple of close friends and relatives have health issues that almost killed them. Afterwords their personality changed. They became much more negative and harder to be around. The things I have read about Jobs is that he is a health nut. To have the problems he has had might have been a big emotional blow for him.<p>Since he has come back, things have gotten much worse for partner relations and there is almost a continual barrage of news about Apple jerking someone around. I really think they could do better with a new CEO.
I really doubt that this particular rule is aimed at the masses. Steve Jobs could care less about things like PhoneGap and random IDEs.<p>In my opinion this is a strategic method to create optionality in case it needs to go into outright war against Adobe.
No, Steve Jobs is not insane, this interpretation of the new rule is insane. Apple is merely (!) trying to control what tools people use to create software on their platform. I can understand why they want to do this, just as I can understand why I might, or might not want to comply. The legal terms used are to give Apple the tools it needs to get compliance. The only real issue is: do you want to develop for this platform or not. (I probably am, but mostly on the webkit/webapp side of things, which, so far, is still completely open.)<p>There are possibly some anti-competitive issues here, and if Adobe has any chance of getting around this rule, that's the way they will probably go. Good luck to them, but I'm not holding my breath.
Enough!<p>If you don't like Apple's terms of service, DONT USE APPLE, and DON'T DEVELOP SOFTWARE FOR APPLE'S PRODUCTS.<p>It's not unfair. Whether or not he's insane is irrelevant. Stop bitching and solve the problem.<p>EDIT: downvote me for having an opinion? come on, HN.
Is Jobs taking these actions to prevent the commoditization of his platform? I refer the reader back to the Joel Article reposted a few days ago.<p><a href="http://news.ycombinator.com/item?id=1250958" rel="nofollow">http://news.ycombinator.com/item?id=1250958</a><p>If apps are portable from iphone to droid the phones step closer to being just another commodity portable device.
Actually created an account to write this...<p>What surprises me is not as much Apple's move (though it is truly ridiculous), as some apologists' responses. Talking about how "Adobe's just as bad," or that "it'll reduce crappy software in the store," or that "Apple's within their rights" is really missing the point.<p>The point is that this is totally unnecessary from a technological perspective. It's totally a business move to destroy competitors and pursue a bizarre vendetta against Adobe.<p>I teach in a business school, and am very 'pro competitive edge,' but this is just so short-sighted. Apple's competitive moves seem oriented to reducing anyone who could be a competitor to rubble out of some misguided belief that the iPhone paradigm is theirs, and that they should be able to dictate who makes money off of it.<p>Ultimately, any business adopting this approach dies. It make take 4-8 years for a competitor's product to reach equivalency, but it'll happen. Tech moves so fast that it'll be tough to keep a closed environment (even a good one) on top.<p>Furthermore, (and really to the point) I don't want to do business with any firm that thinks they can dictate if or how much profit I can make, or how I can approach my particular niche of interest. Apple keeps on reducing the way you can build apps; how do I know that my next app isn't going to compete with mobile Pages & get pulled? They're creating a totally closed and controlled platform, and you better hope that you don't run across any of their plans. It's a terrible business environment, and totally destructive.<p>Ridiculous.
It is interesting to revisit this thread based on Alex Payne moderate request for openness - <a href="http://news.ycombinator.com/item?id=1243445" rel="nofollow">http://news.ycombinator.com/item?id=1243445</a><p>Apple progression to restrictive hardline, is going against developers with a generally pragmatic approach.<p>Apple seems to give no quarter when it comes to their inane lock down practices, developers shouldn't give much benefit of the doubt to apple either.
The situation isn't new, what type of company press their employees to not write blogs or have twitter accounts about something they should be proud?<p>This is my main instance against Apple, Apple is partly a soviet style bureaucracy, it's impossible to know right now from whom the good ideas came from, basically people blame or praise Steve Jobs after every show keynote for the work that a team of great anonymous engineers are developing for each new product.<p>This don't show that Steve Jobs is mad, it only says that the board of directors is either oppressive towards Apple employee or submissive towards Jobs, anyway incompetent, but it is hard to say about incompetence when your company is so lucrative.
"Today, we celebrate the first glorious anniversary of the Information Purification Directives. We have created for the first time in all history, a garden of pure ideology. Where each worker may bloom secure from the pests of contradictory and confusing truths. Our Unification of Thoughts is more powerful a weapon than any fleet or army on earth. We are one people, with one will, one resolve, one cause. Our enemies shall talk themselves to death and we will bury them with their own confusion. We shall prevail!"<p>How far we've come.
Hasn't anyone else realized that this rule is totally unenforceable? How is Apple going to find out if something was <i>originally</i> written with Unity3D or Clojure? Everything is submitted to them as a binary. You can't inspect a binary and figure out what language the code that generated it was <i>originally</i> written in.<p>So seriously, what's the problem here? Either there is none or I'm missing something.
You know, this whole Apple thing finally makes sense to me.<p>They are simply trying to tie their developer community to their platform. Now is the time to do it, when competition is low. There's virtually no chance of this having any noticeable impact in its established community of developers. By year-end, when competition is a bit stronger, the groundwork they've put in place today will make it less likely that developers will bother to learn another platform.<p>Its what Microsoft did with Java and Netscape. It's what they did with IE.<p>I'm not saying its right. I'm just saying I finally understand it.<p>(and I know MS was sued, and lost, for each of those infractions).
Problem is with the app store is that a number of developers could reject these changes and decide to develop elsewhere, but instead of improving the situation on other platforms it would probably just be that the remaining app store developers would be now getting a bigger piece of the pie.<p>I think there is an incentive for developers to turn a blind eye to some of the more crazy apple app store policies because if people leave it benefits them and there is no viable alternative at the moment for someone wanting to make a living selling mobile applications.
I don't get this at all.<p>Why does everyone act like the iPhone should be as 'open' as an OS on your computer? Did everyone forget that when the iPhone shipped you couldn't write apps <i>at all</i>? You can't write apps in Erlang for your Zune, your PS3, your cable modem, your microwave, your car or your apartments alarm system... no one cares.<p>Yes, Apple wants (insists, even, if this ToS becomes final) you to use their tools, their stack, etc for making apps on their consumer electronics device - shocking? No. Annoying? Of course. Don't like it? Go somewhere else!
The way the section is worded makes me wonder if this also prohibits ports of applications from other platforms. What does "originally" mean when Apple says it?
So why doesn't Adobe just add a feature to their tool, that will take an app originally written for the iPhone in Jobs-approved languages, suck that source up and produce either source for Adobe's tools or source directly for other phones?<p>It doesn't take care of existing apps that were written elsewhere first, but it does take care people who can write iPhone apps and would like to port those elsewhere.
<p><pre><code> Applications must be originally written in
Objective-C, C, C++.
</code></pre>
Interesting: this excludes lex, bison and similar generators.
Couldn't another motivation be that they don't want to hire app reviewers with fluency in every language under the sun? They have no way of enforcing the Swahili/Milli Vanilli/mud -> C via Oompa Loompa exception, provided that the C is readable and appears to be 'orginally written'.<p>I see it as a natural outgrowth of the chaperone model that a good number of users have tolerated/embraced.
This is really funny, since this is just the transcription of their daily business practice, so your experience shold have told you earlier. But only now do people see it, after years of Apple behaving this way, people still cramming to get into the apple-bottom, who are you to blame apple for actually write it down?
Gee, I thought they meant "originally" as in:<p>"My code was originally written in C, but I've now ported it to Clojure." ;)<p>Of course as I make changes, it produces C that compiles to normal .o files that are then (without any further translation, compatibility layer, or tool required) linked with the Documented APIs.
Is it possible to turn things around and compile an iPhone app to run on Android/Flash/etc.? I'm sure it would be a monumental task, but could the headers in the Apple SDK be wrapped in a cross platform library? Or is there a rule against that too?
This rule is only in there so they can justify their selective enforcement. I'm sure you'll still be able to do whatever you want, but it gives them a line to point to when not approving certain apps they don't like for whatever reason.
Apple, who is primarily a computer hardware manufacturer, shouldn't be in the business of dictating what tools or languages software engineers use to create applications.
If you develop software for the iPhone/iPad, you are just a supplier for Apple's app store. It is not unheard that companies require a process from their suppliers.
"It is perhaps reasonable to specify the nature of the programs that can be sold in the AppStore. It is not reasonable to specify how developers create those programs so long as the end result meets the specified end result criteria."<p>Can you see the pattern?<p>About a couple of months ago we were swearing to Apple because of AppStore policies, and now AppStore policy to ban random apps is acceptable since they introduced even more ridiculous terms.<p>I like the way how Steve plays!
I honestly can't believe the stupidity of the metaphors in this thread.<p>Cattle grazing on the commons?
Like Apple's telling you "Don't program in a functional style"?
It's a problem if the only store in town won't stock your goods?
Telling Leonardo da Vinci he can only use gummy?<p>Is Apple pissing in your freedom flakes? Really?<p>The iPhone is not a commons. It was never a commons. No smartphone device IS a commons.<p>Apple is not dictating your programming style. They are dictating that you do not run cross-compiled software, written in a non-native language, on their device. This is not unreasonable.<p>There is nothing illegal, or immoral, or even marginally unreasonable, with a store refusing to stock your goods. Even if it's the only store in town.<p>It's not like telling Leonardo he can only use one medium, because of course, the iPhone is not the whole world, where da Vinci lived.<p>If one customer of da Vinci's only wanted art done in gummy, that would be an accurate parallel.<p>Seriously, guys, this is HN. Let's see some of that logical thinking.
Even though it's insane all developers will suck it up as Apple has the power (boat load of users) and developers want to make money. They'll suck it up and keep developing what they are developing.<p>From Apple point of view this makes perfects sense, they are not loosing anything. They know as soon as they can keep the end-users happy developers will come. That what has been happening and it'll keep that until someone else comes up with a better marketing + product and take over a big chunk of the market. And Android is not ready for that kind of action yet.