I'm going to get into trouble for this post...
I was a bit facetious in my previous post, I'm sorry about that, I
shouldn't have been playing with people's feelings like that, that was
somewhat inappropriate.
There is some truth however in saying that we (the Google Android
team) are very much focusing on playing our part in getting an Android
device on the shelves as soon as we possibly can, and that focus comes
at the expense of other tasks, like getting an SDK out. Since I'm
talking about that, I'll also point out that there's a large lag
between delivery of the final software to a manufacturer and
commercial availability of device with that software: there's a phase
of approvals, acceptance and certification, followed by manufacturing,
shipping and distribution, which take a fair amount of time. That
period of time is quite suitable for tasks like getting an SDK ready.
I've been personally involved in shipping cell phone software for
years, in a way that included an SDK, and invariably we'd build the
SDK after the final embedded software was released (so that we could
get as close a match as possible) and yet the SDK would be ready well
in advance of the availability of devices.
There've been quite a few long threads recently in various groups
(this thread, along with one in android-developers and one in android-
internals) around the issue of communication from Google. I'm sure
that many of the people who participated in those threads get the
feeling that their comments fell on deaf ears, whereas in fact that's
not true. Quite a few members of the Google Android team read those
groups (and we also read a number of community web sites), and (quite
a bit by definition) we are the ones who do care about the community.
Many of us have played roles in various developer communities in the
past, very often on both sides of the fence, and in more ways that one
we understand the situation that the developer community is in right
now and we share the pain. So, while those posts aren't falling on
deaf ears, they're typically falling in the wide-open ears of people
whose hands are tied and whose mouths are gagged, and the frustration
that such posts create in the Android team might in fact be larger
than the relief that gets created in the community.
I will say however, from personal experience being a third-party
developer for a certain platform before it shipped to customers, and
having gone through 5 major "developer" releases and 2 "preview"
releases of that platform, that getting many releases of a framework
that is undergoing active development before its first release is a
frustrating experience in itself. I remember investing a lot of energy
writing code around a certain feature that appeared in one of the
developer releases, only to see that feature disappear in a later
release. And of course that says nothing about the frustration of
porting my code from one release to the next in order to benefit from
certain bug fixes, only to find after a lot of porting effort that
bugs introduced in the newer release got in my ways more than the ones
I had ran into in the previous release. Looking back, I wish that I
had focused more on my system's architecture and on the core of my
code (which were the valuable parts), and less on chasing one SDK
after the other.
Back to the question, and to keep things simple, we've announced that
"the entire platform will be made available under the very liberal,
developer-friendly Apache v2 open-source license" (sorry I had to
quote that, I really have to be very careful about what I say here).
As I understand (but I am not a lawyer), the Apache License, Version
2.0 grants certain rights related to copyright and patents, but
explicitly does not grant permissions in the trademark area. So, there
is some openness about what people will be allowed to do with the
platform as it gets released, but not necessary about how they can
call the result. Once again, I am not a lawyer, and that is obviously
not legal advice.
Ultimately, the market forces will prevail. This is a complex
ecosystem, though, with consumers, network operators, and third-party
developers playing a role (and I'm not even putting software providers
and device manufacturers in the list). The way I see it, if there are
enough excellent third-party applications, consumers will be willing
to pay more money for devices that can run those applications, and
network operators will have an incentive to allow those applications
to run. I said earlier that I'm not a lawyer, and I'll say here that
I'm not an economist either, and what I just wrote about the market it
very primitive and probably very naive too.
I'm afraid that none of all that I just wrote brings any closure in
terms of communication. That's all because it's not my role to
communicate the "big picture" answers that people would like to hear.
The Google Android people who read the groups hear you, we understand
your pain, we communicate it back up to our management, we're not
happy about the situation either, we'd love more openness too. And,
just like anybody else, we don't like to read implications that we're
lazy, or that we're liars, or that we don't care about you, or any of
the other nasty things that have been written or implied about us,
because none of that it true.
JBQ (Android Engineer)