The Ubuntu Technical Board voted yesterday to ship Ubuntu 7.10 ("Gutsy") with Compiz enabled by default. Although Compiz has been featured in Ubuntu 7.10 Tribe prerelesases, the board has had difficulty determining whether or not it is reliable and functionally complete enough to warrant inclusion in the final release.

Compiz is a compositing window manager that includes a number of highly sophisticated visual effects like window shadows, transparency, and desktop zooming. In the Tribe prereleases, basic visual effects are enabled by default on supported hardware, and more sophisticated visual effects—like wobbling windows—can be enabled with a configuration utility. A compositing window manager was originally planned for inclusion in Ubuntu 7.04, but it was delayed because the software wasn't considered mature enough.

Unfortunately, there are still a number of technical issues that detract from the viability of Compiz as a default option. These technical issues and various human factors make inclusion of Compiz a difficult decision. During the Ubuntu Technical Board meeting where the decision was made, the problem was concisely summarized by Ubuntu development manager Scott James Remnant. "It strikes me that we're repeatedly in a rock-and-hard-place situation," said Remnant. "Drivers aren't good enough to support bling, [but] without requirements of bling, there's no incentive to make the drivers good enough." A similar concern was echoed by Travis Watkins later in the discussion. "It still has some rough spots," said Watkins, "but if we don't get it out there at some point it'll never get good enough." Technical board member Matthew Garrett disagreed. "Shipping compiz won't make those problems get fixed faster," Garrett argued.

Driver problems and Xorg developer priorities



The most serious problems that emerge when running Compiz relate to the drivers and underlying components of Xorg. For instance, there are some problems—like accelerated video playback issues with Intel drivers—that can only be resolved by using the EXA accelerated rendering framework which is still not ready yet. When asked why Intel isn't addressing the driver issue, technical board member Mathew Garrett explained that "Intel are working on the basis that composited desktops won't be ready for rolling out until EXA is stable enough anyway, so it's not a concern [for them]."

EXA improvements could be done by any developer with sufficient experience with graphics programming, but most of the Xorg developers who have the ability are focusing on more critical issues. "Have we, by positioning it as a feature for gutsy, motivated anybody to work on fixing the underlying issues?" asked Remnant. "Why isn't anybody interested in this enough to fix the issues?"

Garrett responds, explaining that its a low priority for the X community. "Nobody who has the skills to fix it is interested in running the software," Garrett said. "The general feeling in the X community is pretty much that Compiz is not of high quality...The technical aspects of a composited desktop are interesting, but there are more fundamental issues that people want to fix first. People want to get X up to the Win2K level before trying to match Vista."

The recent major priorities of the X community include hotplugging and input redirection support. Most of the hotplugging issues have finally been resolved in Xorg 7.3.

Another major problem faced by the technical board members was the difficulty of determining exactly how many people are affected by the problems. "Do you think there is any quantitative way we can assess whether it works well for most of [Ubuntu's] current users?" asked Canonical's Chief Technical Officer Matt Zimmerman. "I feel a bit doomed either way, not having much in the way of concrete data to work from."

"Some feedback on how many people are actually using it would be helpful," commented technical board member Matthew Garrett, "but since we don't enable it by default on upgrades it's quite possible that most of the people following gutsy aren't running it."

The Ubuntu Technical Board also considered how users would respond to a decision not to include Compiz by default in Ubuntu 7.10. "I'm fairly certain I understand who the people are who would be disappointed by disabling it," said Zimmerman. "However, I don't feel that I have a good understanding of the people who are affected by the problems." Not enabling Compiz by default would "disappoint a lot of community members and result in a lot of bad press," Zimmerman noted, but enabling it would "result in functional problems for some users."

When the decision was made, all of the participants voted in favor of inclusion, except for Garrett, who expressed discomfort with the fact that the original decision at the beginning of the development cycle to try to get Compiz into Ubuntu 7.10 "was not especially based on technical correctness." Ubuntu founder Mark Shuttleworth relayed his vote in favor of Compiz inclusion over the phone, but did not participate in the meeting because he was at the VMware World event and didn't have Internet access.

I think that Garrett deserves a lot of credit for taking a strong position in favor of high quality standards, but ultimately I think the board's decision to include Compiz by default is the best choice. The discussion itself reflects some of the significant challenges faced by the technical board and provides valuable insight into the thought process behind one of the most important decisions about the Ubuntu 7.10 release.