Kristian’s look on things

February 12, 2007

The future of Beryl

Filed under: Beryl — kristian @ 9:13 pm

There have been a lot of discussions lately about the future of Beryl, and our relationship to Compiz.

Let me just start this by saying that I appreciate the work David has done, and continues to do with both Compiz and now X.org. He has an immense amount of knowledge, and he is responsible for getting us where we are today with a proper composite window manager. And he keeps giving to the community through is code. For that, I thank him. I do not belive, at this point, that anyone on the Beryl team has that same amount of knowledge of X and related libraries.

Beryl is very much a direct result of his work. We are gratefull for that.

So why the fork? So far there isn’t really a significant difference between Beryl and Compiz, so did we do it just to further our careers? Did we do it because we want the glory? Did we do it out of ignorance? Did we do it because we prefer IRC over mail? Well, I wasn’t on the team at the time of the fork, I was, however, a user of Compiz, and a user of compiz-quinn. And I have been a member of the free software community since 1999, and I am a true beliver. I have also been programming since 1992. At which point I was 9. I have not been directly involved in free software as a developer on some elses project until I started working on Beryl. So what do I know?

Well, I am a purist. My code is probably far from perfect, but I want it to be in all possible ways. I strive to master whatever I spend my time on. And I love knowledge, and I respect it. But I also realise knowledge is not everything. Attitude is just as important. Where would the free software community be without the attitude of the folks who started it all? Nowhere.

This brings us to the core of what I personally consider the main reason why a fork was necesarry. Attitude. Compiz is developed as a one-man project, and that could be a good thing, but it would require that it is done because of an attitude. Not because it is convenient. If the code was clean and smooth, I would surely have no problem understanding why someone would want complete control over every part of it. They would want to make sure it remains clean. However, this is not the case with the compiz code, nor is it the case with the Beryl code. There are som ingenious solutions in Compiz and Beryl, but the implementation is not pretty. There are functions that makes you forget C is a procedural language half way through reading them, it looks more like a dirty script. And these are central and crucial parts of the code.

When you add to the mix that this code is virtually undocumented, and only one person really knows what the code does, you have a problem. Sure, it’s free software so you can read the code and EVENTUALLY you’ll figure out how it works, but we all know “it was tough to write so it should be tough to read” is an example of a bad attitude. A really good programmer documents his code, because he knows it will help him in the long run. It’s not just a way of helping others, it’s about helping yourself. Because if you document your code, others will help you improve it, and thus, you help yourself.

Getting back to the core issue: How does this affect Beryl?

What I want to do with Beryl is clean it up. Make it better. I want to use the good ideas David had, and implement them properly. Make the code sustainable over time. Open it up to other developers who might not have the entire day to decode a single function. I want to increase the flexibility of the code, and make it more robust.

And I intend to do that. It takes time, however. And I can’t spend all my time working on Beryl, I have school and other projects going on too that requires my attention. And I want to do it right, and to do it right, I have to cooperate with my teammates. Luckily, trunk has been unlocked, and we’ve slowly started. We are trying to reach an agreement on what specificly we want to do. We all know we want to clean up, but that’s not really specific enough.

I belive that the Beryl 0.2.0 release will not make or break Beryl. Surely there will be flames and rants about how good/bad it is, all depending on who’s writing. But in the end, I don’t belive it matters. The real work will happen in 0.3.x and the future releases. If people still sais compiz/beryl in the same breath by the time we release 0.6.0 for instance, then I’ll be worried. Right now, I say let people criticise us all they want. The Beryl team gets blamed for a lot of things we are innocent of and some things we are guilty of, but what will that matter if it turns out to be a great thing in the end? We get blamed for lying, stealing and beeing unethical. We also get blamed for what others say about us. If someone sais that beryl is more innovative than Compiz, then suddenly Beryl are the bad guys for creating a false impression of Compiz. I don’t want to say wether we’re more innovative or not than Compiz. David, surely does some amazing things that I’m gratefull for, like working on input redirection in X.org. So far, Beryl has mostly focused on Beryl. Our plugins haven’t been that radical and most of them will still work on Compiz. So no, we’re not really that much better yet, are we?

