Many GNU/Linux distributions distribute firmware required to use a variety of hardware, most typically, wireless cards, modems and certain high-end disk controllers. While I’m certainly not fond of these non-free “binary blobs“, I think it’s fine that distributions ship them. Users need their hardware to work, and it shouldn’t be complex to make it work either. Consider how incredibly easy it is to install Ubuntu, and then consider the jump of complexity when a user has to install or compile a driver manually- it can cause a significant decrease in free software adoption, and at the moment, I believe it’s a necessary evil we’ll have to live with for now.
However, I get agitated when people say “It’s just firmware” or “It’s technically part of the hardware”. Free firmware is important. One of the most notable free software stories that are often told even refers to Stallman’s earliest experiences with non-free code, which happened to be printer firmware.
Before you say something like “It’s just firmware” again. Please consider asking the following questions first:
- Can the amount of bugs in a system be decreased if the firmware is free software as apposed to non-free?
- Could performance possibly be increased if the firmware is free software?
- Could it benefit hardware hackers and developers by having free firmware available?
And what about security? Firmware usually does not run on your main CPU. It runs on a specific part of hardware on your system that can possibly have direct access to other parts of your system. How would a user, for a fact, know that the proprietary firmware in use does not have some kind of rootkit or other hazardous code installed?
In my opinion, it is clear that free firmware has several benefits to the computing world, and that proprietary firmware has very real hazards. I think it’s wonderful that the Free Software Foundation is working on a free BIOS, but I also believe that with most hardware, that we are dependent on the hardware manufacturers to release specifications and code. Hopefully, as time passes, the free software movement would have more funding to take the kind of action required to fix this. If there is enough funding to re-design hardware from scratch, based on open technologies, standards and software, then this problem can be eliminated. Some projects have proved that open hardware is both viable and profitable. A good example is Digium, who produces open hardware for PBX systems (most likely to be used with Asterisk, the free PBX software suite). There is also the OpenMoko project, which has done awesome work writing free implementations of the firmware and software required to operate the hardware on a cellular phone. This has already had positive spin-off results, such as the Dash Express GPS system, which is based on the hardware design of the Neo1973.
Many top programmers have objected to binary only modules, quoting Linus Torvalds:
Basically, I want people to know that when they use binary-only modules,
it's THEIR problem. I want people to know that in their bones, and I
want it shouted out from the rooftops. I want people to wake up in a
cold sweat every once in a while if they use binary-only modules.
So, please think carefully before dismissing non-free firmware as just an innocent part of hardware. Many people who do things like that often have alterior motives, and quite honestly, I don’t trust them.
Recent Comments