Last month, on the official Android discussion group, David "Lefty" Schlesinger posted a message that questioned the open sourciness of Google's fledgling mobile platform. And he was promptly muzzled by Google developer advocate Dan Morrill.
"Now I'm moderated," says Lefty, an open source guru with Access, the Japan-based mobile software outfit. "I can't post anything unless Google approves it first."
Granted, it wasn't the most diplomatic of messages. It actually quoted from The Reg. And Lefty had been floating such notes for quite awhile. In the end, he was probably muzzled for reasons that extend beyond his views on software development. But his story is still a nice metaphor for Google's relationship with certain parts of the open source community.
Google refers to Android as an open source platform. But at the moment, it's not. The company is privately developing this "complete mobile stack" in tandem with 34 mobile-industry partners, and it won't actually open things up until version one debuts on phones sometime later this year. Lefty, like other hard core open source types, thinks this is a tad disingenuous.
"They want to maintain a facade of being non-evil open source guys," Lefty tells us. "But they really want to retain very tight control over this. They're being proprietary while maintaining an appearance of open source."
Morrill didn't respond to our requests for comment. But last week, during a press conference at the Google I/O developer gathering in San Francisco, when we asked Android product manager Andy Rubin about these claims, he argued that many open source projects start out closed. And he reiterated that once version one is released, the platform will truly be open.
Or at least, most of it will be open. He did say that code related to "certain Google-specific services" will remain closed.
Like many developers who turned up at I/O, Lefty also complains that Android uses its very own Java virtual machine. "So not only have they strayed away from mainstream open source," he told us. "They've strayed away from mainstream Java. They're forking projects all over the place."
But Rubin had an answer for this as well. Speaking at another Google I/O session, he said that Google chose to build its own Java virtual machine - known as Dalvik - in part because the company wants to open source the thing under the same Apache license as the rest of Android's user-space code. Java uses the GPL 2 license.
The Apache license, Rubin said, will allow anyone to modify Android code without giving it back to the community. "They can add to it. They can remove from it. They make it their own," he said. "They can rip out all the Google stuff and put in all Yahoo! stuff."
From Google's perspective, this will foster a broader adoption of the platform. But some argue it will also drive market fragmentation. You won't have one Android. You'll have many. Maybe this is what Google wants: a fragmented operating system market where its cross-platform web apps have a distinct advantage. But this could make life difficult for smaller developers trying gain their own foothold.
"I see Android and I see all its APIs. What's to stop someone from turning off all those APIs?" one developer asked Rubin at Google I/O. "Nothing," Rubin replied. But he did say Google will provide tools that help developers verify the makeup of each vendor's Android platform.
Lefty also hoisted the fragmentation argument onto the Android discussion group - and it probably hastened his muzzling. The group is billed as a "Free-wheeling discussion, from ideas about the Android platform to your announcements on other Android resources." But the freewheeling only goes so far. In other words, the Android discussion group is kinda like Android itself: Open but not open.
Of course, it's Google's mobile platform. And it's Google's discussion group. The company can do what it wants. The question is how successful its platform will be. Will fragmentation actually stunt adoption? We shall see. ®