I don't say this very often, but some days Google is stupid. Until recently, Google's biggest blunder was Google Wave . But now Google has announced that it won't release Android 3.0, the tablet version of its mobile operating system, until it has made it "better."
In a statement, Andy Rubin, head of Google's Android group, said, "Android 3.0, Honeycomb, was designed from the ground up for devices with larger screen sizes and improves on Android favorites. ... While we're excited to offer these new features to Android tablets, we have more work to do before we can deliver them to other device types, including phones." In other words, Google will release the Honeycomb source code as soon as it's ready. Just don't ask when that will be.
This has ticked off pretty much every open-source professional out there. Android is under the open-source Apache Software License 2.0 , which requires that the source code be released when the executable programs are released. That usually means they're released together. But the license doesn't insist on that.
Historically, Google has played games with the ASL's terms by letting big hardware manufacturers, such as HTC, Motorola and Sony, have an early look at Android source code. Smaller vendors, developers and open-source purists have been unhappy with that "some animals are more equal than others" approach in the past, and now Google is stretching the gap between private release and an open-source release even further. Some would say it has stretched the gap to the breaking point.
I know Google doesn't want vendors rushing half-baked Honeycomb tablets out to the public. But you know what? I'd rather see tiny companies trying to make a fast buck by selling not-ready-for-public-consumption tablets than a big company playing games with open-source licensing.
Google already has enough intellectual property troubles, with Oracle suing over Java , Microsoft creeping toward a suit , and an an assortment of open-source-related copyright claims . Does it really need to alienate the programmers? I think not.
What really troubles me, though, isn't Google playing fast and loose with the ASL. No, what bugs me about this, and what makes it one of Google's all-time dumb moves, is that the whole point of open source is that you might make your life easier by sharing the code. Right now, all of Honeycomb's development rests on a relative handful of in-house Honeycomb developers. The big OEM developers will be spending their time adding gewgaws to the base code. They're not going to help get Honeycomb out the door.
By turning its back on open source, Google is not only harming and annoying other Android developers. It's also hurting its own operating system, and its own future.
I don't know who came up with this idea at Google, but I do know he was an idiot. In 2011, even Microsoft, enemy of all things open, has realized the worth of open source as a development method. Google itself rests on Linux . To decide that turning the developer clock back 20 years is the right move strikes me as foolish beyond belief.
Even so, since Apple has shown no interest in the low-end or midrange tablet markets, and since no one else is really ready to enter them, I'm sure Honeycomb will be a success. I'm also sure it will be filled with more bugs than it would have been if Google had kept the code open. If Google continues on this path, Android may eventually face real challenges from webOS, Windows Phone 8 or even Windows 8. I can only hope Google realizes the error of its ways -- for its own sake, if not for the sake of its smaller developer partners and customers -- in time to keep Android a top mobile operating system.
Steven J. Vaughan-Nichols has been writing about technology and the business of technology since CP/M-80 was cutting-edge and 300bps was a fast Internet connection -- and we liked it! He can be reached at firstname.lastname@example.org .
Read more about operating systems in Computerworld's Operating Systems Topic Center.
This story, "Google's Big Android Blunder" was originally published by Computerworld.