Android bears an unmistakeable resemblance to its parent Google, though it is indeed the love child of all the 47 members of the Open Handset Alliance. In fact, there are many more parents who contribute to the growth of the platform more or less in the hidden of open-source development. Currently, Android consists of 170 projects that are considered core projects (e.g., the kernel), external projects (e.g., media libraries), or projects that provide packages to the platform (e.g., a calendar). Speaking of children and parents, I think it’s time that a paternity (or maternity?) test reveals just how much of a parent Google actually is to Android!
Sampling the data is a straight-foward specimen collection, in this case the git log –no-merges across all 170 projects to collect the names and email addresses of all authors. With a little hash, key, and value magic in Ruby, a sorted list of all project names and the number of their unique authors appears. For the sake of visual beauty, an unnamed office application provides a two histograms of the Top 10 Android Projects in terms of the number of contributing authors, split into the ones who obviously work for Google (i.e., they have a email address that ends in @google.com) and all the others. The first histogram shows only kernel projects, the second histogram shows projects within the platform itself.
Figure 1: Top Android Kernel Projects by Number of Committing Authors
Figure 2: Top Android Platform Projects by Number of Committing Authors
The paternity test is not free of error, of course. Many authors only give their name without an accompanying email address. While in some cases the names are easily matched to an email address (e.g., in case of very unique names or known authors such as designated project leaders), others are little informational in terms of the author’s identity (e.g., John Smith, no email). The actual number of authors within each project may therefore be a little off, but the general findings are clear.
The kernel at the very heart of Android is much more a beast of the Linux community that receives little love from Google, whereas Google certainly takes care of the larger Android platform. Though reasons for the division of parental activity are purely speculative, keep in mind that the kernel beats not only in Android but in all Linux operating systems and thus gets attention from many more than just mobile developers. Moreover, the platform is much more tailored to the needs of mobile users, which includes services from hardware vendors, application developers, and network providers.
At least the numbers suggest that Google is a good parent to Android. And with the brand-new Nexus One, Google has given Android a beautiful crib.