Binary Blobs


The BlobI have been wanting to write something about this for some time, but, as with many other things, I didn’t have the right words. For those of you who are new to free software, a “binary blob” is a kernel module installed into the Linux kernel that is closed (both as in closed source) and non-free (as in no freedom). In other words, it is incompatible with the kernel license (the GPL) and, for all intents and purposes, is a violation of that license.

First, let me say a few things about politics. I do not consider myself to be a “free software zealot” but I am also not oblivious to the apparent political ramifications of using various types of software. Proprietary software (i.e. software that has restrictive licenses) is ultimately bad both for developers and for end-users.

I do not, however, think it is productive to completely shut out proprietary software if and only if it is needed (or strongly desired as the case may be).

Now distribution is a different animal entirely, and now that the Ubuntu developers are considering distributing the Nvidia and ATI proprietary drivers, this issue has come to the limelight. Keep in mind that Ubuntu has always distributed some binary blobs, but they have not generated much publicity in the past, and Ubuntu calls its operating system “software libre”. In an effort to make a “free” version, the Free Software Foundation came up with GNewSense.

In one corner are the pragmatists who say, “The software should just work, and it won’t work with all hardware unless those drivers are included.”

On the other side are those who say, “If it isn’t free, it doesn’t belong in a free operating system.”

I can see the pragmatic point. Mac OS X “just works”, but the question is “Why?” Well, for one, they make their own computers. All of the hardware that goes into their computers is carefully tested and supplied with drivers ahead of time.

There is a perception among some people that Windows also “just works,” but I beg to differ. For anyone who as actually installed Windows (and I’ve done so on hundreds of computers when I used to work in IT), it rarely “just works.” There are inevitably driver problems and many things that need to be installed before you have a working system. What most people experience is either a computer that has had windows installed by someone like me or a pre-installed factory shipped computer.

If a GNU/Linux distribution is pre-installed on a computer, it does “just work” because the retailers have to make sure it does. It is not the job of the distributor of the operating system to make sure it works on every piece of imaginable hardware, and it is very dangerous to start making promises that it will “just work” when, in all likelihood, there will be cases where it won’t.

In my Windows days, the Nvidia 3D accelerated driver did not even ship with Windows. I had to download it myself. How is this any different than needing to download it in GNU/Linux? Also, with serious efforts to create free driver versions, why condition people to use the binary blobs?

Furthermore, Nvidia has stated that they can never “open source” their drivers because there is too much “intellectual property” from other vendors tied into their graphics cards. If that is the case, what are the legal ramifications of distributing (either free of charge or for profit) a GNU/Linux distribution under the GPL? Is it even legal? Can it be shipped to countries like Iran or North Korea, where sanctions on proprietary software are in place?

If free software is ultimately to be about choice, why not give the user the choice as to which proprietary software to install? It need not be complicated, but it also shouldn’t be automatic. After all, installing an operating system is an advanced task. Anyone who is capable of doing it aught to be capable of installing a few drivers. If they are not, they should probably buy a pre-installed factory shipped computer with GNU/Linux already installed anyway. In the meantime, we should form a company with the sole purpose of making free and open source drivers and pay the people who work for that company to do this full-time. It is in the legal of interest of many large corporations (such as IBM, Novell, Redhat, Sun, etc.) to support such an endeavor.

Ad:LanternTorch.Net: Freelance writing, web design, editing, and technology training training

Ad:Reliable, affordable web hosting


Bookmark and Share

Leave a Reply