The development community behind the open source Compiz window manager is undergoing a major reorganization effort that will converge disparate branches of the project and help it overcome its recent lack of direction.

Compiz is responsible for bringing rich visual effects such as cube rotation, transparency, shadows, and wobbly windows to the Linux desktop. It includes a powerful compositing engine that leverages hardware-accelerated 3D graphics and the latest features of Xorg. It is shipped with several popular Linux distributions and is extremely popular among Linux enthusiasts.

The project originally began at Novell as the work of David Reveman, but it was forked by an independent community of developers who were dissatisfied with the lack of inclusiveness and the manner in which it was being managed by Novell. The fork, which was called Beryl, was eventually reunited with upstream Compiz when it merged with Compiz Extras and became Compiz Fusion.

Reveman's declining participation in the effort left Compiz without any leadership or direction. Several active contributors began making massive architectural changes to Compiz in their own branches outside of the project. This fragmentation weakened the project and created a lot of uncertainty about how it would move forward. In response to these issues, developer Kristian Lyngstol posted a message on the Compiz mailing list in December urging the community to come together and build a consensus around a new direction, consolidate its development tools, and improve technical documentation so that Compiz would be more accessible to new contributors.

Compiz developers participated in several conference calls in order to address the issues raised by Lyngstol. They made several important decisions which were announced in a mailing list post. The project will be led collectively by members of its new community council, which consists of five key members of the Compiz community. They have laid out a roadmap that will allow the project to move forward.

The somewhat arbitrary distinction between Compiz and Compiz Fusion will be dropped entirely. The project will simply be called Compiz and all of the development infrastructure-—such as bug report systems and mailing lists—will be converged. They are also planning to begin the process of preparing for an official 0.8 release, which will include the latest stable components.

Following the stable release, they intend to adopt the major architectural changes that have been prototyped by Dennis Kasprzyk in his Compiz++ branch. These changes include migrating the entire code base to C++ with an object-oriented design. His work will also provide support for tiled textures, improved ABI stability, support for pluggable rendering backends, and reparented window decorations. A 0.9 release is planned after Compiz++ has been fully integrated.

According to the new roadmap, Novell's Nomad enhancements could also potentially be merged into Compiz after the 0.9 release. Nomad is a project that aims to bring improved remote desktop capabilities to the Linux platform, including support for client-side compositing. This features some significant modifications to Compiz that aren't yet fully mature. There are also plans to conduct a complete code review and improve documentation throughout Compiz.

The new plan is ambitious but very promising. Compiz is becoming an important part of the Linux desktop stack and it has the potential to bring a lot of very rich aesthetic and usability improvements to the platform. The lack of momentum behind the project in recent months has been very troubling and the renewed efforts to break away from the current malaise of stagnation are a good sign that the developers are still committed to making Compiz shine.

Further reading