Apple's arrogance has gone beyond and above anything I could have expected. It is time (for me) to look elsewhere.
Over the last day you've probably heard about the new iPhone SDK 4.0 license and how it dictates your development rights. You can read about it here, on itwritings, or here, from Jim ... and you coudl also read about the problem on Allen Bauer's blog at http://blogs.embarcadero.com/abauer/2010/04/08/38936/ (before it was taken down and replaced with a "Sorry, but you are looking for something that isn't here." by someone too worried about Apple's lawyers, I suppose).
Weather or not Apple aim is to avoid having Flash applications on the iPhone, possibly killing MonoTouch along the way, is not what bothers me more. It is the attitude that they are spreading that is fundamentally flawed. And this is not about the iPhone only or specifically.
Apples wants developer to use its own compiler and developer tools. Apple forbids applications that might compete with their own (see this recent application rejected because it was using a touch effect that Apple indeed uses). They are using undocumented APIs in their own programs, something Microsoft has been historically very good at, but also legally prevent others from doing the same. They are mandating the development framework, the "original language" you write your programs into... and can force their own rules by not approving an application.
This is also partially true from the Mac platform: as a friend working on tools for the Mac told me recently that some of the features of the operating system are bound to the only language you are supposed to use to program against it, Objective C. If you want to use a cross-platform tool you are stuck. This is very annoying. Despite its willingness to push Visual Studio and its own .NET framework, Microsoft has never got even close to this approach. On the contrary, Microsoft has been willing (with some exceptions when they were fighting Java) to let you write your programs in any language, native or cross-platform, using whatever documented or undocumented API. Some antitrust pressure helped Microsoft avoid bigger mistakes... time they look into Apple practices?
But the problem, again, it not specific to applications and to Apple. It is a trend that I see originating from games console. What it the main difference between a computer and a games console these days? Certainly not the hardware power, but the ability to run whatever application you want on the first, while you are limited to specific applications approved by the vendor and for which the vendor receives a percentage on the second. While you own your computer (and license software to run over it), you basically don't own the games console... as you have severe limitations in what you can do with it (even at the hardware level).
Now do you own your phone? I'm not 100% sure any more, because even Microsoft is apparently going to borrow Apple's model (only Silverlight applications with Windows Phone 7). What if one day they'll prevent you from calling given numbers? Or stopping Google Voice and Skype (maybe I heard about this...)? I want to won my phone and if I'm developer I want to be allowed to run the software I write on it. Period. I don't need a mere license after paying premium price... What is coming next? Apples demanding for a given type of music or music processing software on iTunes? Yes, this is a parody... but remarkably fit.
I'm not sure where this is going, but I don't like it. Android and other open solutions attract me every day more as a sound approach for my phone and devices. The more iArrogant they'll get, the more I'll try to stay away and rethink about which phone platform to invest into.