This Time Self-Hosted
dark mode light mode Search

What’s wrong with Gentoo, anyway?

Yesterday I snapped and declared my intent to resign from Gentoo together with stopping the tinderbox and leaving the use of Gentoo either. Why did that happen? Well, it’s a huge mix of problems, all joined together by one common factor: no matter how much work I pour into getting Gentoo working like it should be, more problems are generated by sloppy work from at least one or two developers.

I’m not referring about the misunderstandings about QA rules, which happens and are naturally caused by the fact we’re humans and not being of pure logic (luckily! how boring it would be otherwise, to always behave in the most logical way!). Those can upset me but they are still after all no big deals. What I’m referring to is the situation where one or two developers can screw up the whole tree without anybody being (reasonably) able to do a thing about it. We’ve had to two (different) examples in the past few months, and while both have undeniably bothered QA, users, and developers alike, no action has been taken in any of these cases.

We thus have developer A, who decided that it’s a good idea to force all users to have Python 3 installed on their systems, because upstream released it (even when upstream consider it still experimental, something to toy with), and who kept on ignoring calls for dropping that from both users and developers (luckily, the arch teams are not mindless drones, and wouldn’t let this slide to stable as he intended in the first place). The same developer also hasn’t been able to properly address one slight problem with the new wrapper after months from the unleashing of that to the unstable users (unstable does not mean unusable).

Then we have developer B who feels like the tree’s saviour, the only person who can make Gentoo bleeding edge again… while most of if not all of the rest the developer pool is working on getting Gentoo more stable and more maintainable. So, among the things he went on doing, there was a poorly-performed Samba bump (suboptimal was the term he used — I ended up having to fix the init scripts myself because they weren’t stopping/restarting properly, as the ebuild and the init scripts went out of sync regarding paths), some strangely incomplete PostgreSQL changes, and a number of minor problems with the packages.

Of the two, I was first upset most by the former, but on the long run, the latter is the one who drove me mad. Let’s not dig too much on the stance about --as-needed (cosmetics — yeah because being able to return from a jpeg bump with less than 100 packages, rather than the whole world, is just cosmetics), and the fact that he’s ignored most of the QA issues with the packages he touched. Instead look at the behaviour with a package of mine (alas, I made the mistake of let this one slip with just a warning, I should have taken the chance to actually defer it to devrel…): vbindiff.

The package is something I added a while ago because from time to time it comes out useful. I’m in metadata.xml; I’m definitely not an unresponsive maintainer. Yet, while my last bump was on June 2008, the version in tree was not the latest one up to last September (2009). Why? A quick glance at the homepage shows that the beta4 release was mostly fixing a Win32 bug, and introducing a way to enable debug-mode. So what happens? Our mighty developer decides to go on and bump the package; without asking me; with nobody asking him; without a mail, a nod or anything. I literally notice this as emerge tries to upgrade a package I know I maintain. You’d expect for the debug support to be present in the ebuild then, and you’d find a debug USE flag if you checked now indeed, but that’s something I added myself afterwards, as the damage of pointlessly bumping something was already done.

Now, why did that happen? Well, he admitted he just went through the dev-* categories, without considering maintainers declared in metadata, and blindly bumped ebuilds when the latest version available on the site was higher than the one in tree. Case in point he had to open the vbindiff site and thus the release notes regarding Win32 and --enable-debug would have been clearly visible, if he cared to even read part of them. Whoever tried doing serious ebuild business should know that most of the time even the upstream-provided release notes are not something to go on by… Interestingly enough, his bleeding-edge hunger didn’t make him ask for a new stable, and we currently have a very old one.

So there we have your developer B, the super-hero, the last good hope of the bleeding edge, who bumps packages without consulting the guy who maintain them (and is around almost 247) and without even caring to use them at all. Why did I let it slip? Because I was most focused on trying to stop developer A at the time is probably the right answer. I did issue a reprimand reminding him to not touch someone else’s packages, and to learn using package.mask for things like Samba. I was hoping he would listen. Oh boy, was I ever so wrong.

Speaking a second again about Samba, did I tell you yet that the split into multiple packages was done, straight to ~arch, without any plan to follow-up to convert dependencies? Wonder why the whole thing is now stalemated again. Maybe the arch teams don’t see it all too well to have the same kind of dependency breakage in stable as there was/is on unstable right now.

First-hand information about our developer B wants him to be inlined with a zealot point of view regarding the Mono project — you’d then guess that dotnet stuff would be the last thing he’d be touching, but instead, without any questioning, ignoring the fact I stated at FOSDEM that I was going to look into that as soon as I had time, the fact that I stated before multiple times that I was already working on un-splitting the gtk-sharp packages, and the fact that I took contact with the Mono developers (again at FOSDEM) to try following upstream more closely. Oh and the one thing that pissed me off about that bump? Beside the fact that tomboy now refuses to work? Remember this patch? It was dropped; without even mailing me if I had or could make a version for the latest version. It was dropped in unstable (or, how it should be called if this kind of stuff is allowed to continue, unusable).

And the cherry on top? As I said, this developer touched Samba, PostgreSQL, now Mono… there are three aliases for these things (samba, pgsql-bugs and dotnet), who the bugs are assigned to… he’s on none of them! And before somebody tries to argue that, I’m pretty confident he’s not following the aliases on the Bugzilla (plus, given he also argued that the problem was with leaving security-vulnerable stuff in the tree – which by the way means having working, complete, safe ebuilds to be able to mark stable, and he doesn’t seem to be able to come up with any of those – the most important security bugs don’t get sent to watchers). How does he suppose to see the bugs coming? Oh but by wrangling the bug himself! Yeah, after all developers don’t file bugs themselves assigning them straight to the maintainers by procedure, do they? (fun fact: Bugzilla queries report at most 5K bugs, so that list is a very much limited result from what I was hoping to get); nor do other developers ever wrangle it would be silly, and there is no Arch Tester to speak of, right?

