Sunday, November 19, 2006

Linux, Binary Blobs and Restricted Media

There is some interesting discussion over at LWN about binary blobs used in hardware drivers. The impetus was this article, a review of Fedora Core 6 that basically said "It sucks because it has no support for modern-day web content".

I appreciate the fact that distributions like Fedora Core are still focused on free-as-in-rights software, but today's Web content requires more proprietary browser plugins than yesterday's did, and today's hardware is increasingly designed to be dependent on proprietary binary blobs in the form of firmware and driver packages. Programmers are not falling over themselves to write free replacements for these things (or they are unable to because of a lack of documentation from hardware manufacturers), and the projects that do exist are non-operational and/or several generations behind current technology.

I can certainly relate to this, but the anger is misguided. It should be directed at the hardware vendors who refuse to release specs and at the very least, allow unrestricted redistribution of binary blobs. There are distributions that have tried to address this issue, Debian, for example, does not treat binary blobs as software, and so allows then to be shipped with their distribution without source code (for the upcoming Etch release, and assuming the blob can be legally redistributed). OpenBSD is probably at the forefront of the fight against binary blobs, some of their developers have invested significant time and energy into writing blob-free drivers for closed hardware. The list of supported wireless chipsets in the latest OpenBSD release is impressive.

There are completely different issues at work when it comes to web/media formats - that of patents and restrictive laws like the DMCA. The former prohibits things like mp3 support from being shipped with Fedora, the latter prohibits (in the US, anyway) support for DVD decoding (hence playback). Still, it's not that hard to get support for mp3 playback and DVD decoding immediately after installation, this page seems to be the best available for FC6 at present. Ubuntu has a "restricted" repository that can be accessed after installation, and there is always Easy Ubuntu.

One final point that has to be made, I've seen too many reviews that harp on "ease of installation" (another point the aforementioned review makes) - the truth is that modern Linux distributions are much, much easier to install than say, Windows, and have better hardware support out-of-the-box, thanks to the latest Linux kernels. I think we're lucky the latest Red Hat and Ubuntu installers work as well as they do. Post-install, the same hardware that tends to be problematic under Linux requires a third-party driver download under Windows. This issue of drivers in Windows tends to get overlooked, because the vast majority of hardware you buy comes pre-installed and pre-tested. Just take a look at the driver download section of Dell's website if you want to see how frightening the situation is. As for web content, even under Windows you still have to install flash, realplayer, and java plugins, if you want them.

Technorati Tags: , ,,