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]


Tuesday, December 01, 2009

Predictions for Apple 2010

1. Greater integration between desktop binaries and web apps. Customers can share documents, photos, music etc with automatic synchronization. Apple makes money from MobileMe subscription service (i.e. access fees) and from content creation i.e. you need iWork or iLife products to produce content, but it is free to view. Content creation is still on local hardware because that's what drives hardware sales but also because there is no need to complicate things with managing network connectivity/remote procedure calls.

2. With storage abstracted, as a paying subscriber you can access any of your content on your iPhone/iPod/Apple TV/desktop/laptop. This means you can have your entire iTunes library, video library etc streamed onto your Apple device.

3. TabletMac will be another device that runs on iPhone OS/CocoaTouch API framework. Exclusive content deals means Apple will either allow content providers to target ads to specific Apple customers, or get the MobileMe subscribers to underwrite an ad-free experience. Use App Store as reference revenue model.

4. New iPhone will check all relevant feature sets i.e. better performance, battery life etc.

5. Further tinkering under the hood with OpenCL and Bonjour networking, building upon what was available via Xgrid. Ability to donate spare CPU/GPU cycles from any Apple device so that all computationally-intensive tasks can be sped up just by bringing the device to within wireless network range.