You can now see most of the pictures, and why I’m mostly upset with developer B. What made me snap yesterday were remarks that insisted that I was just “whining” and “not doing enough” as bugs kept piling up. What the heck? I constantly had over 1000 bugs (over 1300 today) for the past year or so, I know very well that bugs keep piling up! And I’ve been doing all I can do outside of my work hours (while I have to thank some people, including Paul, David, Simon, Andrew and Bela for their contributions, I’m not paid to do Gentoo work; and while I do get to use it, and thus contribute back to, for some of the jobs I take, it’s definitely not the same as working on Gentoo), including the whole RubyNG porting and improvement trying to make sure we can actually get to a point where unmasking Ruby 1.9 will not break any user whatsoever. Am I really doing too little? ”Not enough”?

Okay so the proper way to handle this, with the current procedures, would be to take this up to the Developers’ Relations so that they could act on it; QA can only ask infra to restrict commit access if we’re expecting a grave and dangerous breaking of the tree, or misuse of commit rights. So why didn’t I bring this up to devrel? Well, the main reason is that devrel nowadays, as far as I can tell, is exactly three people: Petteri, Denis and Jorge, and of the three the only one who’s for preventive suspension of commit rights is Denis (this has been proven with the case about developer A above); one out of three does not really sound much of a chance for this to improve the situation. And if – again as happened with developer A – DevRel then decided that the right action would be to issue a reprimand, that would amount to scolding the developer and asking to work more with others… well, it wouldn’t change a thing.

The whole QA system has to change! We’ve got to write down guidelines, rules, and laws, and be conservative in applying them. You shouldn’t go around breaching them and then appealing when QA finds you out of line, you should talk with QA if you feel the rule is misapplied to your case in any way.

So here you go, in a nutshell, why my preservation instinct right now is telling me to flee. I’m not sure yet if I’ll outright flee or just give it time for the situation is addressed and then decide. The reason is: I still like the Gentoo system, and since I rely on it for my work I cannot leave it alone; if I were to move to anything else I would have to spend (waste?) even more time to fix the same issues anyway, and I’d much rather get Gentoo working right. But I cannot do this alone, I cannot do this especially if I have support neither from developers nor users. So please voice your concern.

If you feel like Gentoo needs the better QA, if you feel like we shouldn’t be translating unstable to unusable, then please ask for it. I’m not saying that we should become stale like Debian stable, but if it takes a few months to get something straight, then it should take its time and not be forced through (that’s what the Ruby team has been doing all this time to work with Ruby 1.9 and Ruby EE and other implementations as well!). If you use Twitter, identi.ca, Digg, Reddit, Slashdot, whatever, get this post running. Maybe I’m subverting the process, but to quote BBC’s NewsQuiz, “Trial by media is the most efficient form of justice” (this was in reference to the British MP expenses scandal last year), and right now my only concern is effectiveness.

