Google's decision not to release the source code to Honeycomb, the latest version of its Android operating system, has upset even its most ardent supporters. It's a reversal on the scale of its flip-flop on net neutrality. But Google's refusal to release Honeycomb is more than just a public relations crisis or fuel for an ideological debate about "open" vs. "closed" among the open source community.
Refusing to release the Honeycomb code creates potential legal issues, too, because the code is nearly impossible to get from any other source.
One of the basic principles of free and open source software is the principle of "copyleft", which is enshrined in the General Public License (GPL). Under copyleft, everyone is free to use, copy, modify, improve, and share GPL'd code, but there's an important and uncompromising condition: if you modify and distribute the code, you must make the code, and any works derived from it, available for use by others. If you don't, you've violated the terms of the license and copyright law.
Those who enforce the GPL say that there isn't supposed to be any delay in providing the code. GPL-Violations.org emphasizes that the "GPL demands that as soon as you distribute GPL licensed software in executable format you make available the complete corresponding source code." HTC has been excoriated by the community for delays of 90 to 120 days.
The first Honeycomb device, the Motorola Xoom, was released in mid-February. My colleagues have requested the code from Motorola but they've gotten nowhere. I've also looked into this, and as far as I can determine, Asus is the only manufacturer that has released any Honeycomb source code, and it is only the kernel code for its EEE Pad Transformer product, which is an incomplete source release and of little use to developers.
If a manufacturer drags its feet or refuses to release source code altogether, what can a developer or small company really do? Open source advocates could file lawsuits to get the code, as they have in similar situations, but litigation is slow, probably too slow to get any useful code, given the quick cycles of Google's in-house Android development.
What's really troubling is how Google has changed its story on the "openness" of Android. Google has long trumpeted Android's open source credentials, even in court filings. Responding to Oracle's complaint that Android infringed Oracle's patents and copyrights, Google claimed that Android is an "open platform - a platform that provides equal access to any who would choose to develop software for the platform." Google said that the "objective of Android is an open and shared product that each contributor can freely tailor and customize" and claimed that "the success of the Android platform is due in large part to its open nature, which benefits the entire open source community of consumers, developers, manufacturers, and mobile operators."
That's Google's official story, and Andy Rubin, Google's Android chief, has been repeating it. When word got out that Google would not release Honeycomb code, the community reaction was so strongly negative that Rubin was pressured to address the issue on his blog, where he insisted that Android is still open. But in the same breath, Rubin also made clear that Google would not be releasing the Honeycomb code any time soon. That is a strange definition of "open." (In a move that was not nearly as well-scripted as Rubin's blog, two Google engineering directors acknowledged the truth when they described Android as partially "open" and partially "closed.")
This is a dangerous game. Marketers may gild the lily a bit now and again, but this is different. Google made "open source" promises to device makers and the open source community to get them to buy into Android. They helped grow Android into a huge business for Google, which reports that 350,000 handsets running Android are activated each day. Device makers thought they were helping to develop a platform with few restrictions and broad rights to differentiate, but the deal for them has changed dramatically.
Android's "evolving openness" is already causing problems for Google. It's been reported that several device makers have complained to U.S. antitrust regulators. Two of South Korea's largest Internet search sites recently filed complaints against Google with that country's Fair Trade Commission alleging that Google has refused to allow competing search applications on Android devices. Skyhook Wireless sued Google after it forced Motorola to drop Skyhook's location service. These probably won't be the last lawsuits concerning Android.
By not releasing the Honeycomb code, by dictating what search applications can be used on the Android platform, and by redefining "open" to suit its purposes, Google has essentially privatized the Android platform. This may allow Google to make more money, but it also creates legal problems for itself and its partners, and it undermines the open source community that helped to create and grow Android in the first place.