Although Broadcom had very good in-house Linux drivers for its wireless cards, which it sold to manufacturers of wireless routers that ran on Linux, it refused to release the drivers to the community, even in binary-only form, or to provide documentation that would assist Linux users in writing their own drivers. Consequently, ndiswrapper was for many years the only way to get Broadcom cards running on Ubuntu and other distributions.
Eventually, the bcm43xx project (which has now become the b43 project and merged into the larger Linux wireless stack) managed, through tedious clean-room reverse engineering, to write native Linux drivers supporting most Broadcom chipsets. Taken for granted by many Ubuntu users today, bcm43xx represented a huge milestone when it first appeared in functional form a couple of years ago.
Last summer, Broadcom suddenly and quietly reversed its anti-Linux policies by releasing drivers for certain Broadcom wireless cards. Most of the source code is closed, and at this point only a handful of chipsets (mostly newer ones) are supported. But this development, which has remained more or less under the radar, nonetheless has important implications that extend well beyond the wireless scene.
Most significant is the fact that, as far as the (admittedly scattered and minimal) evidence indicates, Broadcom's change of heart towards Linux was a direct result of the newfound leverage that Canonical is able to wield on behalf of the free-software community. An Ubuntu developer writes:
Dell and Canonical are both driving efforts to ensure that Broadcom is opening their drivers. With the quantity of Ubuntu systems being shipped outside the US to places like China, Dell does have the ability to speak with the dollar and will be doing so.This ability for the Linux community (or its representatives) to “speak with the dollar” is enormously remarkable. Linux distributions have managed to secure limited deals with uncooperative third-parties in the past, especially in situations where it helped a particular company compete in the server market (think of Novell's dealings with Microsoft, for example). But Broadcom's sudden embrace of the Linux community seems different, due not to some self-interested scheme by Canonical, but to Broadcom's realization that Linux—even on the desktop—matters.
Many individuals, especially die-hard disciples of Richard Stallman, will argue that Broadcom still has a ways to go if it wants to prove that it's serious about Linux support. The source of its drivers remains essentially closed, with their future status unclear. As the Ubuntu developer writes, “It's hard to go on a company's word that they will open a driver up and play nice, especially Broadcom.”
All the same, these drivers are a concrete example of the legitimacy that Ubuntu has gained, thanks in large part to the leverage that Canonical enjoys. This isn't to say that 2009 will become the elusive Year of the Linux Desktop, but it's certainly a step in the right direction.
N.B.: if you want to test Broadcom's closed-source drivers on Hardy without the headache of compiling them, check out this thread. They are supposed to be included by default in Intrepid, although I haven't verified that assertion.
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).