Linux vs. Binary Blobs, or Ideology vs. Reality
As Bruce Byfield notes in a recent essay, there’s been a bit of discussion lately about the presence of ‘binary blobs‘ in the Linux kernel.
Even Linux distributions that contain only open-source applications, it turns out, often depend on proprietary firmware. Without binary blobs, common hardware like Atheros and Broadcom-based wireless cards, for example, would not work with distributions like Ubuntu.
In other words, almost all of us, whether we realize it or not, still depend on proprietary software in one way or another. This presents a conundrum for developers, and Byfield’s article discusses their various responses (Ubuntu’s solution is to include proprietary firmware by default, but make it easy for users to remove if desired.)
Ideology and Pragmatism
But the larger question, perhaps, is whether or not software freedom really matters so much to mainstream Linux users in the first place.
In the beginning, many Linux adoptees tended to be of geekier stock and were willing to fight and die in order to keep source code public. It was these ideological and technically competent people who made Linux the viable desktop operating system that it is.
I know plenty of Ubuntu users today, however, who aren’t really sure what source code is, and who couldn’t care less whether proprietary firmware is involved in the operation of their wireless card or printer.
They’re attracted to Linux by pragmatic, not ideological, considerations: above all, its stability, lack of cost and (for all practical purposes) immunity to malware.
As distributions like Ubuntu strive to embrace a less geeky userbase, the very relevance of the binary-blob debate to the viability of desktop Linux is called into question. Wouldn’t our resources be better spent fixing bugs and improving hardware compatibility, rather than squabbling over non-free firmware and trying to figure out ways to avoid binary blobs?
Although I had no idea what open-source really meant when I first made the switch to Linux, I’ve learned to believe in the principles of free software. It just makes sense.
On the other hand, my number-one priority while using a computer is getting work done.* Whenever possible, I prefer to do that using free software. But if I need a few binary blobs in order to get my hardware working, I don’t let it ruin my day.
I think that most people, with the exception of those in the Richard-Stallman circle, feel the same way. If there’s no alternative, they prefer to be pragmatic and use non-free software.
I hope that Ubuntu will continue its efforts to provide users as much choice as possible when it comes to binary blobs in the kernel. At the same time, I hope that developers will continue to put pragmatism first. Free software is great, but an easy-to-use, dependable machine is more important.
*Or procrastinating, but I need a working computer for that, too.
WorksWithU Contributing Blogger Christopher Tozzi is a PhD student at a major U.S. university. Tozzi has extensive hands-on experience with Ubuntu Server Edition and Ubuntu Desktop Edition. WorksWithU is updated multiple times per week. Don’t miss a single post. Sign up for our RSS and Twitter feeds (available now) and newsletter (launching January 2009).
I think you’re missing at least two fundamental points.
First: if it weren’t for Stallman and his “circle”, we’d have no Linux nor Ubuntu to write blog posts about.
Second: the problem with binary blobs is also a pragmatic issue. Ever found yourself fighting against a buggy NVIDIA blob to make it display your desktop at a reasonable speed, or to install it to begin with? Waiting for the next release and hoping “they” have fixed something in their mysterious bubble?
Proprietary software is bad because when there’s something wrong with it, nobody can do anything. And in the meanwhile, you aren’t “getting work done”.
Satchmo: those are both good counter-arguments and I probably should have addressed them more. Thanks for pointing them out.
Regarding Stallman, though, I would point out that while the GNU project produced a number of essential tools, it has chronically failed–for 26 years and counting–to release a usable kernel. Linus Torvalds, the champion of pragmatism within the free-software community, managed (with substantial help from others) to write a kernel from scratch in less than a year. If Stallman and friends were willing to put ideological issues aside from time to time in the interests of just getting stuff done, we could have been using Ubuntu/Hurd a long time ago.
“who could care less whether proprietary firmware is involved in the operation of their wireless card or printer.”
I’m not sure that’s what you meant…
http://incompetech.com/Images/caring.png
aye: an embarrassing mistake. Thanks for calling it out.
Personally I couldn’t care less about proprietary software verses FOSS or OSS. At the end of the day I just want to get stuff done. Ubuntu with it’s approach allows me to do that.
I also have to agree with Chris. The ideologists in the free software movement have thus far failed to develop a complete and usable desktop OS. Have you seen the current state of Minix? Sure it incorporates a few cool technologies a tricks. But it’s nowhere near being a usable OS for the masses. And the Minix project has been running longer than the Linux project.
ATI can hammer out usable graphics drivers in a matter months for their commercial products. But for some reason they just don’t have the motivation to get their open source drivers up to speed. If ATI were so interested in open source why not just release the source for the commercial product?
The reason is competition. With NVIDIA being so strong it would be suicidal for ATI to do such a thing. For one reason or another some companies are always going to keep the inner workings of their software a closely guarded secrete for the privileged few. We can either accept that or do without.
The choice is ours.
Linus Torvalds developed the Linux kernel and made the pragmatic decision to license it under the GPL. He recognized the practical benefit of free (as in freedom) sofware. The FSF have not failed at anything. I’ve rubbed shoulders with Stallman at FSF events, and found him to be a perfectly rational, stable human being, who has the core personaltiy traits of any leader. He cares about his cause, and actually lives by his principles.
My only problem with Debian GNU/Linux, my favorite distro, is that even the testing distro still doesn’t have a new enough xserver to fully support the Radeon Mobility R500 graphics card in my Thinkpad. This is due more to the stringent stability requirements for any software in the distro. But, thanks to the free software movement, those activist Debian fanatics make all their work available to others who can do whatever they want with it. So there’s always Ubuntu. Intrepid has an xserver that supports all the latest accelerated goodness, made possible by those fanatic ideologists (huh?) at ATI/AMD, who have released specifications to the open source community. But Ubuntu would likely not exist if there had never been a Debian.
Linus used non-free software to maintain the Linux kernel for years, until the company decided to take adavantage of its lock-in and tried to decide which developers could use its “free” software. Do you get paid to use our software to improve our competitors’? No soup for you! Linus solved this issue with, guess what? Free and Open Source software. So long, proprietary, Hello, git! And many more FOSS projects benefit.
Those of us who’ve depended on free and open source software for years to get our work done don’t really care if some twelve year old in Topeka doesn’t know how much he owes to Linus or Richard for Linux and the Free Software Foundation.
There are viable, some would say superior, alternatives to proprietary software because of the GNU/GPL. Of course, we all compromise at times. Even RMS used a Thinkpad with closed source bios until a laptop with totally free bios was available. I hear he’s using an OLPC XO right now. I’ll stick with my imperfect Thinkpad.
Still waiting for the Emacs Operating System running on the Hurd…
Go, Richard!!!
Wish everyone would quit talking about binaries as if they were evil. Everyone uses binaries. It doesn’t *matter* if they are binaries or not at a certain point, it’s the *license* that matters. If someone wants to install a controlled piece of software, I hope they know what they are getting into, but it’s their choice. Uncontrolled software equals more freedom though, but some developers also want money for a living for the direct development of certain software. Yes there are other ways of making money, but ultimately most “support” is paid development. I think there’s a lot of ideas that need to be explored with that, like the ransom model where you develop something after or during the money collection period with the understanding that if the software is delivered in the agreed-to manner, the devs will get paid, and the users will get open source software. Or how about a license that starts off as a closed license so they can get the initial payments for their development work, but then the license switches to an open source one after the time noted within it. I’d love to see more of things like that and less of completely closed dead-end proprietary software, but even that can be better than no software at all (in the case of Linux games).
Nice post, Christopher.
I never used Linux to further some ideology or political belief about what should or shouldn’t be free. I don’t care. I never cared. I don’t think free software is always the best way to go, and I believe proprietary (and, yes, even copyrights and software patents *gasp*) have their place in a free market. I’m fine with paying for good software or good hardware. I don’t care if it’s free, as in beer, or as in freedom: if it sucks, I’m not using it.
Those who share my pragmatism are often turned off from free software (Linux in particular) because of the ideological zealotry espoused by Stallman and his ilk. The world runs on money folks, and “free” doesn’t make much money.
As for me, I just want my system to work. I don’t care if binary blobs do the work, or if some naive hacking wookie wrote the code and released as GPLv3. And if it’s a binary blob and it doesn’t work, I can at least go to the manufacturer and complain. If it’s the wookie, I’ll just be insulted and told to learn how to write low-level code in C so I can contribute.
I ran in to the zealots on Ubuntu Brainstorm. I posted an idea encouraging Canonical to work with Ulead to bring VideoStudio to Ubuntu. The Linux desktop is really suffering from a chronic lack of easy to use video editing software.
But no! It’s not “free” so it’s not welcome and I as a user apparently don’t even have the “freedom” to choose for myself.
It goes without saying I don’t visit or post much in Ubuntu Brainstorm.
I waited for Nvidia to fix Twinview for 16 months on Ubuntu. If there was an Open Source driver the problem could have been fixed much quicker. Without free software advocates Open Source would not be possible.
If Nvidia opened up their code the problem might well have been sorted sooner. But Nvidia would almost certainly have lost their competitive advantage and gone bust.