I’m doing some more research on the GPhone/Open Handset stuff today. For the second week in a row, Google is evangelizing a new, "open" platform, with the promise that openness will inherently be easier to develop applications on, create a better consumer experience, and eventually solve world hunger.
Specifically, the Open Handset folks seem to be asserting:
- Today’s mobile platforms aren’t open.
- It’s a big problem that mobile platforms aren’t open.
- Making a platform that’s more open will foster more and better applications for mobile.
Assertion #1 is just not true.
Assertion #2 is true, but only in the sense that not being able to see at night is a problem. Unlike a lot of closed vs. open technology conundrums, "mobile" isn’t a big monolithic platform controlled by one malevolent overlord, at least not at the application layer. They’re several platforms controlled by a gaggle of overlords, some of which are less malevolent than others.
Assertion #3 is completely false, at least based on what we’ve seen so far. It must be false because there already are mobile platforms (both Linux and Windows Mobile) that enable developers to create applications without the intervention of the carriers.
Just making something "open" does not contribute to developer productivity. In fact, openness can hinder developer productivity, since it forces developers to contend with a large number of use cases that aren’t relevant to them, and it enables the platform provider to get away with cop-outs like "you can change the source code to make it do whatever you want" and "we realize our documentation isn’t great, but the source is our canonical reference".
And Java (which the Open Handset platform will be based on) is certainly not the highest-productivity development environment out there today (and I know a lot of Java developers who will agree with me there).
I’m not saying "openness" is "bad". I’m just saying that Google is assigning attributes to the notion of openness that don’t make sense. One gets the impression that this project is being done by a certain type of open-source developer for a certain type of open-source developer.
Related posts:

I sort of got the willies when Google Blog described Gmail as an “open application”. The presentation layer may be inspectable JavaScript, but you can’t host Gmail on your own machine… Gmail’s servers are as opaque, proprietary, and suddenly-changeable as things get.
Well, I think that has more to do with the fact that at the time GMail came out, they were offering POP access and everybody else was charging for it. It was less about trying to pull the wool over peoples’ eyes (since it was more open, relatively speaking) and more about the fact that “open” is such an overloaded term as to be meaningless. I mean, does Oracle still call its annual developer conference “Open World”? Do people laugh them off the playground because of that?
We don’t even know whether this is going to be open source, in the sense that they want contributions and a community, or just code that has an open source licence. No clues yet about how to contribute, SVN, bugzilla, copyright assignment, etc. And, as I understand it, they are only releasing the SDK next monday, not the source code.
Plus given the great pains they goto in the FAQ to point out that the Apache licence allows proprietary extensions, and has none of the nasty GPL virality, what’s to say that when an Android phone does get delivered in 2008, that you’re not in the same position as now; an ‘open’ SDK on a mostly proprietary platform.