Re: Forking from the inside.
The thing is, apps use those APIs because they do useful things. e.g. facilitate in-app purchases, piracy detection, deliver advertising, integrate with game features like achievements etc. and they're supported by the vast majority of phone devices.
That's fine, but Google don't include them in the Open Source Android. That's Google's decision, not Nokia's. Nokia are providing equivalents that plug into their services instead (as Amazon do for the Kindle Fire); it's not like the functionality isn't going to be there, but the devs will have to access it differently.
It's very easy to harumph that apps use proprietary APIs for those things, but almost all APIs for those things are proprietary.
True, but you're talking about perhaps less than 100 lines of code different between the two versions, and it's code that will be concentrated in maybe one or two methods in one or two classes.
Secondly, if an app developer wants to support Nokia's device they'll have to build and maintain two separate branches of the same product and build, package, test and upload two versions of it.
Java is quite good at hiding this kind of difference from other code. It shouldn't be beyond the wit of any developer who's able to make an app in the first place.
This is an odious burden and many apps simply won't bother - or if they do they'll jack up the price Nokia's app store to compensate for the effort.
"Odious" is taking things a bit far. Unless you're not able to code at all, it's very easy to isolate the differing parts of the codebase (for example, make a generic "make in-app purchase" interface, and two or more implementations, one per store backend); full multiple-backend testing is only then required when that specific code is touched. For minor updates that don't touch those APIs, in-depth test isn't required on every possible device.. or do you think that small devs test their apps on every Android model right now?
There is nothing that would have stopped Nokia getting itself certified to ship with the Google apps and services except they chose not to.
That's not what happened, though. It's well documented that Nokia approached Google in late 2010, but Google's licence terms would have prevented Nokia from using their competitive mapping and music stores - properties that Nokia had invested a lot of money in, and which were (and are) generating good income. Basically, Google's rules for Play are simple: you take it all or you get nothing. You cannot pick and choose from its services: if you want to have the Play Store, you must use Google Maps and gCalendar, etc.
In effect, this is just like when Microsoft insisted that if you wanted to ship Windows 98 on your hardware, you also had to ship Internet Explorer, and couldn't replace it as default browser. Google have taken it further to include more services, but they are using the same lame excuse that MS did: that mapping, browsing, in-app purchase, etc. is now an intrinsic part of the OS, rather than an application library, and thus can't be separated without breaking Android. The existence and success of the Kindle Fire's app market gives lie to this claim.
Whether people want or like Google's services is immaterial. Lots of people also wanted Internet Explorer when they never got to see what the alternatives were like...