You would think that a GNU/Linux distribution dedicated to shipping only free software would be uncontroversial. After all, isn't free software what GNU/Linux is all about? Yet, when the latest version of GNewSense was announced recently, Slashdot readers were divided in their reactions.
Some thought the distribution would have too limited appeal, and argued that what was needed was a distribution so popular that hardware and software vendors would have to support it. Others suggested that GNewSense had two uses: As an indicator of what the free software community has done so far, and as a summary of what still needs to be done before the goal of a completely free operating system is realized.
GNewSense began at a conference in Tunis in 2005 when Paul O'Malley heard Mark Shuttleworth and Richard Stallman talking about the possibility of a politically free version of Ubuntu, whose various incarnations include proprietary wireless drivers and access to non-free video drivers. O'Malley raised the idea on chat channels, and the project began in June 2006 when Brian Brazil joined the project.
The first release in November 2006 was immediately endorsed by the Free Software Foundation, making it one of only half a dozen distributions with that distinction. In fact, the Free Software Foundation donated a build machine and server space for GNewSense during initial development.
Meanwhile, Shuttleworth encouraged the creation of Gobuntu, an Ubuntu sub-project with the same goal as GNewSense. In his recent blog musings, Shuttleworth has decided to forget about Gobuntu and encourage GNewSense, so as not to dilute the effort. Since Shuttleworth's musings coincided with the second release of GNewSense, they have helped to give the distro renewed attention in the media.
Where we are
At first GNewSense seems virtually identical to Hardy Heron, the latest Ubuntu version. Both use GNOME 2.22, and include such packages as OpenOffice.org 2.4 and GIMP 2.4.5. The branded wallpaper is different, but the muddy brown of Ubuntu's default theme is even visible on the title bar of GNewSense windows.
Dig deeper, though, and you'll start to see differences. If you are on a laptop, your wireless card has a strong chance of not working. Your video card probably does only 2-D acceleration, and the desktop has no Restricted Drivers Manager to help you add proprietary 3-D ones. Instead of Firefox, you have Epiphany, another Mozilla-based browser, not because Firefox is proprietary, but because the Mozilla Corporation is strict about enforcing the trademark on its products. At the kernel level, you'll find some 119 firmware files gone, too.
All these changes are part of GNewSense's commitment to shipping only completely free software. Brazil and O'Malley do not claim that they have succeeded in this goal (good thing, too, since, in my own testing, I discovered that the latest version includes support for the Ralink Rt73 wireless driver, which depends on proprietary firmware although free in itself), but they do claim to be making good faith efforts to remove the proprietary elements as they become aware of them.
The result? For all the attention that GNewSense has received, surprisingly little. If you want to play your favorite first person shooter, or use Flash, you are out of luck. You may also find that, unless you choose your hardware carefully, you are unable to use your wireless card.
However, if you want ordinary office and Internet productivity, or printer or a wired Ethernet connection, you probably won't notice the effects of the GNewSense principles even in passing. In 2008, free software has reached the stage where, for most everyday purposes, it works without any fuss.
In a sense, GNewSense celebrates this achievement by illustrating that in many cases you can stick by your principles without sacrificing functionality. Unlike many distributions, what is noteworthy about GNewSense is that little is noteworthy about it.
Where we're going
At the same time, there's no denying that, if you belong to certain classes of users, GNewSense can be a deeply frustrating distribution to use. For instance, it's not the distribution for road warriors for whom connectivity is an invisible umbilical cord, or for animators for whom 3-D acceleration is a given. For such users, GNewSense may seem more like a time machine to the bad old days of 1999, when GNU/Linux was less mainstream. From the perspective of such users, a GNewSense installation is an indicator of the remaining gaps in the operating system's functionality.
Another possible issue that GNewSense raises is: How did those proprietary blobs get into the kernel in the first place? Asked if he had anything to say to manufacturers who keep their specifications proprietary, Linus Torvalds' first flippant response was "Is 'I hope you all die a painful death' too strong?"
The kernel mailing list suggests that most kernel developers agree with him. Given such sentiments, you might imagine that they would be on guard against proprietary elements creeping into the kernel. Yet GNewSense seems to have proved that the proprietary elements are there. You can't help worrying that copyrighted code might have slipped in as well, despite all claims that the development model makes that unlikely.
Still, the proprietary kernel blobs aside, the limitations GNewSense identifies remain reasons for optimism. Start investigating these limitations, and you soon find that the more pressing of them are likely to be overcome within the next year -- or perhaps two years at the most. Gnash, for instance, is rapidly approaching its 1.0 release, when it will be a complete replacement for the Adobe Flash player. Similarly, the Nouveau project is coming closer all the time to 3-D drivers for NVidia. We have every reason to hope that upcoming GNewSense releases will have even fewer releases than the current one.
Present and future
The only criticism that I would level against GNewSense is that its first two versions have been focused too much on taking things out and not enough on promoting replacements. Not shipping Adobe Flash player is understandable, but why not include Gnash instead? True, it is not a complete replacement yet, but displaying its current limitations might rouse users to support the efforts to improve it.
The same goes for OpenJDK, which is likely to become a complete replacement for Sun Java by the end of the year. Highlighting the efforts to overcome GNU/Linux's shortcomings seems at least as important as pointing them out, yet GNewSense does not even include these efforts in its repositories.
GNewSense is not for everybody. Many users do not have the dedication or the self-determination to choose a radically free distribution. For this reason, some of the dismissals of GNewSense might be justified if it were the only GNU/Linux distribution, or if it were a leading distribution. However, with hundreds of distributions, many of them commercial and including proprietary drivers, GNewSense serves the purpose of presenting a useful contrast. It is the entire community, not any single distribution, that is likely to persuade vendors to support GNU/Linux, and the diversity among distributions should leave little doubt to anyone who cares to observe that the platform is thriving.
But, regardless of whether you are motivated most by pragmatism or idealism, you do not need to reject one in favor of another. If distributions like Ubuntu that mix free and proprietary pieces are the present, then perhaps GNewSense is the future -- or, to be more accurate, a preliminary sketch of what the future might look like.