Open, or not?
I think both Google and Apple are using their own definitions of Open..
Apple, for all their faults, are quite open about what measures are used to lock in or track their users. OK, so they tend to bury the notices in reams of Terms and Conditions, but they are there. However, unless you Jailbreak the iPhone/iPad/iPod touch, you can only install Apple approved software. iOS also does not allow much operator configuration. As such, the iOS platform is certainly not open, beyond the fact it's loosely based on Darwin (which is Open Source).
Google appear to be open, but do not reveal what measures they have in place to track their users unless threatened with Legal action, and even then they will fight it.. As such, Google as a company certainly are not open. The basic Android OS is open, but the versions shipped to end users by the Operators can be locked down. I believe you can still download the Apps from anywhere, but manufacters can lock down things like the UI. Yes, you can root the device and install your own version of Android, but, to my mind, this is no different to Jailbreaking.
I am not trying to argue that even a Jailbroken iPhone is more open than an Android phone. It is not, just pointing out that Android is not necessarily as open to customisation as people think.
Now, regarding Steve Jobs's comments about Fragmentation, I only partially agree. As noted above, Google do have a a base configuration for Android, and Android itself has some ability to scale up graphics for higher resolution screens, but, it *is* a fragmented platform. This means that App Developers have two choices. Either to program their app to really make excellent use of the facilities of one particular Android phone (in which case, they risk alienating 90% of their target market) or to optmise an app for the base config of Android and maybe allow it to scale up (which will not make the best use of the hardware).
Windows PCs are in a similar postion. Most developers are coding their Applications for whatever the base config for Windows happens to be at the time, then making tweaks (such as improved graphics) so it can scale to higher powered machines.
I suspect most android developers do the same. If an Application is created this way, it won't be much more labour intensive than developing for any Apple product (be it a Mac or iOS device). The downside is that the Applications will not take full advantage of more powerful hardware.
This is why games for consoles like the Xbox 360 can often still look good compared to games on PCs, despite the console being up to 4 years old, and the PC being a new, high end, PC. The console developers only have one set hardware spec to optimise their code for, so they can really take advantage of it.
Personally, I think from a consumer point of view, both the closed approach used by iOS and the open approach used by Android have advantages and disadvantages.
Android has the advantage that you can install pretty much what you want, but the disadvantage that this means you can catch virses, which could cost a lot of money (imagine what would happen if someone bought up a load of premium rate lines, then wrote a virus that kept dialling them and you caught it). You could run a virus checker, but this would suck both battery and CPU power from the phone, both of which can be in short supply.
iOS does not (unless jailbroken) allow you that freedom, but does not suffer from Viruses to the same extent as Android .
Android has the advantage that it can access multiple App Stores. This disadvantage to this is that not all apps will be available at all app stores, and even where they are, they may not be up to date. It can also get confusing for the user. The advantage is that it does mean a wide range of software is available, if you know where to look.
iOS (again unjailbroken) offers only one App Store. The advantage of this is that you can get any approved iOS software there. The disadvantage is that Apple's idea of good software may not match your own.