Today Apple announced the next generation of it’s iPhone OS and, to be honest, there’s some pretty neat stuff on the way.  But the story that’s caught my attention comes from Daring Fireball and has to do with the iPhone developer tools.  Specifically this section of the iPhone Developer Program License which was changed to be more restrictive (bold added by me)…

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

Essentially this means Apple can force developers to use the tools they specify and as a result force alternate tools like Adobe’s FlashMonoTouch and Unity3D out of business.

A lot of developers are livid about this. 

I’m going to take what I suspect will be a very unpopular stance but please hear me out.  Understanding Apple means coming to terms with a philosophy that is opposed to what most technology people believe.  Apple ascribes to the following principles...

Apple is not Open, they believe in Closed environments.

Apple does not believe in Choice, they believe in rigid adherence to their Vision.

Apple does not rule by Consensus, they run the show and you Follow.

These aren't new.  When Steve Jobs came back to Apple 14 YEARS AGO his first steps were to throw out nearly everything and replace it with what he’d built at NeXT. 

Why is Objective-C the primary development language for OS X?  Because it was the primary development language for NeXTstep.  Why did Apple abandon the Apple menu for the Dock?  Because NeXT had a dock. 

Apple does things Steve’s way and if you want to develop for Apple you have to follow suit.

So for developers to be up in arms over this is a bit disingenuous because this is what Apple has always been like and that’s what Apple’s users expect from it.  Look on your average Mac and what you’ll find is almost nothing that wasn’t made by Apple.  Apple browser, Apple photo program, Apple video program, Apple Office Suite and so on.  They probably even bought it in an Apple store! 

Apple customers go to Apple because they buy into the Apple vision and if you want to develop for them Apple’s going to force you to do the same.

I’m not saying I agree with Apple.  I, like most tech people, like open solutions.  But I understand the value of an alternative vision and that’s what Apple holds.  More to the point I have to grudgingly admit I love my iPhone more than any phone I’ve ever had and the reason is largely that Apple created it with their unique vision.