Another year of AOSP
Well, the work year is over for me as today was my last day in the office before the new year.
This closes my 3rd whole year working on the Android Open-Source Project (my involvement in 2008 had been quite minor). It's been an interesting year for AOSP, full of contrasts.On the positive side:
-I finally managed to distribute some proprietary hardware-related binaries for the very first time. This is an issue that I had been working on since before the G1 even shipped, and it finally became reality. For me personally, that's really a huge deal, because it really makes it practical to take the AOSP code, modify it, install it on a phone in a way that actually works, and to distribute the resulting image. This enables community builds of AOSP in ways that were not possible before, thanks to a license that allows redistribution.
-I also finally managed to distribute some factory images for the very first time. Just like for the proprietary binaries, this is the result of 3 years of work. The main benefit is obvious: play with an AOSP build for while, and then get your device back to its factory state, over and over and over. It also has some other nice advantages, e.g. it allows AOSP users to stay up-to-date with the latest bootloader and baseband firmware.
-For the first time, AOSP supports a non-Nexus non-ADP device, which also happens to be a tablet (Xoom), and supports a development board (PandaBoard). We also added support for Intel CPUs, including emulator support. Those show well that AOSP is important for companies other than Google.
-We also got some proprietary binaries submitted directly in AOSP instead of being separate downloads, e.g. the touchscreen firmware for Galaxy Nexus and the Wifi/Bluetooth firmware for PandaBoard.
-We reached the point where AOSP is running on 11 different targets (8 different devices from 4 different families, plus 3 virtualized or emulated systems).
-IceCreamSandwich was a massive release, which added over 220,000 changes over Gingerbread. As usual since Froyo, the full source history is available, so that people can easily study how the code evolved, or research when, why and by whom a given line of code was written.
-With IceCreamSandwich, we now have a fully Open-Source NFC stack and a fully Open-Source sensor processing chain. In Galaxy Nexus, we also have a wifi/bluetooth chip that can work without requiring any proprietary firmware.
-I tagged 26 device releases in 2011, compared to 12 releases in 2010.
-I fine-tuned the process that we use when releasing GPL source files, so that it's now much easier to build the GPL source code independently from full platform releases.
-We Open-Sourced the source.android.com
site itself, thanks to the work on the intern who took care of that in the beginning of the year.
-Last but not least, the AOSP team grew, and that allows us to split the workload: +Conley Owens
takes care of the long-term engineering while I manage the day-to-day execution. Conley gets credit for implementing the auto-verifier that we had running on Gerrit for a while, for dealing with many build issues that appear on various environments, and also for a lot of other work that's not visible yet but that'll make things even better in the future. All that happens under the watchful eye of +Dan Morrill
who occasionally stops by to say hi, and with a lot of help from Google's main Open-Source team.On the negative side:
-Not releasing the Honeycomb source code was catastrophic for the AOSP community. I had never before received so many angry emails, so many threats, to the point where I had to take several weeks off at some point to get away from it. Even today, there's a lot of bitterness left on all sides. From start to finish, Honeycomb probably cost AOSP anywhere from 6 to 12 months.
-We had 7 weeks of downtime on our Git hosting, and 4 months (and counting) on Gerrit. The Git outage was manageable as it happened at a time of low activity, but it still consumed a lot of engineering effort. However, the Gerrit outage couldn't have come at a worse time: not having Gerrit right as IceCreamSandwich was getting released means that we lost a precious opportunity to merge in many external contributions at a point where AOSP and Google's internal master branch were very close, the closest in about 2 years. No conspiracy here, just some really bad luck.
-In spite of a lot of progress, there are still far too many proprietary binaries and factory images that I'm not allowed to distribute, and I'm still wasting far too much time trying to convince those many companies that they should be helping AOSP run on their hardware (well, I've given up on HTC, Motorola and Qualcomm, as it's clear at this point that they're not going to help in that area).Overall, in spite of a few serious difficulties, it's been another good year for AOSP.