In Friday's OStatic Buffer Overflow, Sam linked to a Phoronix write up on Compiz's uncertain future.
Compiz, the project that brought eye-candy to Linux (with effects ranging from useful to breathtakingly beautiful to "why would I want to do that?"), has been in trouble for some time. It's not yet had a stable release, though it has branched (and merged) several times.
If it's confusing for an end-user to figure out what branch of Compiz they're using, think about developing when branches and re-merges fly out of nowhere, like flames behind a mouse pointer, forcing code re-writes (or rendering months of work useless).
Kristian Lyngstol, a Compiz developer, says while the "current situation is rather dark," it is "not without hope." He doesn't sugarcoat the situation, and proposes what's next for project survival. Maybe not exciting, but his statements are precisely why Compiz still has a fighting chance.
Lyngstol cites a number of reasons why the project is losing developers and stagnating. His breakdown is simple: there is a lack of direction and no clear leadership.
Lyngstol says that direction and organizational concerns must be addressed before Compiz moves any further. Identifiable goals, roadmaps, and (yes) even clearly defined procedures are encouraging to developers. Lyngstol points out that many developers leave because their work is lost when an obscure branch is merged into the core.
Pair that with code that's not particularly well documented, multiple bugtrackers, multiple development mailing lists, and code and plugins spread far and wide, it's harder and harder to develop, use -- and becoming impossible to manage.
The problem is compounded by a few years of waiting, as he puts it, for "something that will change everything":
...whether we call it an object framework, nomad or Compiz++, the reality is that all these branches are counter-productive, regardless of how fun or flashy they are.
Compiz has three branches presently. Lyngstol proposes that all involved need to look at the bigger picture, and meet to talk about compatibility and long term maintenance issues. He says if this can't be done, there isn't much choice but to forge ahead with Compiz's master code and consider the other efforts forks.
The last issue Lyngstol mentions makes me feel as though Compiz has a shot at moving forward: "Compiz is a research project."
Too many have forgotten this. When Ubuntu opted to include Compiz on Gutsy, a major sticking point for many was that Compiz was simply not ready. It didn't make systems burst into flames, sure, and it wasn't that it didn't work reasonably well on generic hardware. It also wasn't what many would expect in a stable application -- and it still isn't there. It needs to get there. Stability and known quantities don't mean a project can't be cutting edge or is suddenly "boring" -- it means there's a solid basis for starting new, more innovative work. A solid core means new ideas have a better chance of success.
I like eye candy, and I think the Compiz project, thus far, has nailed some impressive, beautiful (even functional) desktop effects. I installed Compiz successfully for the first time (with Xgl) on Gentoo about three years ago. It was gorgeous then -- it still is. Three years later, however, all that feels significantly different is that it has been packaged for a number of distributions, and Xgl/AIGLX configuration is less of an issue.
This is an exceedingly cool project. It's suffering at the hands of its desire to be on the bleeding edge, however. Lyngstol has taken a first, very public, step to pick Compiz up and push it forward: Sort out our management and organizational problems, use this new management structure to maintain a stable branch, and work on the "wow" factor from there.
It's a reasonable plan of action to combat the project festering and splintering further -- and draw developers back into the fold.