LWN.net Logo

Beryl and Compiz: back together again?

Once upon a time, just over one year ago, the Compiz window manager hit the net. Compiz, which features fancy 3D effects, was the result of some months' worth of behind-closed-doors work at Novell. There was an enthusiastic reception, and others began to hack on the code. It didn't take long, however, before some of those others found that it was hard to get their changes back into the Compiz mainline. Eventually one of those developers, Quinn Storm, got tired of carrying an increasing collection of external patches. The result was a fork, and the Beryl project was created.

These events can be acrimonious, and the Compiz/Beryl fork was no exception. Beryl developers complained that Compiz was run as a Novell fiefdom which was uninterested in patches from the outside. On the Compiz side, Beryl's decision to relicense the code from the MIT license to the GPL meant that code could flow from Compiz to Beryl, but not in the other direction. In early 2007, a Compiz site administrator vandalized Beryl's site, an act which must surely mark a low point in relations between the two projects.

During this time, development on both sides continued, with Beryl quickly developing a reputation for bells, whistles, and an unbelievable number of configuration options. Compiz took a more conservative course, working on getting the core functionality working in a way which seemed, to its core developers, to be right. Despite all of this, the differences between the two code bases are apparently less than one might think. No major architectural change have happened; instead, most of Beryl's additions come in the form of plugins.

Recently, though, the Beryl developers started to ponder some more sweeping changes. According to Robert Carr, the conversation went like this:

Around a month and a half ago some of us were discussing some rather radical changes to the design of beryl-core which we inherited from Compiz, this inevitably led to "We should talk to Compiz about this to keep things synced", which even more inevitably leads to "If we are going to talk to Compiz to keep our designs similar, so on, so forth, are our differences really so large that we need to be two seperate projects?".

The result was that the two projects started talking again. As of this writing, it would appear that Beryl and Compiz have come to an agreement to end the fork and join back into a single project. Should things happen this way, the results for eye-candy fans should be good. There are a few details which need to be worked out first, though.

One of those is licensing. The fact that Beryl's work is licensed under the GPL means that, for the two projects to merge, one of them must be relicensed. It looks like Beryl will be the one to give here, moving its core back to the MIT license. The number of contributors is evidently sufficiently small that this sort of change is still feasible.

Then there is the issue of how to merge the changes in the code. According to Mr. Carr, agreement has been reached on most points, at least with regard to the core changes. In the past, Compiz leader David Reveman has not been receptive to Beryl code:

With a few notable exceptions, most of the code I've seen going into what is now beryl is not high quality code that would be considered for compiz.

It seems that the situation is different now:

The technical part of the merge seems pretty straight forward from my point of view and I've got the understanding that so is also the case for the main contributors to the core of beryl.

The merge is probably helped by the Compiz project's plan to split the code into "core" and "extra" modules. Much of what is currently in Beryl will, it seems, slip into compiz-extra with little trouble.

So if licensing and code are not problems, what are the potential sticking points in this merger? It seems that there are two of them: naming and leadership. The Beryl side is pushing for a new name and structure which would enable a clean start for the entire project. Without that, they fear, one side or the other will probably get the short end of the stick. Mr. Reveman responds:

The merge is done by moving changes made to beryl into compiz or by adding alternative solutions to compiz. No changes are made to the design of compiz and 99% of the code is still code being written as part of the compiz project so I'm having a hard time to justify a name change of the core and I know that most people in the compiz community are firmly against such a name change.

From reading the discussion, one gets the sense that the leadership issues have not yet been the subject of serious discussion. Some sort of project management model will have to be worked out, or the newly merged project will run a risk of falling victim to the same tensions and forking again.

There should be an answer, though. It would be a sad day if these two projects could come together, resolve their technical and licensing differences, then drop the whole thing because they cannot agree on the name. Some great progress has been made on reunifying one of the most unpleasant forks in our community; it seems like the remaining issues must somehow be amenable to a solution.


(Log in to post comments)

Project naming

Posted Mar 29, 2007 1:21 UTC (Thu) by felixfix (subscriber, #242) [Link]

Use "compiz" for "-core", and "-beryl" for "-extras".

Project naming

Posted Mar 29, 2007 5:06 UTC (Thu) by flewellyn (subscriber, #5047) [Link]

Precisely what I was going to suggest. "Compiz window manager with Beryl plugins" or
somesuch.

Project naming

Posted Mar 29, 2007 8:44 UTC (Thu) by alonso (subscriber, #2828) [Link]

I have read somewhere that the name will be Coral....very fine.

Beryl and Compiz: back together again?

Posted Mar 29, 2007 8:17 UTC (Thu) by ldo (subscriber, #40946) [Link]

I'm assuming that the Compiz person responsible for mutilating the Beryl databases has been sacked. I can't imagine any Beryl folk agreeing to work with a team that still contains such a person.

Beryl and Compiz: back together again?

Posted Mar 29, 2007 20:23 UTC (Thu) by Hawke (subscriber, #6978) [Link]

If you had read the article linked to by the vandalism text, you'd have seen that the person in question publicly apologized and stepped down as a forum admin.

Beryl and Compiz: back together again?

Posted Mar 29, 2007 8:53 UTC (Thu) by PhilHannent (guest, #1241) [Link]

[Disclaimer] I have no affiliation with any of these groups.

Personally I think they should stick with Compiz. The reason being that time and money probably has already been spent with lawyers and trademark people to ensure the name is ok to use for the project. Picking a new name surely would require more cost which would take money away from where its needed.

Pick best-known of the two names

Posted Mar 29, 2007 14:37 UTC (Thu) by dank (guest, #1865) [Link]

At the moment, Beryl is much better known. The
main project should switch its name to Beryl to capture
the better brand awareness.

Pick best-known of the two names

Posted Mar 31, 2007 9:54 UTC (Sat) by erwbgy (subscriber, #4104) [Link]

Really? I hadn't heard of Beryl until I read this article, but I had
heard of Compiz.

Calling the core Compiz and the plugins Beryl, as suggested above, sounds
sensible to me.

Pick best-known of the two names

Posted Mar 31, 2007 17:18 UTC (Sat) by bronson (subscriber, #4806) [Link]

Why not call the core "core" and the plugins "plugins"?

That just sounds like needless jargon to me.

Pick best-known of the two names

Posted Apr 2, 2007 19:36 UTC (Mon) by holstein (subscriber, #6122) [Link]

The words "core" or "plugins" could be found hard to defend as brand names.

Pick best-known of the two names

Posted Apr 2, 2007 20:56 UTC (Mon) by bronson (subscriber, #4806) [Link]

Why would you want to use brand names for the subcomponents of a project? That would be like calling kernel/drivers "Alchemy," or /usr/share/doc "Brontosaurus." Yes, they're much more trademarkable, but does that really help anything?

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds