If you keep up with Linux kernel news then you might well be aware that there is a particular issue that is starting to boil up to the surface. It seems that the Free Software Foundation (FSF) is changing their stance on what comprises a “free” Linux distribution. This came about because of the GNewSense distribution which arrived on the scene in 2006. GNewSense’ goal was to create a distribution that contained only free software. This would include the kernel. This distribution would garner the FSF’s exalted title of Free Operating System.
But then GNewSense did the unthinkable – it found proprietary “blobs” in the kernel. Blobs are basically firmware that many drivers require in order to function. The major player here would be wireless networking devices. But because these “blobs” are not free, any kernel that contains drivers that would make use of said “blobs” would not be considered free. And there are a lot of offenders out there. And in order to maintain the “Free” status awarded by the FSF, any distribution claiming to be “free” would have to remove those blobs from their code.
This is an on-going debate in the land of Linux. But this issue makes it all the more compelling. Well now, there are certain hardware manufacturers that have at least agreed to allow their firmware to be made available for the Linux kernel. But some of those manufacturers will not open the firmware. This, of course, is their choice (and I am not condemning them for making that choice), but now that choice is causing problems in the land of Linux.
I think my stance on this is fairly well known. I think it’s honorable (and critical) to have distributions available that meet the 100% Free title. But those distributions lack some serious functionality for average public use. And to think an enterprise would even consider using a 100% Free Linux distribution (when the cost of supported hardware would drive the hardware out of reach at that level) is laughable. But do we have to create a sort of caste system for an operating system?
Look, I get it. Free is good. Freedom is good. I am a U.S. citizen and I enjoy a great number of freedoms. But being in the most “free” country in the world doesn’t mean I live a completely “free” life. I still have to pay taxes, I still have to obey laws…I still have to work (that is if I want to support my family). The Linux operating system has the same issues that a U.S. citizen has – almost completely free. ALMOST. But like a U.S. citizen, the Linux operating system (in most situations) requires the help of non-free systems in order to work properly.
I don’t believe the Linux community needs to get up in arms about this. I think the FSF might want to relax a bit and think of possibly employing a scoring system to rank Linux distributions. It could look like this:
A – 100% Free
B – All free desktop/server software but kernel contains “blobs”
C – Blobs in kernel, some non-free desktop or server software
D – Blobs in kernel, many non-free desktop or server software
F – Mostly non-free software (including kernel).
This rating system could be placed on the download site of each distribution. This would allow the users to decide if they want to use the distribution or not.
The reason I think this is a better solution is it keeps the FSF from giving the cold shoulder to any particular distribution (although I am sure they would turn their noses at any distribution who bore the label “F”). This would also bring a bit of standardization to Linux (something it sorely needs).
I, for one, would use any Linux distribution bearing a C or better. I have no problem with non-free blobs in the kernel because many of those blobs are necessary for certain functionalities. I would make a guess that 90+% of the laptops on the market would be rendered useless by a distribution ranking an “A” in the above listing.
The average public at large really doesn’t care too much about how “free” an operating system is – beyond the free associated with the almighty $. That, in my opinion (and especially in this economy) is the only “free” Linux should care about at this moment. Blobs in the kernel? I don’t think many would really care. Do you?