January 7, 2009
This article was contributed by Bruce Byfield
Is Compiz dying? Possibly not, but the consensus among developers of the
compositing window manager seems to be that the project is in serious need
of reorganization if it is going to survive.
Founded three years ago, Compiz quickly gained recognition as one of the
first projects to deliver 3-D graphical effects on the desktop. Probably
its best-known effect is the presentation of multiple workspaces on a
rotating cube. The current state of the project dates from the merger of
Compiz and Beryl, a fork of Compiz, at the end of March 2007.
Since then, development has been divided into two projects: Compiz, which
includes the core functionality and basic plugins, and Compiz Fusion, which includes
utilities and more plugins. In theory, the two projects were supposed to
merge, but in practice, that has never happened. The projects still
maintain separate web sites, mailing lists, and bug trackers, despite the
fact that most developers of one project also work on the other.
The community appears to lack both organization and
direction, with many developers working on their own branches of Compiz in
secret rather than face endless discussion about their goals. Still
other developers have drifted away from the project. Under these
circumstances, the community has not only been unable to manage a 1.0
release, but, 18 months after the last stable release, is still struggling
to complete version 0.8.
More recently, the community has been affected by the withdrawal of Compiz
project leader David Reveman. Reveman's departure, apparently made without
any official announcement, has led to a lack of leadership, since no
experienced Compiz developer appears willing to assume the role of
community organizer. Just as importantly, Reveman's refusal to respond to
emails after his withdrawal has caused practical difficulties for other
developers because much of the Compiz code base is undocumented.
The result is that Compiz, once seen as an exciting, leading-edge project
is now being openly denigrated in some circles. For instance, one commenter on a recent
Compiz video on YouTube wrote:
Dramatically ugly, unusable, slow, badly animated and unconsistent.
Open source development without a serious, expert maintainers can result in
chaotic growth of the project and waste of human resources into pointless
code.
The Compiz-Fusion project is certainly the most representative example of
all this.
The situation came to a head in late December when developer Dennis Kasprzyk announced
the creation of a new compiz++ code branch. This new branch is written in
C++ as opposed to the C programming language of the main branch, and would
require numerous changes in the behavior of plugins. A few days later,
Kasprzyk's announcement motivated Kristian Lyngstol, another developer, to
begin a thread on the Compiz mailing list on "The
Future of Compiz." This thread was echoed in an article called "Compiz is dying and we
need to fix it" by Kevin Lange. Since then, discussions about the state
of Compiz have emerged on numerous other mailing lists, especially those
dedicated to specific distributions.
According to Lyngstol, "there has been the equivalent of no progress
since the merger. We've basically been in maintenance mode. The reason for
this, from my point of view, is a complete lack of direction and
leadership."
Lyngstol sees several reasons for the current state of Compiz. To start
with, he suggests that project members have been waiting too long for
"something that will change everything," and the result has
been too many code branches, many of which are incompatible with each
other. "The reality is that all these branches are
counter-productive, regardless of how fun or flashy they are,"
Lyngstol writes. He continues:
If we are to have a healthy development environment, and any hope of
bringing Compiz out of a constant alpha-stage, we need to have clear
development goals and a way to cooperate. Before somebody puts 6+ months of
development into their work then present it as a final solution.
Next, Lyngstol notes that the community remains small, with less than 20
people contributing code, if the subscription list for Compiz-Fusion Planet is an
indication. In fact, Lyngstol writes, "Unless I'm missing something
obvious, we haven't seen a single new core developer that contributes
significantly to [the main branch] since the merge. We have, however, lost
a few."
Lyngstol goes on to suggest the reasons for the lack of developers. Because
the project has no direction, he writes, "all development and design
is done as a solo race. There's no way to know whether you can work on
something without losing your work because some obscure branch gets
merged."
Even worse, the merge of Compiz and Compiz-Fusion that was supposed to
happen never has, resulting in a duplication of effort that Lyngstol
describes as "messy." Much the same state of chaos exists in
the code, which is both "undocumented" and "not
particularly pretty." Moreover, when new code is added, its functions
"do more than C functions should do." But the basic problem,
according to Lyngstol, is that "Compiz is a research project,"
in a constant state of change and is not focused on producing a stable
release.
To solve this situation, Lyngstol suggests a merger of the various code
branches — or perhaps, an agreement that some or all are forks
— and some serious attention paid to project management. "We
should have clear goals for every major release," he writes,
"and finding those goals should be the top priority after a stable
release. For each point-release in a development series, we should also
have a clear goal. This will make it easier to predict releases and for
developers to help."
[PULL QUOTE:
Perhaps the greatest indicator of the state of the Compiz community is not
Lyngstol's critique, but the polite agreement with which it has been
greeted so far.
END QUOTE]
Perhaps the greatest indicator of the state of the Compiz community is not
Lyngstol's critique, but the polite agreement with which it has been
greeted so far. To date, those who have responded to Lyngstol's posting
have quibbled over the details of some of his points while not seriously
contesting his overall observations or his suggested solutions.
Another, more unfortunate indicator is that, while posters have agreed that
leadership and direction are needed, so far none of them have come forward
to offer it. Instead, Lyngstol and several other active developers have
gone out of their way to state that, while they would support change, they
were unwilling or unable to take on any leadership role.
So far, no one has suggested possible external reasons for the diminishment
of Compiz. But it may be that, now that the novelty of 3-D special effects
have worn off, few reasons exist to develop them; the few practical
effects, such as zooms, are too slight to encourage the majority to move
away from standard 2-D desktops.
Another possible factor is that 3-D video drivers that are both stable and
released under a free license are taking longer to arrive than anyone
anticipated, and their lack reduced users' interest in projects like Compiz
that require them.
Still another suggestion was made in an anonymous comment on Lange's
article:
Perhaps Compiz has served its purpose by
proving that the free desktop could surpass Windows or OS X in eye
candy. However, not everyone would agree — developer Quinn
Storm, for example, posted a comment
to the Compiz mailing list in
which she makes clear that she thinks that Compiz has that goal, but has
yet to reach it.
Whatever the reasons and whatever happens, one consolation is that, in free
and open source software, nothing is really lost. But, as things stand now,
with no one willing to assume the leadership of the project, a very strong
possibility exists that the the Compiz will continue to diminish, with its
members aware of the situation but unable or unwilling to change it.
(
Log in to post comments)