I can understand when others question the reason for our existence, but I say give us time. So far, we’ve mostly worked on getting our act together and cleaning up our OWN code, and getting some structure in the project. We haven’t even started with the real fun. It takes time to get to know the source code of a program, at least a couple of months if it’s big. We’ve finally had that time, and I at least finally feel confident when working on core. I can start doing what I set out to do.

So please, flame my comments, but remember: Rome wasn’t built in one day, just like Beryl won’t be built in one stable release.

28 Comments »

  1. Clap clap clap :)

    Comment by Ago — February 12, 2007 @ 10:27 pm

  2. thankyou kristian :D
    well said…..

    Comment by delfick — February 13, 2007 @ 12:15 am

  3. If your code is as good as your spelling we have nothing to worry about.

    Comment by loljews — February 13, 2007 @ 12:32 am

  4. Respect… :)

    Comment by Treviño — February 13, 2007 @ 1:12 am

  5. “What I want to do with Beryl is clean it up. Make it better. I want to use the good ideas David had, and implement them properly. Make the code sustainable over time.”

    Considering that has not been standard practice for this branch since the Commpiz-Quinn days, I don’t foresee that ever being true for Beryl.

    Comment by Will Farrington — February 13, 2007 @ 4:52 am

  6. Curious post, you construct several interesting strawmen (code quality and readability, communication, attitude) and then proceed to tear them down.

    I encourage everyone as they are reading this post to understand that there are 25 shades of grey between the vaulted compiz you describe, and the more attractive Beryl on which you hack. Define: False Dilemma

    Some examples or alternative strategies that I would have much rather seen you write about include;
    * Discussions with Compiz about ways that a community branch could have been maintained in git in parallel with Compiz
    * Patches upstream adding docbook comments to curious functions
    * Offers to help reqrite some of the most ‘hackish’ compiz code
    * Any sort of examples of David having a bad attitude. Seriously, any examples anywhere?
    * Any communication with david at all. I may be mistaken but I think there is 3 emails on the Compiz ML from Quinn?
    * Any offers from anyone in Beryl looking to change Compiz from a “1 man project” to a n man project.

    In general I am still looking for some show that the Beryl leaders engaged in an itellectual and factual discussion with upstream. I would sleep easier at night if I knew that the decision to fork was discussed pior to the incident, the pros and cons evaluated before it was entered into. I mean this sounds like a decision that was taken very lightly, and now every new post about this from the Beryl community, or every interview by Quinn, every time a leader speaks out about the projects existance they cite a new series of reasons.

    If you genuinely can not cite the original justification of the original fork, or coherant benefits for its existance then just say “we like to hack”. I would rather you sounded ignorant that continued to persue half truths.

    You say you entered the project late, I guess that means you are free to no longer have that burden of existance on your shoulders, nor do you even need to address these questions.

    Finally I will just draw some attention to some specific wording in your post;

    “I have not been directly involved in free software as a developer on some elses project until I started working on Beryl. So what do I know?” - http://www106.pair.com/rhp/hacking.html Rule #1 (unfortunaly I cannot find the original source)

    “Well, I am a purist. My code is probably far from perfect, but I want it to…” Is this an suggestion that other peoples isnt? An implied basis of superiority is not a good way to start a conversation.

    “The Beryl team gets blamed for a lot of things we are innocent of and some things we are guilty of, but what will that matter if it turns out to be a great thing in the end?” - Seriously? This is the George W Bush justification, let histroy judge me, so that I am free to do what I please now without justification.

    “So please, flame my comments, but remember: Rome wasn’t built in one day, just like Beryl won’t be built in one stable release.” - Is this invitaion an implication that all responses will be flames and absolve you of a duty to consider each response on its merit?

    FOSS lives in the world of engineering and science where things are debated and evaluated. Decisions are made based on their merit and consequences. You are a good code cutter but posts like this make me question your software engineering ability.

    Consider the importance of a compositing window manager to the adoption of the Linux desktop, and the window of opportunity right now (re vista upgrades, etc). Now consider if you and the Beryl team deserve, are intellectually capable of steering that ship. Im not, but I recognise that.

    Look at http://wiki.x.org/wiki/XDC2007Notes and the content of the talks by authors of projects just as important to Linux future as Compiz and Beryl. Then look at the Beryl talk.

    Comment by John — February 13, 2007 @ 4:54 am

  7. >“What I want to do with Beryl is clean it up. Make it better. I want to use the good ideas
    >David had, and implement them properly. Make the code sustainable over time.”

    You think David code isn’t clean. But, all what i see when i look to David code is pure clean code! And no handleEvent() isn’t bad, add functions in it will SUX and have a performance cost. Code in handleEvent() is well structured and it size isn’t a problem.

    After, i agree, we miss some doc on Compiz internals…

    Comment by Cedric — February 13, 2007 @ 8:47 am

  8. Although i do not use beryl i am glad that you are not in charge of the project. Such stupidity will only break things sooner.You are a novice and should think more before you speak. You should see the BIG picture(Linux Desktop) and not just your stupid plugins before you speak
    “What I want to do with Beryl is clean it up. Make it better. I want to use the good ideas David had, and implement them properly”. I would like to see this better implementation, because so far i haven’t seen anything near that

    Comment by iznogood — February 13, 2007 @ 9:56 am

  9. With all these flames, your post will be crispy in no time. :)
    Anyway, here’s a “Thank You” from a Beryl-SVN user (yup, breakages included). If you, and by “you” I mean the whole Beryl-team, improve the core-code like you improved the plugins, we’re in for a very exciting 0.3.x-release.

    Comment by Arpad Gered — February 13, 2007 @ 11:04 am

  10. patience peoples…..

    wait till beryl has developed some more…. (it’s only been a few months!!!)

    i mean, fair enough if you don’t agree with it, or you have a different viewpoint on the issue than Kristian, but please, don’t be so rude when expressing such opinions :D
    (but still express your opinions, different views are good)

    Comment by delfick — February 13, 2007 @ 2:04 pm

  11. Well, Beryl does not harm anyone, does it? Then I don’t see what’s the problem. Sure, people could argue you could spend your time working on Compiz collaboratively, but if this is what you want to do, so be it!

    Comment by Vincent — February 13, 2007 @ 3:45 pm

  12. Kristian can you any technical arguments about where compiz code isn’t clean and flexible ? If you know what you are talking about i think you can give at last 5 places where compiz code is not smoth, very messy and hackish.

    Comment by PaK — February 13, 2007 @ 3:48 pm

  13. Oh man you talk so good ! You are saying what everyone thinks scretly, ‘think you should continue the fight and take the lead of the Beryl Project. If you can lead then the Linux desktop will see a true revolution. But… things are tot so easy, you seems to be the one courageous in the Beryl team, nobody want listen you… :( So, I think if you are sincere, if you are not a fake, if you are really coureageous and if nobody in the dev team want listen you then you should do what you have to do : fork Beryl and show the world how great tou ideas are !

    Keep up the fight !
    Melissa, your fan.

    Comment by Melissa — February 13, 2007 @ 4:59 pm

  14. I think this is the path to follow:

    http://dev.beryl-project.org/~cyberorg/beryl/14/beryl-where-do-we-want-to-go/

    The guy has some real insight of the current state of things. Seriously, Integration is the way to go. This fork is just ridiculous and it’s just damaging us, users, developers, distributions…

    Let’s concentrate con different aspects of the same goal!

    Comment by felipe — February 13, 2007 @ 6:16 pm

  15. You base your entire argument on the fact that Compiz is developed as a one-man project but Wikipedia lists 5 developers as writing Compiz. David Reveman,Matthias Hopf,Dave Arlie,Adam Jackson and Jon Smirl to be exact.

    http://en.wikipedia.org/wiki/Compiz

    If you also look at the Compiz AUTHORS file you will find many more people who contribute to Compiz.

    http://gitweb.freedesktop.org/?p=xorg/app/compiz.git;a=blob;h=47d29a6c4226fe61bbf9850ce68c4763e7acd44c;hb=415d5a02363c0fab43961a8af7618987995c5e04;f=AUTHORS

    David is the lead developer but that does not mean it is only developed by him.

    Comment by mikedee — February 13, 2007 @ 11:48 pm

  16. hey man cool down…
    I know some italian…
    I ve translated this video http://video.google.com/videoplay?docid=8572393313452429552&hl=es

    Errare humanum est!!:)

    I like the documentation that kristian is providing in the trunk & also how he sorted a hierarchic tree of call functions…
    Anyway way don’t you speak the same as you do in your blog

    …”“David did not accepted our plugins, our plugins were completly useless and written with the feet, in conclusion Compiz is FASCIST !”…

    chill out you flaming…
    I believe setting apart, erronous scopes and judgment of priorities that Kristian might have/has in the Open world, he is an awesome coder.

    Comment by from latin to latin... — February 14, 2007 @ 6:37 am

  17. @from latin to latin…

    Maybe you know some Italian but you completely missed the point :D
    That, in “brackets”, was intended as reporting a _bad_ example of communication between projects, as it happened in the past and I was in fact ridiculizing that kind of view. I’m a Compiz user, for the record, so I couldn’t ever say that.

    The call remains the same: let’s interoperate and focus on just one project, since it IS just one project.

    Next time ask me for a translation instead of jumping to mistaken conclusions :)

    Comment by felipe — February 14, 2007 @ 10:08 am

  18. yeah.. sorry your blog tends to ridiculize and be scandal, sarcastic… etc.
    So.. I suppose is out of this topic, just try to be more explicit when you blog otherwise it could be missinterpreted . Specially when you make cartoons fooling beryl….
    hmm I know italians, and you like to talk talk talk talk.. so I am off from this topic.

    Comment by from latin to latin... — February 14, 2007 @ 3:02 pm

  19. just one more thing;
    It makes no sense … taking this article in your blog into further analysis.. especially if you take phrases out of context.
    I guess it would make much more sense if you amplify the scope of your public…
    cheers
    Have a nice day!

    Comment by from latin to latin... — February 14, 2007 @ 3:31 pm

  20. @everyone
    My apologize to all the blog readers… ,
    I ‘m tired of reading flaming comments of this guy. on every web/blog in the Planet Earth… that mentions beryl….it’s just that…

    Bye!
    Keep up the good work Beryl Team!

    Comment by from latin to latin... — February 16, 2007 @ 4:15 am

  21. Do you ever intend on responding to any of the questions raised here?

    Comment by John — February 19, 2007 @ 3:49 am

  22. HI ! @ John:

    …* Any communication with david at all. I may be mistaken but I think there is 3 emails on the Compiz ML from Quinn?…

    hmm at novell.com there is a podcasting “breaking news”
    here http://www.novell.com/podcast/Detailpage.jsp?id=99 (ogg and mp3), that also should answer some of your questions on Inter/feedback-communication.

    About this stuff NOVELL cleary says that Compiz is intended to become the “one” Gnome Composite manager.. and David R. affirms that statement. (quote..”Compiz is the replacement for the regular Gnome WINDOW MANAGER”(Ted Heager Eric Quill…

    So that raises the issue if this is should be the merge into a same project (felipe wrote about that).
    David R states that it´s development is focused on Gnome (on the audio). he doesn´t speak much about why… however I pressume that his intentions are to get compiz to a level where it becomes non-argueable that Compiz is the Only and ONE composite manager for GNOME (KDE has some pretty fancy composite, whereas Gnome doesn´t priorize Composite),
    @John…. ¿where XFCE users should run to?

    I mean.. ¿I am being ingenous on asking this?…or David.R sees the fork as a a serious advantage to promote compiz .(specially where there are some gray spots) .

    David.R never mentions any other DE. That might, be a rationale about why it shouldn´t be the same project hosted in the same svn.

    @John Another miscellaneous that you should take under consideration…

    Kristian writes about all the blame that the beryl team takes for nothing (faults don´t fall into the team),
    Outreagous comments (vandalism or whatever?) is very common, in webs, and blogs where F*rk is written or Beryl or any other thing (picture, audio, whatever) …you might want a descriptive explanation by the developers…
    I speak for myself as being Pis*d off, … deleting stuff on the WIKI and reading comments on blogs blames, flames, and reading about that issue/problem over the forum (not to mention the hackivism made on December over Beryl SQL)

    @Others;
    David. R in the audio .. does not to put under debate, avoids some relevant specifics about forking.
    I recommend everyone to take some time on reading this

    http://www.usemod.com/cgi-bin/mb.pl?RightToFork

    I just want to conclude if under yours perspective the fork s*cks. That is not a valid reason for vandalism and hacking..

    (In the other hand I am not entitled to speak as for the Beryl Project… so the devs, migth want to add real valuable commentary)

    Cheers!

    Comment by from latin to latin — February 24, 2007 @ 4:07 am

  23. hello, I am a FOSS user - among other software :-( - not a developer - although I used to program in a former life - Well to tell the truth I don’t think that forking is necessarily a bad thing.

    First of all, in FOSS ideology forking is a _right_ otherwise why the hell distributing the source code if other people can’t do what they want with ? In the BSD community forking is not a proof of failure and doesn’t really hurt BSD FOSS (e.g FreeBSD/DragonflyBSD or NetBSD/OpenBSD) but in the GNU world we like the song “El pueblo unido jamás será vencido” ;-)
    I think that forks can lead to pretty good programs, ok it may halve the developing power for a specific piece of software but if we let the theory of evolution do its job then the result could be a better code that should attract more developers.

    keep it up beryl guys :-)

    Comment by gangstaOS — March 2, 2007 @ 1:16 pm

  24. good job guys follow your dreams it will take this o,s to level and beyond :) i love to see innovation from others. dont let any one stair you away from your goals

    Comment by steve — March 31, 2007 @ 8:04 am

  25. > First of all, in FOSS ideology forking is a _right_ otherwise why the hell distributing the source code if
    > other people can’t do what they want with ? In the BSD community forking is not a proof of failure and doesn’t > really hurt BSD FOSS (e.g FreeBSD/DragonflyBSD or NetBSD/OpenBSD) but in the GNU world we like the song
    > “El pueblo unido jamás será vencido” ;-)
    that’s exact _same_ words I wanted to shout out…
    this “forky” idea of a program being narrow minded & piggy, bastard, etc..
    It’s soo ridicolous… and so hypocrite,

    Happens that a group of coding people w/cool ideas (some of them professional programmers some of them hobbist programmers), pushing to innovate are rejected by the “leader”, on and on, over and over the code get’s rejected, because it’s not stylish, because it’s does_not_HONOR_the_code,
    Yet theirs code does amazing usefull stuff and impressive, that the other code does not.
    What the hence… are they suppose to do??…
    Drink a coffee and watch star gate episode XII…

    It’s all about reputation…BERYL, as a fork does not hurt anyone’s reputation…it honors the free software/libre software philoshopy,
    why kneel down at all this idiosincrasy, like “Benovelent King” and nerdy burocratic’s….

    Frankly there is too much paranoia going around…

    Rock on BERYL!!!

    Comment by euskal — April 7, 2007 @ 3:40 am

  26. well… not
    _the_exact_words, but something very similar has been rambling on my mind for a while….LOL

    Comment by euskal — April 7, 2007 @ 4:00 am

  27. I think kristian is a disgrace to the whole community. Not talking about his coding abilities, but as a person. You are totally missing the point of the linux community.

    Comment by anon — April 9, 2007 @ 8:09 pm

  28. Hello! Good Site! Thanks you! srzcfvskfwqowp

    Comment by cqcruobevg — June 21, 2007 @ 12:35 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress