The Case for Non-Free Firmware By Default
Ubuntu comes with a nice application called “Hardware Drivers” (a.k.a. jockey-gtk) for installing proprietary drivers for wireless cards and other devices that lack open-source support. This is great, except when your only connection to the Internet is wireless and you have no way to download the driver or firmware you need. Here’s why this situation should change.
The reasoning behind the exclusion of closed-source drivers from the default Ubuntu system centers on legal and philosophical issues. In some cases, Ubuntu’s legal right to redistribute proprietary binaries is in dispute. And most Ubuntu developers consider a dependency on closed-source code as incompatible with the Ubuntu philosophy.
To a degree, I agree. But to paraphrase Albert Camus, even in free-software evangelism, there is an order, there are limits. In other words, staying true to the principles of open-source development shouldn’t come at the cost of basic functionality for the user.
If the developers want to keep closed-source video drivers out of the default stack for philosophical reasons, fine; those are easy enough to install later, and are not essential for getting a basic system up and running. But having no way to get online is a deal breaker, especially for non-geeks who don’t know how to work around the issue.
Ubuntu would work better out-of-the-box for more people if it included non-free firmware and drivers for wireless cards by default. Curiously, the proprietary Broadcom STA driver, which is essential for certain kinds of wireless cards and was included by default in the Jaunty kernel, has been removed in Karmic and is available only as a download from the repositories.
Why this decision was made is unclear, because there were no legal issues involved in distributing the STA driver (if you don’t believe me, read the license available from Broadcom’s site). Presumably a Richard-Stallman fanatic decided it would be better for Ubuntu users to have non-functional wireless cards than to be denied the liberty of using only Free software.
Similarly, the b43 wireless driver, which supports most Broadcom-based wireless devices, requires binary firmware to run. Previously, this was only available via extraction from Windows drivers that Ubuntu did not have the explicit right to redistribute. Hardware Drivers supported the automatic installation of the firmware from the Internet, but Ubuntu did not ship with it because of legal concerns.
Recently, however, open b43 firmware has become available. It doesn’t work very well yet, but having it installed by default might at least help some users get online to download the proprietary firmware.
Better yet, I’d like to see Ubuntu take a stance and ship the closed-source firmware by default until its open equivalent matures. The chances of being sued are minimal, and of being held liable even less so. If open-source developers cowered before every legal threat leveled at them, Linux itself would have disintegrated nineteen years ago.
On the CD
If Ubuntu developers want to avoid non-free wireless drivers in the default system image, the least they could do is include the packages necessary to install them on the live CD. This way, Hardware Drivers would work for users lacking a wired Internet connection.
There might still be legal ambiguities involved in distributing drivers in this way, but the philosophical issues would be mitigated. More importantly, many users would be much happier, pace RMS. And that’s what matters.