People debate how "open" various open-source projects all the time. In fact, the very way I made that statement is charged because I didn't include the phrase "free software." Sometimes these arguments get more serious though. For example, in VisionMobile, a market research firm, A new way of measuring Openness, from Android to WebKit: The Open Governance Index report the company declared that Android was the least open project they examined. Chris DiBona, Google's open-source manager, vehemently disagrees.
VisionMobile's Open Governance Index, which the analyst firm used to make this call, is based on:
1. Access: availability of the latest source code, developer support mechanisms, public road-map, and transparency of decision-making
2. Development: the ability of developers to influence the content and direction of the project
3. Derivatives: the ability for developers to create and distribute derivatives of the source code in the form of spin-off projects, handsets or applications.
4. Community: a community structure that does not discriminate between developers
This is VisionMobile's own take. The company has no connection, that I know of, with open-source organizations such as the Open Source Initative or The Linux Foundation. Never-the-less, they have a point, or do they?
DiBona first took note of this report on Twitter while talking about it with some others. There, he wrote, "I got >10million lines of code that says otherwise. Be wary of Large consultancies selling reports."
After talking about it more on Twitter, DiBona decided he wanted to talk about the issue in more detail than Twitter's 140 characters would allow, so he took his thoughts to Google+, there DiBona continued:
When I consider open source projects whether large or small, I always ask the same thing:
1) Where is the code. 2) What license is the code under. 3) Can I build it.
If those three things can be answered in the affirmative, then I would assert that the following are much much less important
a) What 'governance' structure do the core developers of the product follow. b) Is the code developed in the open?
DiBona gets no argument from me on this score. By these definitions, Android is certainly open. However, when he goes on: "For the latter, that mostly matters when there aren't releases done very often, and why the HC [Honeycomb] release of android is so vexing for some people. But if the code is released and under a real open source license and I can build it, then if I don't like the governance structure or development style, I can take the code and do what I wish with it."
The Honeycomb issue, I, along with some other people, do have a beef with Android. You see back in April, Google released the first version of Android 3.0, Honeycomb, to some large equipment vendors and developers, but they didn't open source it at the time. Andy Rubin, head of Google's Android group, said, the open-source version would be released under open source "as soon as it's ready."
Leaving aside how that plays with Android's Apache Software License and how developers who weren't in the first wave to get access to the code, I also thought Google's Honeycomb move was a mistake because the whole point of open source is that code gets better as you get more eyeballs on it. Here, I see Google both playing fast and lose with the license and partners but with the very concept of open source. If you want to go that a minor governance problem you can, but I still think it was a strategic mistake.
Yes, Honeycomb is being developed quickly anyway. But, not everyone is happy with Honeycomb even as it's now being shipped on some tablets as Android 3.1. I'm sure that if the code had been opened all along it would have been better than it is today.
In short, what I'm saying is that yes, Android is open source. I have no question about it, no matter what research group may say. But, could Google do a better job of getting the code into developers' hands? Yes, I think they can, and, for their own good, they should.