The developers behind the Debian Linux distribution are preparing for the upcoming release of Debian 5, which is codenamed Lenny. The decision to move forward with the release follows a contentious vote over whether to permit the inclusion of binary blobs in the new version of the distribution. Consensus coalesced around a controversial proposal to "assume blobs comply with the GPL unless proven otherwise."

The issue centers around a long-running dispute about the licensing implications of allowing binary firmware components to be bundled in the kernel. Although the practice of embedding proprietary firmware in hardware devices is widely accepted, some free software purists object to scenarios where the binary firmware components are stored in the kernel and loaded into the hardware at runtime. The debate over this issue has raged for years and a close examination of what it entails is beyond the scope of this article.

Some mainstream Linux distributions—such as Ubuntu—take a pragmatic view on the issue. Debian, however, has deep ideological roots and a development culture that holds software freedom in high regard. Critics of binary firmware within the Debian community argue that the growing tolerance of binary firmware represents an unambiguous deviation from the principles embodied in Debian's social contract and free software guidelines.

Voting controversy

The debate renewed last month as the Debian development community began the task of determining whether or not the release of version 5 should be delayed to facilitate the purge of binary firmware blobs. The matter was put to a vote through the general resolution process. The Debian election methodology is moderately complex and somewhat confusing to outsiders. Each voter ranks the available options in an order that reflects their preference. The Condercet Method, with Schwartz Sequential Dropping, is used to compute the winner based on the rankings.

The election was managed by Debian secretary Manoj Srivastava, who resigned in response to allegations of mismanagement and ballot irregularities shortly after the elections were completed. Srivastava, who assembled the ballot and maintains the software used to compute the election results, has been Debian's secretary since 2001. Critics accuse Srivastava of abusing his power by selectively applying super-majority requirements to proposals that he disliked.

In Debian elections, any proposals that are viewed as being fundamentally in contradiction with the project's core principals generally have to be supported by a 3-to-1 supermajority in order to pass. Srivastava's decision to invoke that requirement on several of the ballot proposals in the binary blob vote is perceived by some critics as arbitrary and unreasonable. They argue that he intentionally tried to sink propsoals that didn't match with his views.

"In the years I have spent in this role since Darren left us, I have tried to conduct the votes as I saw the rquirements of the constitution, and the limitations of the voting software. But this not a view shared by very many people. I concede that I have made mistakes with the current set of votes," he wrote in an e-mail stating his intention to resign. "There are, in my opinion, far more cogent arguments being offered now, than there were in the discussion period, and had these being made earlier, we would not have come to this pass."

Getting Debian 5 out the door

The winning proposal suggests that getting Debian 5 out the door is more important than completing the crusade against binary-only firmware. It also states that binary firmware should only be included if it can be legally redistributed.

"We give priority to the timely release of Lenny over sorting every bit out; for this reason, we will treat removal of sourceless firmware as a best-effort process, and deliver firmware as part of Debian Lenny as long as we are legally allowed to do so, and the firmware is distributed upstream under a license that complies with the DFSG," the proposal states.

On the surface, the final decision seems a bit radical for a freedom-oriented distribution like Debian. The issue has, however, been around for a long time and was addressed with a similar outcome prior to at least two previous releases. The general view of the Debian community is that they are satisfied with allowing releases to go forward as long as consistent progress is being made in eradicating binary blobs and there are no clear regressions in this area between releases.

Some of the ballot options that failed to pass reflect very different philosophies. For example, one proposal suggested that firmware should be categorically excluded from the source availability requirements of the free software guidelines. Another proposal called for an unconditional delay until the non-free components are fully purged. And another proposal aimed to grant the Debian release team the authority to evaluate each case individually.

The Debian 5 controversy invited criticism from several key figures in the Linux development community, including kernel developer and Linux Foundation CTO Ted Ts'o. In a personal blog entry, Ts'o criticized the Debian project and argued that the extreme and uncompromising language in the organization's social contract is counterproductive. He suggests that placing such extreme emphasis on software freedom above all else is like idolatry and erodes principles that he thinks are more important, such as civility and fair treatment of other people.

The Debian 5 schedule originally specified the second half of 2008 as a likely window for release. Debian is notorious for major release delays and there always seems to be some kind of significant argument or dispute at the last minute. Prior to the release of Etch, the last major version, controversy erupted over Dunc Tank, a community-sponsored group that raised funds to pay prominent release managers in the month leading up to the release. It was hoped that delays could be prevented if two release managers had funding to work on Debian full-time for a month each. The plan was attacked by critics and the release fell behind schedule despite the funding.

Despite all of the controversy and squabbling, Debian 5 is shaping up to be a pretty strong release. It will include version 2.6.26 of the Linux kernel and Xorg 7.3.

Debian stable releases are engineered to be rock solid, so they tend to fall back on older application versions where necessary rather than jumping ahead. An example of this can be seen in the changes that they made to their GNOME stack. The default version of GNOME included in the Debian repositories will be 2.22, which was released last year. GNOME 2.22 was a transitional release, and some of the major features—such as the new virtual filesystem layer—were still incomplete. Instead of backporting the improvements in those areas from 2.24, Debian has taken its characteristically conservative approach and has dropped GIO in favor of the legacy gnome-vfs framework in Nautilus and several other core desktop components.

Debian 5 will also ship with OpenOffice 2.4 instead of the recently released 3.0 version. The most significant addition in 3.0 that is relevant to Linux users is support for Microsoft's Office Open XML format (OOXML) format. This feature will still be available to Debian 5 users because Debian uses Novell's Go-OO branch of OpenOffice.org, a custom version that includes OOXML support and higher-quality Linux integration.

For a complete list of the new features in Debian 5, check out the overview in the Debian wiki. You can also download the latest release candidate from the project's web site.