Compiz and Beryl merge: What's really going on? Recently Quinns post to the beryl-dev mailing list entitled 'Merge on' has led to a lot of discussion, some of which has been good and some of which has led to a lot of misinformation, to clear things up I'd like to give the story of the merge, and the justification for some of the more peculiar aspects. Basically lets try to avoid misinformation and make sure everyone has a realistic picture of what's happening.
The first thing I want to note is: The merge is NOT ON, it looks incredibly likely, and it's looked incredibly likely for a few weeks now, but there are still some very important things to work out, and a lot of discussion still needs to happen. 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?". After talking to a few people I sent an email to David Reveman of Compiz on a personal basis suggesting the idea as something worth discussing, and not really sure what to expect as a response (not having interacted with David before). The response was better than I could have hoped for, and David seemed very interesting in working with us. Excited, a few of us organized a quick adhoc-meeting and worked out a few things that we'd feel neccesary for a merge to work, and a few of these have raised some rather controversy ridden discussion now that they are well known, so I'd like to enumerate some and justify them here. Beryl has about 3 times as much code as Compiz, we've written this because we feel it's neccesary or improves things in some way and we want to see things integrated rather than go to waste. This one is trivial really, it's obvious why we would like this, and we set up a list of differences, discussed it a bit with Compiz people, and we're able to quickly come to answers on most of the differences. This was eased by Compiz's announcement that they plan to make compiz-extras more of an official project, which has much of the same structure as Beryl, this made it evident that a lot of our goals really were the same. New project under a new name, this has been the most controversial point as a lot of people don't feel it's fair or that it will lead to a lot of unneccesary difficulty, that it will lead to distributions unwilling to support such a new window manager or dozens of other complaints. I've thought about this quite a bit, and I'm going to try and justify here why we initially asked for this, and likely why Compiz is good with it. The primary reason is the difference in structure between the two projects, Beryl and Compiz handle management differently, handle new contributors differently, handle releases differently, handle a LOT of things differently. Frankly I feel if we merged under one of the previous projects (Call it X), then there would be a tendancy to just give everyone from the other project (Call it Y) a developer account, start merging the code from Y and say "Merge done!". This will NOT work, all of us feel pretty strongly that for the new project to succeeed it needs to include the best aspects of both Beryl and Compiz, and under the envelope of the already established Project X it's difficult and possibly impossible to integrate the 'core' (not as in beryl-core as in metaphorical core), of Y properly. It's better to start from a blank organizational state and decide everything together, we HAVE to decide things together, frankly the worst imaginable situation is a month from now Project Y says "This isn't what I expected from a merge! REFORK!". Another crucial point is the communities, open source projects are built around communities, and no community wants to be absorbed en masse in to another, theres a lot of bitterness between the Compiz and Beryl communities and theres no better way to resolve this than the two work together to make a new and better community. We'd also all like to avoid the new project being stuck with whatever conceptions formed around the name of the aforenamed project X, the new project will be a merger of the Compiz and Beryl code yes, but it will be something new, better, and with a broader scope, and we hope it can be looked at that way. Some sort of well defined leadership structure, probably decided through some sort of vote. Again, the reasons for this are obvious. And no just "Having David and Quinn share leadership" is most definitely definitely definitely not a viable option. So, anyway back to the story. After this David and I (more on behalf of Beryl at this point) exchanged quite a few emails back, having some basic discussion as to how the technical differences can be resolved, and then the discussion kind of died for a bit, though David did set maniac onestone and I up with Compiz accounts. At this point we mostly just went back to doing what we were doing even though it seemed like everyone (except Quinn) was behind the merge. This kind of exposed a big problem Beryl had, we had no way to make a decision outside of consensus (not forming an official decision for the project), besides a ruling from Quinn; rather ironic considering some of the reasons for the fork, and frankly Quinn just wasn't willing to budge or really discuss it in a reasonable fashion, so things were kind of dead. After a while onestone started working on a new libberylsettings in tandem with David (and drew a few others in to working on it), so that we could reunite the Compiz and Beryl settings systems (the biggest differences), and this kind of brought some interest back to the merge. None of us were really sure how to make it happen due to the aforementioned inability to make a decision, so eventually 4 of us (onestone, maniac, iXce, and I) (at the risk of being colloquial) said "Screw it" and contacted Compiz leadership essentially saying "We can't get Quinn on board, but everyone else is, so why don't we just go ahead and set up the new merged project, and announce that is where we will be working in the future, everyone else will follow (as EVERYONE was for it with the aforementioned exception), and it's clearly the best thing for both projects." A few hours later Quinn changed her mind, made the post mentioned at the start (Thanks Quinn for taking another look at things and being willing to change your mind, this makes things a lot easier, and is never easy). So, that's where we stand now, some of the final details are being discussed now and once David gets back from brainshare we hope to be able to work out the remaining problems and have some more news within a week or so! _______________________________________________ compiz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/compiz