Comments 89
  1. Oh dear. I’m glad I don’t religiously emerge -uD world like I did back with 1.4beta (and before).Sounds like the only solution is to break up the tree at the SCM level and restrict access to major packages (glibc, gcc, samba, kernels) to only the maintainers listed in the metadata.xml files. Employ a trusted tree-wrangler (or a small shell script) to merge it all for rsync as needed.

  2. I agree with you.I am user of Gentoo already for 3 years. Gentoo is great, portage system is great but there are some places that have to be changed.

  3. sad to see you are leaving, you always enlightened me with your posts about low level binary stuff, gdb, gentoo QA, buildsystems. gentoo will surely loose a great contributor with out. i wish you the best for your next occupation 🙂

  4. I’m just a gentoo user reporting bugs from time to time.Keep up your work Diego, it *is* appreciated!

  5. Hi, in the name of our company I’d like to voice support for proper QA in Gentoo. Over the past years we’ve seen Gentoo move away from repetitive breakage to a distro with good reliability and usability and we don’t desire that this process gets reverted. Thanks, Pavel Stratil

  6. It should be possible to find a good balance between Quality and the Quantity on ~arch. An (additional) set of rules for them would be a good idea.Since I maintain near the whole ~arch tree for Sabayon on 2 arches I was most likely to find collisions and issues and I must say that you most of the time beat me in reporting them.I know like nobody else how much work this all is and if you are really going (I hope not) this work should be continued in some way.

  7. Yeah, (some of) the developers are _the_ problem with Gentoo. I stopped reporting bugs to Gentoo bugzilla altogether, because it was waste of time: most of the time, they’d be answered by somebody arrogant _and_ less-than-competent.I’m looking for alternatives myself, but the trouble is, portage is best if I need to modify some packages…

  8. I’m sure you’ve never heard of me, but I’ve been reading your posts for years now. There may be a wave of posts from people saying “don’t resign”, and you probably don’t want to listen to a mass of folks expressing their sentiments the same way, but please hear me out.Your posts have been some of the most thorough, information-dense material I’ve read. You’ve tested/played with/reviewed a wide variety of software systems. Whenever you’ve touched something I know something about, your conclusions have been very similar to mine. I’ve also tended to agree with your commits and, while slightly less adamant in supporting free software over proprietary, your general philosophy.Because of this, I’ve come to trust your opinions on things I’ve not had the opportunity to test myself. I don’t know how many decisions I’ve made based on your posts, but it’s certainly dozens. I’ve never been let down.I use Gentoo on several systems. I’m not one of the users who particularly cares about CFLAGS or bleeding-edge up-to-dateness. I was extremely distraught when a client called me in to repair a server that mysteriously stopped working and I discovered it had a script which ran a forced world update. I’m in that unspoken mass of people who use Gentoo for features like config-protect or how it doesn’t install programs into the default runlevels or start them upwhen they’re first placed on the system.I know it seems frustrating now, but please take a step back and look at the situation. Don’t make a decision to punish others, the Gentoo team, whatever. If you resign from the Gentoo project the people you’ll most be damaging will be people like me: the people who read your posts, the people who find answers from you on Google, and the people who may have never heard your name but use the software you maintain.What you produce in your spare time has value. You’re changing the world for the better. You have no obligation to continue doing so. When you stop (and, naturally, we all must stop some time), you probably won’t hear much like this – it’s more likely just the usual background patter of spam and content-free posts. But please do think hard about it, and when you do don’t think that your work has gone unappreciated. Most of the prayer in a church is never spoken, most of the impact of art is never expressed, and most good deeds go unrewarded. But there is worth in continuing to do them nonetheless.There will always be other people in the way. Don’t let them grind you down.

  9. Diego, I fully agree with you on the QA matter. Even if I’m not into this un-split trend, I would like to remind that sometimes splitting is for the “good”, sometimes only harms, it depends, but I’m sure you know it.

  10. Yeah, I also agree with Brian.I know that this is really pissing you off now, but please think hard about the problem, your contribution is really appreciated.

  11. I too depend on Gentoo and I hope you reconsider leaving the Gentoo project, even though I understand fully why you feel you should.As someone trying to get grok the lower levels of software development and deployment I’ve greatly appreciated your posts on autotools matters.I had more to say but I think Bryan Jacobs already said it all.

  12. There already exist a distribution that mired in rules and QA and bullshit, and its called debian. You should try it, its actually not that bad. You may even like it.

  13. @Bryan JacobsI’m in agreement. I’ve been following for quite some time now, and appreciate all the hard work to get things to just work. Things in stable should be just that, stable.I’ve been running gentoo since late 2003(wow, almost 7 years now).Seeing things like:http://bugs.gentoo.org/show…and then:http://bugs.gentoo.org/show…6 months later(they are the same bug, version numbers have changed.)Anyways, I’d like to contribute more, but last time i looked at being an arch tester i needed to be running mostly stable. I should look at joining again.P.S. the arch testers do need to be running stable or a chroot of stable. Well i wonder how i would go about writing documentation for things(what is FEATURES=”multilib-strict”? what does it do? etc?) Or maybe just lurking in the forums/gentoo-user would be helpful.

  14. I’m running ~amd64 (unstable)and had to go through almost all of those “upgrades” in the last weeks:*) the upgrade to python 3 (known to break python-related packages) which made we wonder why it (portage/the system) started showing up messages in using python 3 even though I had told it to use python 2.6*) those “strangely incomplete PostgreSQL changes” which broke qt-sql and some other packages for me and forcing me to disable the “postgres” use-flag for now in several packages*) the init-script problems you mentioned with sambaso I urge those developers who are responsible for this mess to consider the consequences for kind of forcing these updates down our throats before committing them to the tree:in each way (on the user’s side) you’ll get annoyed and lose time:*) either by having to fix broken init-scripts, compile scripts, ebuilds and dependencies*) or manually masking those new packages after having found out by trial and error that they don’t work and you don’t have time to fix themnot making use of the package.mask functionality of portage is downright shortsighted, selfish and irresponsiblepeople are HAVING A LIFE outside of using gentoo for their system – its purpose is to help raise productivity and make things easier – NOT to be FORCED by young, unexperienced (in social terms) developers – having to troubleshoot problems on an almost daily basis (if updated daily) in their system which often might be used in production environments to generate income and whose ability to run and thus life depends onIMO the best option would be to revive the BMG (break my gentoo) overlay and commit all those experimental and/or bleeding-edge (“unusable”) packages to that overlay – this would be the best place for some developers to experiment and kind of “run riot”Diego, as always your blog posts and valuable work for Gentoo is really appreciatedtake some well-deserved downtime to arrange your ideas

  15. HiIt sounds like the two developers need more trainingI’m sure if you three could work together the developers could be of great assistance rather than a hindrance.It’s a shame that their pro-activeness is going to waste

  16. Diego,I have been reading your posts for 2 years now, and I couldn’t imagine a Gentoo without your invaluable work. It’s not just the QA work and the Tinderbox. It’s not just your clean and methodical bug reports and fixes. It’s not just your blog posts with detailed explanations useful for both developers and users. It’s all of them, together.You are doing an ungrateful job: QA is always hated and neglected. And that’s anywhere, not just in informatics (I work in aerospace…). That is, until there is a big problem. When the gentoo tree will get seriously broken because of “some” developers, people will say “maybe we need more QA” and it will be too late. The breakages of the tree are exactly what drive people away from gentoo. A user wants a working system. As you said, unstable does not mean unusable…It may be useless to tell you “please continue”, but at least count me as another user on your side.

  17. Re: one of the devs mentioned in this post.http://bugs.gentoo.org/show…Was the USE flag removed? Of course not. Working with such incompetent people, one is not surprised at all that eventually you’d get fed up and leave. I mean what the hell, first close the bug as WORKSFORME when you *know* there is a problem, and then not remove the culprit (5 minute fix)?Do reconsider however. I don’t particularly care about ruby for example but there are others who do. Those are people who genuinely care about your work, those are the people who your work means a lot to. Read Bryan’s post and let it inspire you to keep going. 🙂

  18. I have great respect for people who put a lot of time and effort into Gentoo, like you Diego, and Patrick and Samuli. As all developers are human (as far as I know…) there are bound to be conflicts. That is why we have DevRel and other structures. You should have tried to go that way before throwing in the towel and announcing you’re done.And if these structures are not functioning properly, then let’s talk about that and improve them. That is the only way to go forward. As nobody is perfect, and no project management structure or conflict resolution process is perfect either, we have to try our best to work things out. Improve them, bit by bit. And I agree, there is a lot of room for improvement.If you leave and join another project, you will likely meet similar problems there. I hope you will reconsider and try to work things out.

  19. Successful routine work is all about processes. Mostly written. There must not be too much democracy, imho.I agree with you, Diego.Please try to stay though.

  20. Please Diego… keep going!you’re right… the portage tree can’t be like a wiki! or at least not for system packages or very widely used libraries… commit policies are needed (actually I didn’t even know that any developer could commit everywhere)If someone want really experiment things an overlay (like BMG as kernelOfTruth has already said) is the right place… Come on gentoo is a meta-distribution and I can’t believe that majority of devs and user don’t want a chance of a STABLE gentoo!GENTOO IS ALL ABOUT CHOICES? THEN I WANT CHOOSE A STABLE GENTOO! (you are not alone in this Diego!)now… sorry for the italian—-Forza Diego, in un certo qual modo ti posso capire… anche nel mio lavoro gli sforzi per migliorare, stabilizzare etc, a volte sono vanificati da altri che (almeno nel mio caso) senza malizia intervengono dove non dovrebbero.Per carità siamo tutti umani e tutti possiamo sbagliare, e proprio per questo credo che possa essere condivisibile da tutti avere delle policy di commit più rigide… principalmente per dividersi il lavoro, cosa fondamentale quando si condividono risorse comuni. Si perderebbe un po’ di flessibilità, quello è vero, ma tra overlay o altro si può sicuramente ovviare e mitigare questo aspetto!Senz’altro ho detto tutte cose che tu già sai, cerco solo nel mio piccolo di esortarti a continuare. Grazie per tutto l’ottimo lavoro che hai fatto e che stai facendo, io credo che per gentoo sia davvero importante!

  21. Wait, wont you have a different system if the emerge the same packages in gentoo but installed in a different order?That is why gentoo is way to crazy.

  22. Gentoo needs a project leader. Someone who can make (unpopular) decisions. Otherwise issues like whether to enforce QA rules or not will never be resolved.

  23. I’ve been a reader of your blog for quite a while and I have really liked what you have done for Gentoo in the past.I think the main reason for your frustation is that you are somebody who gets the “big picture”. The blog posts you have written show that, even when you are working on extremely specific details, you always have every single possible ramification in mind. You care about the whole and don’t have a tunnel vision for your problem and nothing else.I would place myself into the same category. But I have come to realize that most people are not there. I can really understand the frustration you are currently going through, I have experienced it myself.However, I’d really want to urge you NOT to go. If people like you start to leave the Gentoo project, it will suffer. Know that your work is appreciated by users like me and I hope that you can find motivation in this to continue your work.

  24. Sorry, I disagree with you completely. The fact that stable gentoo is SO stale forces users to run ~arch for anything up-to-date. This is the point of ~arch, to have updated packages. Patrick does an amazing job trying to bring this back to gentoo. Is the work perfect? No, but it sure beats samba 3.0.x sitting in the tree, with no hint at moving to 3.1, 3.2, 3.3, or 3.4. It’s great that someone actually cares about bring gentoo up-to-date. ~arch users know what they are signing up for when they stick the accept line in make.conf.As a dev., you of anyone should know that ~arch will break from time to time. Personally, I’m incredibly grateful for the guys trying to save gentoo’s state, and bring the cutting-edge back that gentoo has lost in the last few years. It really sucks opening a new bug with an ebuild for a new package, and either having it ignored for years, or being told to stick it into some overlay.

  25. Oh boy, we’re doomed! Until someone’s continuing with Diego’s efforts. :(Diego, I wish you as a person, developer and volunteer the very best! It deeply saddens me to hear about your intention to retire.I honestly declare my deepest love and gratitude for a guy who contributed so much to the community.Hopefully your journey is just simply on hold.What I miss a little, did you talk directly to your fellow developers? Did you try to sort things out about what’s acceptable or an absolutely no-go for you?@ Bryan Jacobs: you touched the nerve!

  26. I would be very sad to see you leave Gentoo because I fear that the stability which gentoo has achieved in the past years might be lost. IMHO, if people wish to really experiment, they should do so in overlays. Unstable should mean “I want to stabilize this, but we’re not quite there yet”.I have to agree to Bens wise words. There will always be someone who you dislike because he or she doesn’t care about quality as much as you do or chooses different solutions. I’ve seen it before and the urge to leave can be very strong. It’s also very hard to ask a third party to resolve the issue, but in the end that’s often a better solution. That person would ideally be able to set guidelines for the entire project which means that on a technical level you can refer to it. You can no longer say “I think it’s best to do it this way” because there are project wide policies which say otherwise. That can help prevent personal conflicts which can escalate (as it seems it has now) and cause huge problems in the long run.Like I told you @ FOSDEM, your work is appreciated so please reconsider.Btw, I am working on merged samba ebuilds. I’m pretty satisfied with my samba 4.0.0_alpha11 and 3.5.0_rc3 and ready to start on 3.4. I’ve already spoken with bonsaikitten and he is interested in merging again at the next 3.4 bump.

  27. To anyone that disagrees with diego:Learn to use “package.mask” , it is more important than you think.

  28. Maybe it is time to focus on the distasteful and not-fun or exciting task of housekeeping of Gentoo’s organizational structure and making the Gentoo organization work better rather than the code it contains.Your point is basically there does not seem to be accountability.What can you do to see that there is?

  29. Diego, I too have enjoyed reading your many posts, and have really enjoyed years of Gentoo use.That being said, if you do decide to migrate away from gentoo, please let us know where you are going, so some loyal to your opinions and ideals can jump ship with you.But I’d rather you stay with Gentoo, I don’t feel like re-installing my four gentoo boxes.

  30. Sorry to see you go, Gentoo will suffer from this…May I ask if you have considered joining another distro or even OS?Maybe now you can find even more time to focus on your work and your health, which will benefit you in the long run.Best of luck to you in your future endeavours!

  31. Diego,Your work with Gentoo is at a level deserving of the utmost respect. I’m very sorry that you have been having problems with certain developers. As I don’t have much new to add here, I would just like to iterate that your work is GREATLY appreciated.–Zach

  32. Oh my God – that was the first thought I had when I read your announcement.Facts firsts, I’m a ~arch user on serveral machines, and update regularly, so went through most of the breakage hazzles you describe. As previous poster wrote, I get what I paid for (why did I select ~??), however until now there was the comfort of someone – YOU – preventing the worst. So all in all the experience of beeing somewhat bleeding edge, but at least up to date and not lightyears behind (debian) was somewhat comfortable.Actually, as Bryan really described beautifully, your regular posts on Planet always were a permanent spring of insight into the ongoings in distibution management an technical QA. It often did sched light on why things were done one way and not the other. I always did read your posts, they are very informative in both gentoo specifics and general technical detail, and definitely a must read for anyone looking into quality.You might not have realized, but by these posts you always have been a very influential factor in public picture of Gentoo. You definitely are the synonym for the impression that Gentoo-QA is managed by competent responsible people.That’s why your announcement did hit me so hard. I love Gentoo’s flexibility and permanent up-to-date style, but at level where things – mostly – work. Now that I think about it, it was mainly YOU who ensure this state.If you’ll leave, Gentoo will definitely get a tough blow – in a direction I won’t like. I see more update mess things happen in the future, if the too proactive guys aren’t stopped.Dev-rel should really step up here give good QA the priority it requires, to avoid many users ruffing their hairs in frustation (mine is already very thin). If they don’t act, I see the whole project doomed, which would really really really leave me and many other friends of Gentoo sad.Whatever you finally decide, I wish you luck. Begging you to stay without a policy change would probably selfish and not enough to get things right.Gentoo devs – don’t let Diego go – instead: Listen to him, follow him. The man is RIGHT!

  33. Just take a short break. It will surely help you come back stronger and with greater motivation to help Gentoo maintain its gloryAs you can see yourself, everybody thinks that you are a great part of Gentoo familyPlease reconsider your decision

  34. I understand your grief – I felt it myself to a lesser degree from time to time (broken system – I use my Gentoo as productive system, at work (diploma thesis) and at home) – and I think it’s time to look for solutions.What I perceive as one of the basic problems is, that we only have the (slightly blurred) binary relation “developer (x)or user”.Overlays lessen that a bit, but there’s no easy transition path from overlay to tree.So what I see as solution is the long anticipated switch to a DVCS.There we can have a group of maintainers who pull in changes from contributors, and we can have the kind of natural progression from casual contributor (adds an ebuild in his private tree from time to time and maintains one or two packages) over major contributor (maintains important or very many packages) to root dev (who oversees mayor architectural changes).And every user can simply decide whose tree he uses as reference, so there’s no “elite by design” (except for the rsync mirrors for systems which are space bound).…After that much blah: Do you know the state of the transition to a DVCS?I wanted to do a Mercurial mirror of the cvs for some time now, but I only recently got access to a 8-core at work which might be able to shoulder regular syncs (and dedicating one core to that shouldn’t hurt too much) so I could only start now (well one month ago, but I hadn’t thought of putting my work machine to that use yet).So I just started a try to convert the tree to Mercurial again (including all history), but I can’t yet say if it will work (the tree is huge and I might run out of memory – my home machine did repeatedly and cvs2svn is no option, since it can’t do incremental syncs and resyncs).if that doesn’t work, I’ll try splitting the tree into subrepos (one per cathegory).

  35. Nothing to add to previous commenters, I’m just a long-time gentoo user & reader of this blog, and will be saddened to see you go if it comes to that. Thanks for everything you’ve done for and shared with us.

  36. I wish I had the skill to do more to help; perhaps in time. I do what little I am able. I certainly understand your frustration I deal at work with people changing the operation of things I am responsible because they feel they know better and don’t on a regular basis. It is certainly enough to make one want to just walk away.I agree with Bryan above almost entirely. I personally find it reprehensible that another should bump a package you amaintain without the courtesy of an email.I am sure this could not happen in the kernel tree. Perhaps Gentoo should examine their strategy and implement some of it.I also have seen the stale tree. And it is an issue. There should be a better way. Perhaps working together it can be found. As you point out though moving from unstable to unusable should not be an option…and if a developer should commit a change to the tree that is untested and renders systems unusable becasue of it. Without even contacting the maintainer…commit rights should be revoked. But that is just my opinion….and I have many ;)O/T: Please review commits in the autotools git when you have the time 😉 Some new stuff in there …and I notice some broken hyperlinks. I’ll investigate the broken links and try to six and push some time soon….if not beaten to it.Ciao…..and I would hate to see you leave.David

  37. Like most other commenting this post, I also highly appreciate your work. Personally I see your contribution vital to gentoo and like to thank you especially for your QA work and tinderbox.I hope that your post starts a process in the gentoo community which will lead to a “better” gentoo and gentoo gets fun for everyone again. When many people cooperate, some rules must be set to let the project as a whole succeed. That’s why I think that “gentoo is all about fun” doesn’t forbid QA-rules, but rather QA-rules are direct consequences of “gentoo is all about fun” to prevent that individual people maximize their fun without regard to others.Jean-Marc

  38. I am currently starting on the path for dev-hood, after contributing through bug reporting and contribution to the science overlay.Your posts and the documentation you provide have been invaluable to me. I certainly wouldn’t want to display the kind of reckless behavior you describe. Dev B shows absolutely no basic manners. Dev A, looks like a nutcase. How can you force a decision on something as crucial as python without a consensus among devs? Where is the common sense in that?Does he thinks he is an overlord of Gentoo or something?May be we should add a maturity test before giving dev-hood away? One where the mentor is not supposed to help.Francois

  39. I gotta say this post fills me feelings of disgust, anger and frustration.It’s not like Gentoo is overflowing with devs. And for quite some time now I’ve noticed that the quality and frequency of ebuilds has been deteriorating.Added to the fact that being a gentoo dev is a stressful and mostly thankless job. And now this!We’ve got a great gentoo dev here who is considering leaving this distro because of inter-developer bullshit and lack of cooperation and communication.At our office, if any of my IT guys would pull this kind of crap, they’d get a firm spanking and have to stand in a corner, facing the wall and being ashamed for an hour!Seriously though, it would be real tragedy if gentoo would die out because of stuff like this. Besides, I can’t believe other distros don’t have systems and methods in place to avoid this kind of thing.Maybe we should look at what other Distro’s are doing right and model ourselves after that.Adapt what works, discard what doesnt.

  40. Very emotional post.Cannot say lots about the subject, but I wouldn’t use be so rude against others.As all usual human rules apply here, nobody won’t listen whining and complaining on every others.Please be creative – define a problem and propose solutions. Then DISCUSS them.Discussion should have been going before this post, as putting it on main page makes us childish Gentoo funboys devoted to quarrels only.I, as a Gentoo user (using private kind-a-tinderbox construction too), am devoted to my job where Gentoo has its proper place.

  41. I’ll try to make this short. Maintainer responsibility is a key feature. I do rely on debian/stable for my 24/7 running machine and on gentoo64 for media-production. How did I decide this? Well I experimented with the “user-friedly” distros and noticed that there’s allways some sort of obscure guy pulling in some untested package, and worse, it’s some other kind of shiny gadget or subsystem on every release… It came to the point where I thought I might be unable to use yafray (allways had black squares in my render…) or was forced to adopt pulseaudio with jack and so on. Worse, I had bad filesystem errors on noobuntustudio recently, even stalling syslog…Finally I found my way to portage with use-flags and keywords and masking etc…So we seem to agree on USABILITY and CONFIGURABILITY, and the only way to achieve this is not to flee but to stand up for it and set it as a global goal.Now it’s your choice which way you go, and whatever you decide, I do believe that the MAINTAINER in metadata.xml has to be RESPONSIBLE for the quality of his work and the ethics of the distro.But I am not convinced that this has to be done in the rough way. Being selective on the commits might be a good starting point.

  42. Regarding my previous above post I would like to add that I also appreciate the job you’re doing and I’m very satisfied with today stability of Gentoo stable branch (which is the only I use).The thing is, I got allergy on last years posts series like “Why I leave Gentoo, why Gentoo sucks, I’m leaving Gentoo because I others forces me that etc etc.”I would really like all being perfect teamplayers.

  43. I’ve been using Gentoo for, like, 5 years already, and reading your blog posts regularly for last ~18 months. Now I’m using Gentoo on production boxes, both at home and at a daily newspaper I work at.On every one of them, I have about 30 ~x86 packages installed — either because I just need newer version, that’s not stable yet, or because of other reasons. As one can imagine, you don’t have much time to recompile broken stuff at daily newspaper, so I pretty much rely on those packages not being broken, and resources used wisely. That’s why I’m most thankful for your work on –as-needed flag and doing things properly.It would be great loss for Gentoo and (especially) for it’s users, if you resigned because of some inexperienced, albeit commit-happy developers. Trying to solve that problem with devrel or QA team would be the proper thing to do.

  44. Since I’m using pgsql for important stuff I decided to go see who “Developer B” was… and I’m not surprised at all.Maybe it’s time to ditch this sinking ship for Exherbo. I’d personally rather deal with assholes who know what they’re doing and have low tolerance for BS — than ones who don’t and are full of it.

  45. I’ve been on Gentoo since 2003, it’s really been a while and many things have changed since.My opinion is also that unstable should not be unusable. It used to be bearable back in the days because packages would quickly move to stable and one just had to be a bit patient. Nowadays though, the stable branch seems almost out-of-date, probably because there are so many packages and so many few devs (I won’t pretend that adding devs will solve that problem though) and because the other distros are providing them so quickly too. So if one wants to keep his system up-to-date and doesn’t have 3 hours a week to spend on managing the package.keywords file, one needs a usable ~arch tree.It’s not the right place to talk about that but just like other people who commented before, I do think it would be a good idea for Gentoo to *officially* provide some sort of bleeding-edge tree (for the strong-of-the-heart).I’d like to go on and on about how the political system of Gentoo seems to be leading us nowhere but that’s not my place to rant, that’s yours! Please just don’t do something reckless and think about it calmly before really resigning. Gentoo users need people like you, and as much as you might hate that, they might also need you to push for a change because there will undoubtedly people behind you if you choose so.

  46. Oh, my. You really released something here, didn’t you? The comments are pretty depressing I must say, some trolls, some bullshit (arch being stale so you must run ~arch? yeah, right…), and some standard FUD (yeah, I rather use Gentoo on an production machine then some other distro that does not even support themselves and/or does not know how to handle licenses).That said, I hope you stay with us. I feel the QA and other work you do is really needed.

  47. Hi Diego, I have only one comment :Your work with Gentoo is awesome and I really appreciate what you have done in the past and hopefully what you will do for Gentoo :PYou really make a diff IMOO.

  48. Update: As I feared: OOM – I’d need at least 4 GiB physical memory I think, and I have only 3. I’ll see what I can do about that (and in the meantime convert the individual cvs modules).

  49. Frankly, while I agree with samba situation being bad (they’re moths old bugs with patchesjust waiting for a review and being applied), I would regret dropping split ebuilds.At very least, if we get back to the merge build, it should provide similar functionality, that isability to build only the libs, as some of us need just that from samba.

  50. Wow! I think it really put on me the pretended worries.. Well, let’s say I can motivate an user group to sign a request for something, to be sent to the right people.1) what something it could be? Ask the problematic developers to be shredded from the planet surface? Ask a judgement process to be started? Ask the very suspension of the commit rights for these foes?2) who wold be the right people for whom that possible pettiton should be addressed?

  51. I am a software developer who’s been using gentoo since 2003.I always had to ~arch some packages, follow some overlays and bump some ebuilds here and there as needed by my developments but it never was a big issue.I have always been amazed by the fact that at any point in time it’s easy to quite effortlessly upgrade gentoo systems installed years before, without ever getting in the need of reinstalling from scratch or of following some major release schedule.I really appreciate the fact that gentoo is flexible *and* stable *and* easy to use *and* well-documented.Losing even a single one of those features for the sake of a version bump is nonsense and seriously harms gentoo.The procedure should be:* people needing bleeding edge stuff should file bugs, preferably with new ebuilds* the dev team should review and consider such contributions for inclusion in the tree* the QA process should be improved and strengthened, also by means of proper and *full* dependency tracking, as often proposed by Diego* discussion should be fluent and thorough, arrogance should be banned* developers abusing their commit rights in a careless and clueless way should be kicked out of the dev teamPlease Diego reconsider your decision, I am fully convinced you are right and I really appreciate your hard work and insightful posts.Please dev team don’t cut corners for the sake of a blind version-bump race with other distros.Please users (including myself) support more our beloved gentoo developers, help QA unstable stuff and submit support for bleeding edge stuff we’d like to see included in the tree soon.Please all gentoo stakeholders let’s keep on learning to work well as a team, that’s always been our strength in the past and that’s where our strength will come from even more so in the future.

  52. From the perspective of “solving” these issues I think that the way a maintainer is listed in a textfile rather than enforced through a set of rules is like asking to complications. A suitable process here might be to allow any dev to work with any package, but systematically hold on the commits so that the maintainer(s) get to approve or deny any commits that touch their work. That way changes won’t come as a surprise and although it’s an artificially slowing process, it is so to prevent damages.Just my 2 cents on the “how do we make this situation better”.

  53. So that is why everything completely borked this time i tried to update things. Let the bleeding edge guys live eat and breathe autounmask. I would like to have a nice mix bleeding edge and ease of install/use with my ~86. And I am fairly certain that stable users would want things to work and be rock solid, at the expense of the latest greatest on their systems.

  54. You sound a bit overloaded. Don’t feel as though you have to be a one-man-band, and be responsible for everything.My advice is to recruit more developers, and delegate some of your work to them. Then you’d have more time free to deal with organizational and structural issues like this.The Gentoo organization needs to grow, and I think we need you to contribute to leading it.

  55. Yay, so…. didn’t take much time to prove Diego’s point. Bug closed yet again as duplicate, all is fine, an editor (Gentoo’s default one) that only prints junk on your screen is a feature and there’s no need to bother with documenting the behaviour of USE=debug there, it’s much more important to have USE=justify described like this: “Toggle the justify option” in metadata.xml. So much for useless usage of metadata.xml by certain developers.

  56. I would hate so see you leave..Gentoo is afaik unique in havingthe possibility to have a stable platform with a few added (unstable extra’s) and the ability to add yourown without too much trouble.I do value that. And yes i have been surprised in the passed a few times and rebuild a system.The one name that all those year struck me as a sign of quality and drive to make things better without leaving a wake full of wrecks is ‘flameeyes’ .My main worklife is OpenVMS based (quite a different beast) after that i have some off-line life as a life-guard after that i fill my time (left) with doing odd things with computers, like maintaining my private & (one man company systems) based on gentoo. After other distro’s broke a lot after having to add other packages not supported through the “official channels” Gentoo is the best fit I found. I would like to see your name mentioned in the future too together with gentoo…Now I might be of some help, I do issue the odd bugreports i might be able to help a bit. Yet i cannot commit to become a developer some how i think i would take too much on.

  57. Just wanted to let you know your efforts are very much appreciated and that it would a real shame for gentoo and its users if you left,

  58. Gentoo seems to have been suffering from bugs and quarrels for a long time. Therefore it seems odd that so many Gentoo users and developers have been loyal to it despite all that. Gentoo may be ok, but, still, why don’t more of those people interested in source-based distributions try some of the many source-based alternatives to Gentoo, like Source Mage GNU/Linux? Many things in SMGL infrastructure seem more sensible to me, it’s technically simpler, easier to maintain, yet has a good and Debian-like social contract and a friendly atmostphere AFAIK.

  59. now, reading through your post and the comments, I really don’t think I need to write it all down again. I agree with Bryan Jacobs (and others 😀 ). Also I know, you are having a lot of work, so if you decide to stay, I’m willing to help. I’ve been learning about the core system, and maybe I finally can get around to help someone around here. Well you got my mail.Well good luck and I hope that no matter which decision you will make, will brighten your days.

  60. I feel your pain.. I recently did a long-overdue emerge -uDN world and got blind-sided with both Python 3 and the bloody jpeg library issues at once. And lets not start on the whole xcb catastrophe a while back. I’m just glad I happened to have temporarily removed samba a couple months ago.I’m certainly no developer, but I’ve been with Gentoo for years and I’ve always hated seeing these (stupid) issues that end up driving off good developers and supporting users. All the best to you, whether you stay with us or not.

  61. Well. I guess that my point of view is dead simple.As a developer for any(!) product/software/driver/or anything else, you’ve got to take care. You’re responsible. And if you’re forced to break something, do it so noone else is hit by your changes. That’s what VCSs are made for…If you’ll break something in the development phase, it will hit every user that uses the devel-tree.However… Breaking things up due to not testing, ignoring common rules and not being able to take responsibility for this is in my opinion simply (censored, I won’t speak this out, too many children could read this…)Diego, I think that you’ve done good work, like to read your blog. Giving up would be the wrong way. If too many children stop playing in the kindergarten, but do it in real world and noone stops them, it will be a real big loose for Gentoo and Gentoo will really be unusable.Thanks a lot!

  62. Anyone who’s top priority is bleeding edge should have jumped ship to Arch a long time ago…

  63. Hey Flameeyes, keep it up! I always appreciated your good work and enjoyed your visionary posts as well. Gentoo needs devs like you.

  64. Hey Diego, no matter where you go, what you do, there will be A’s and B’s. Things will never be as good as you are able to make them, simply because of the fact that there aren’t many developers as good as you are. The A’s and B’s won’t even get what you’re talking about half the time, and usually they’ll care more about how they look than about the work itself.So given that this sort of crap will always be out there, the trick is not to let it stop you from enjoying yourself. Focus your efforts in the place that makes you happiest. Avoid the temptation to fix things that bug you just because you can. Let the rest of it take care of itself, including letting them stuff up badly.It would be a huge loss for Gentoo if you resigned. But maybe it would be good for you, have a break, think about what you want to do. When you work with the same group or at one workplace for a while responsibilities can pile up just because you’re capable, and things can get way out of control. Sometimes the only way of dealing with that is to step away. You can always come back.Sorry for the lecturing tone, I don’t mean to tell your what to do, nor am I encouraging you to leave Gentoo; that would be a great loss. I’ve really enjoyed your work and have learned heaps from it (thanks particularly for your autotools intro). I hope you see this as a message of support, because that’s what it’s supposed to be. Take a load off, mate.Cheers,Gid

  65. Sorry to hear you are leaving Gentoo. The community is losing a really valuable contributor.But if you are looking for a new distro, try Fedora. It’s a very nice distro, especially for people who want to contribute back. There’s an active community of people surrounding it, easy to help out with development and everything is very transparent and open.

  66. I don’t know the full story, so i’m going to refrain from commenting on the issues you brought up. However I do know you’ve always been around the past years, so it saddens me to see you go. Hence I can only hope this gets resolved over time.can somebody magically fix all these dev-issues please, ktnxby.

  67. I’ve been using gentoo as primary OS since 2002 on everything I have. During that time frame I have seen ~arch go from broken to usable with bugs. I agree fully that ~arch should be buggy but not broken, and it has taken quite a few years for that to happen. For one developer to want “really” bleeding edge, perhaps another version of ~arch should exist for the completely untested builds, something like $arch? I do want at least somebody to have tried to build an ebuild before tossing it into the mainline tree as ~arch!

  68. I just hope you stay. I have read your blog posts for almost a year now and I really like them. I also appreciate your tinderbox efforts to make gentoo a more stable system; nobody likes a broken system. On the other hand I understand the desire of those developers A and B to have most recent system. But of course their means were kind of suboptimal. Just running around the portage tree and altering everything in cowboy style is not the way to go. I totally agree that unstable should mean “not stable” and not unusable.

  69. Good idea would be to talk directly to A and B and end up in one or other diplomatic solution. Remember that both you and they believe that they make better Gentoo. All those common desires are failing just because misunderstanding of each other: so sad. 🙁

  70. I’ve being using linux based systems since 1998 and have tried most of the popular distributions (SuSE, Red Hat, Mandriva, Debian, Slack + derivateves). Since 2005 I’m periodically trying to install Gentoo on my PC seduced by the tales of its “supreme efficiency”. Never have I succeeded for more than 2 consecutive months (last 5 months ago) to keep such a system because after weeks of compilations and configurations a change is coming and the system is becoming unusable. Nobody expects Gentoo to be as stable as Debian but the current state is out of any limits. You are right that changes MUST be done and the changes must be in the organisation of work. What is the meaning of very efficient/bleeding edge system when it is working only half of the time and the other half it is not functioning?

  71. I’m using Gentoo since 2003 and I’m totally with you on this matter. I always prefer stable over bleeding edge, specially when I use it on servers and downtime and failure is not tolerable.

  72. I see no trouble to using Python 3 and any other fresh code. But using ONLY Python 3 is bad idea, until python 3 not supporting crosscompiling (in september was so) – it may break Gentoo cross-development logic.

  73. These dudes who make Python 3 the only Python available are just purely ignorant of the fact that a very large chunk of Python development still happens in Python 2, and this is not going to change any time soon.

  74. On issues like this there always has to be a level attained that is some where in between the two extremes. The line drawing is difficult to say the least. However, it is not acceptable to establish a known set of rules that allows breakage ..any breakage at all. The level of QA that needs to be in place should _garantee_ that no changes to the production tree breaks anything else in the tree. If that can not be done, then the whole gentoo way needs to be simplified so that it _can_ be done.

  75. I was one who spoke out against python3 as well. I felt like I was talking to a fence post. Sometimes I wonder if speaking up on the dev mailing lists is even worth the effort.

  76. This is the main reason I switched from gentoo to archlinux, although I did it quite some time ago (I switched over for similar reasons, however in this case it was due to KDE4 being released)Gentoo was great 5-10 years ago? However it has its own practical problems (building everything from source is very time consuming and having to find out all the appropriate flags). I do however respect that certain people either need to or wish to use such a system.However the other thing that is killing gentoo is the politics going on behind the scenes, and the problems that it is causing (and it seems to be still happening by the likes of it).Archlinux basially did everything what gentoo used to do, bleeding edge, lots of packages (through AUR) and a great development distro. Only difference is arch is binary based (although it has a very easy way of building through source using ABS) and Gentoo is source based.I guess the other difference is, Archlinux works almost all of the time (and if problems arise they are easy to fix), Gentoo is another ballgame

  77. All our servers and Desktops are Gentoo, actually was Gentoo. Since the rc converting and KDE upgrade problems… we can’t solve the problems in a timely matter – so we moved to Kubuntu with all Desktops. Now we facing emerge issues with our servers. Lately Gentoo becomes a pain where I loved so much and now what?

  78. I just installed calculate linux 15.12 xfce. From what i can tell people are really excited about it I’m very impressed how easy it was to install. And I’ve finally got a working gentoo based system that I am happy with that i needed no help with and was entirely worthwhile(timewise). I had already decided that I wanted to make a website using ruby within gentoo and no matter what it takes i will achieve that goal 🙂 Please don’t give in everyone who loves gentoo and what it stands for really loves it. As far as I’m concerned gentoo is linux and if you give up on gentoo then i give up on linux. Just the way i feel.

Leave a Reply to Gerard NeilCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.