Wednesday, December 23, 2009

The worst kind of hypocrite

John Gruber posted a link to Google's blog about "The meaning of being open". With all due respect to friends working at Google, I would have to agree with Gruber. The blog entry is a steaming pile. Lots of factual errors to mislead the non-technical reader.

I'm just going to pick out a few paragraphs in the article cos it's just too lengthy.

Another way to look at the difference between open and closed systems is that open systems allow innovation at all levels — from the operating system to the application layer — not just at the top. This means that one company doesn't have to depend on another's benevolence to ship a product. If the GNU C compiler that I'm using has a bug, I can fix it since the compiler is open source. I don't have to file a bug report and hope for a timely response.


This is true only if software exists in a vacuum, which is extremely rare these days. Additionally, even if you have the full source code, Ken Thompson (the co-inventor of UNIX) proved 25 years ago that you cannot trust source code you did not write yourself.[1] Basically Dr Thompson showed that it's possible that a bug or trojan horse will not reveal itself even if a full code audit is performed. And it is also able to self-propagate so that successive copies of itself retains this... "interesting", behavior.

While we are committed to opening the code for our developer tools, not all Google products are open source. Our goal is to keep the Internet open, which promotes choice and competition and keeps users and developers from getting locked in. In many cases, most notably our search and ads products, opening up the code would not contribute to these goals and would actually hurt users. The search and advertising markets are already highly competitive with very low switching costs, so users and advertisers already have plenty of choice and are not locked in. Not to mention the fact that opening up these systems would allow people to "game" our algorithms to manipulate search and ads quality rankings, reducing our quality for everyone.


Many problems with this paragraph alone. Google's domination of the online adverstising industry is all but complete and is pretty much the only game in town, having also just acquired Admob. So the "switching costs" angle is a strawman argument. The "think of the children" angle is also a red herring, disingenuous and an insult to free software developers everywhere. Essentially, he claims that open source code is high quality code, except Google's own closed source search and ad products, where opening it will reduce its quality. But isn't that the point of "open source" in the first place?

Open will win. It will win on the Internet and will then cascade across many walks of life: The future of government is transparency. The future of commerce is information symmetry. The future of culture is freedom. The future of science and medicine is collaboration. The future of entertainment is participation. Each of these futures depends on an open Internet.


Except that Google doesn't practice what it preaches and censors web search results. Especially in China.[2][3]

[1] http://portal.acm.org/citation.cfm?id=358210
[2] http://news.bbc.co.uk/2/hi/technology/4645596.stm
[3] http://en.wikipedia.org/wiki/Censorship_by_Google


No comments: