This year has already seen the second release of gNewSense, the completely free distribution endorsed by the Free Software Foundation (FSF), and the announcement that Ubuntu will have a free software option as part of its installation program. Now, if Alexandre Oliva, a Red Hat employee best-known as a board member of the Free Software Foundation Latin America (FSFLA), has his way, building a 100% free distribution will become easier thanks to his linux-libre project. Unfortunately, the path to freedom, he's finding, is often blocked by politics and a preference for convenience over ideals.
Until recently, software freedom was defined largely by license. But, a couple of years ago, GNewSense developers alerted the free software community to the fact that the Linux kernel contained non-free elements, especially hardware drivers that relied on non-free firmware, by releasing a distribution that stripped out such elements. As a result, not only has the FSF adopted GNewSense as the distribution used in its offices, but this year the FSF released a set of guidelines defining exactly what constitutes a free distribution. In recognition of the newness of this approach, the FSF guidelines clearly state that they are a work in progress, and that "a good faith effort" to remove non-free material is as important as complete compliance.
To help spread the adoption of this new definition, Oliva has developed the linux-libre project to offer completely free kernels. Using a series of scripts, Oliva claims that "maintaining linux-libre takes me two to three minutes a day. Most of the time, no clean-up is required, because the non-free bits in Linux tend to remain in place, and I have scripts that will let me know whether there's anything new that requires manual intervention. It took me several workdays to write these scripts,and I still tweak them every now and then, but it's mostly trivial maintenance these days. When a new Linux release comes up, it takes me just a few minutes of attention to prepare a freed tarball, because I've been accumulating the preparation for it throughout its development cycle."
However, as Oliva has discovered, the use of such kernels is not just a technical matter, but also a political one.
Talking to kernel developers
Oliva knew ahead of time that the Linux kernel community was unlikely to be receptive to the idea of offering linux-libre kernels. "It's not a community that values users' freedom as much as it values convenience," he says. Not only had Oliva firsthand experience from trying to argue about the third release of the GNU General Public License with Linus Torvalds, but "I had reports from developers involved with gNewSense and Blag [another free distribution] who'd tried to submit patches to clean up non-free software from Linux and who had been, let's say, laughed and cursed out of the room."
All the same, Oliva raised the issue last month among Fedora kernel developers. Unluckily for Oliva, the Fedora kernel developers were in the process of resolving the problems involved in maintaining both the standard kernel and Xen versions. "The timing was terrible," he laments. "The idea of adding yet another kernel split was perceived as a risk of bringing all that grief back, so the idea of offering additional kernels built out of linux-libre was vetoed."
Instead, kernel developer David Woodhouse suggested a plan by which non-free firmware would be moved into a separate branch of the kernel source tree and excluded from a normal kernel build. The non-free firmware could be distributed in a separate package by distributions that wanted it, and excluded by those wanting a 100% free distribution or spin.
However, Oliva objects to this solution, arguing that it will simply preserve the existing situation and remove any incentive for vendors to develop free firmware. Just as importantly, "it does nothing to address the problem of other obscure chunks of code in the kernel, often derived from documentation under non-disclosure agreements or from non-free drivers that don't offer permission for the code to be distributed under the GNU General Public License." Each distribution would therefore have to keep a separate eye out for such non-free code. By contrast, using the linux-libre kernel could avoid this duplication of efforts, Oliva suggests.
At the same time, Oliva began promoting his ideas in the Fedora project by creating a Fedora Freedom project. True, the Fedora licensing guidelines specifically exclude non-free firmware from consideration. However, given Fedora's original goal "to build a complete, general purpose operating system exclusively from free software," to say nothing of the enthusiasm in the project for Greg DeKoenigsberg's suggestion that "Freedom is a feature" be used as a project slogan, Oliva hoped that the idea would find some welcome.
In practice, though, Oliva was disillusioned almost immediately. A kernel built from linux-libre, he was told, was unacceptable because it could not be trademarked by Fedora, although a free spin might be welcomed.
In recent weeks, Oliva has turned to the Fedora list to recruit support for developing a free version of Fedora. But here too the reception has been chilly. Not only has Oliva had to explain and constantly defend the new definition of software freedom, but part of the discussion has degenerated into a revival of the old dispute over calling the operating system Linux or GNU/Linux, with his detractors making clear that they care little for ideals compared to personal convenience. Nor, despite a few posters who support Oliva's views, has the discussion engaged more than half a dozen people. However, one of those is Oliva's fellow Red Hat employee Alan Cox, who, as much as anything else, is annoyed at Oliva's insistence on arguing every point in the discussion in exhaustive detail.
Asked if Fedora Freedom is still worth doing despite this lukewarm reception, Oliva replies ruefully, "That's a question I ask myself every time I face this kind of hostility." For now, Fedora Freedom remains a proposal that, despite the small amount of work necessary, seems unlikely to be included in the next Fedora release.
Dealing with disappointments
For Oliva, the experience appears to have been disillusioning, not just because of his free software idealism, but because he thought he had a reasonable approach. "I expected negative reactions to the idea of replacing the non-free kernel," Oliva says, "but I thought adding an alternative 100% free kernel built out of 100% free sources was going to be a no-brainer."
On a personal level, the reception at Fedora is especially disappointing. "I work for Red Hat," he says, "and I'd really like to be able to recommend to people out there a distro that the company I work for helps create. It was quite disappointing that a community that set out to create an operating system exclusively from free software would not permit anyone to install or distribute a system without also installing or distributing non-free software."
If Oliva's experience is any indication, the technology for a totally free operating system is in place, but much of what calls itself the free and open source software community has still to catch up with the idea. Instead, many seem content with a partly free, partly proprietary operating system simply because that is what they know or are used to.