Building notes, projects, and occasional rants

Open vs Choice

The Chrome project announced that they will be dropping support for H264. Given Google prior statements about open video codecs, its not unexpected. I also doesn't affect me given that I don't use Chrome (although it might affect a lot of sites that now have to consider if they want to encode with WebM and keep the two versions, or just redirect people to Flash video versions with the single H264 source), but it makes me wonder about the browser interaction with the operating system he runs on.

Why do browsers have to distribute codecs at all? Most operating systems already have a video API: Windows has it, Mac OS X has it, and Linux has several although GStreamer seems to be (from a Linux Desktop outsider point of view) pretty standard.

So why not use them? After all, I can buy the codecs I want if I wanted it for them, and have all my apps gain support for it.

But browsers don't seem to take that route, they don't seem to use the operating system at all for a lot of things, specially codecs. They bundle their own. This even applies to internet plugins now, with Chrome bundling Flash Player.

These moves are being sold as either "support the open X movement" (replace X with a proprietary technology), or "guaranteeing updates in the name of security".

Now, nobody in their right mind can argue against this, right? I mean having open alternatives to proprietary/closed versions of software parts is a good thing, it is a required thing, and we should thank Google for investing on some of them like WebM. Competition is required for the advancement of technology in general.

And we also know that most users don't update their systems, but we all get to pay the price of increasing levels of spam and virus.

But doing all of this inside the browser also goes against personal choice and it is a egoistic self-centered position. With the classic operating system middleware, I can install components at that level that all apps benefit. I can update my Flash Player and all apps, either browsers or RSS readers with Web views built-in, will benefit. Or if I install a WebM codec for my operating system, all the apps that use the OS video layer immediately get support for it. Not so with the current browser approach. We read stuff like "we update your Flash plugin so that you are always safe" and then I use another app, running a old version of the plugin and bam, there goes my "security".

I partially understand the browser vendors position: they are trying to solve their own support problem. Is much easier to support a application (specially a browser that is installed millions of time each day) if they release their entire world in a single package. No external dependency hell. I do understand this.

But with this decision from browser vendors to lower their support costs, we users loose our freedom of choice. Browser vendors (all of them) end up imposing their views (specially political views in terms of "open" vs "closed" technologies) on all of us. The tool that would enable us to exit the local App chains and level the playing field for all participants on the Open Web is now a political carrot.

I want more open systems, I really do. But I'm not willing to sacrifice my freedom of choice to get them. Freedom of choice means that I can choose proprietary, closed technologies if I want to, either because they are a better fit for my use case, or because I'm used to them, or because they are standard in my current environment.

My initial title for this article was "The tyranny of open" but I don't think we are at that point yet. We are surely on the path though.