You all suck at working on patches, my fellow Exherbo devs!

I originally posted this in 2011. Unfortunately, hardly any significantly changed since then. I decided to add !pd statistics this time, though:

Philantrop: 557
sepek: 271
ar: 207
keruspe: 180
SardemFF7: 105
zlin: 98
compnerd: 94
sepek_: 88
SuperHeron: 67
heirecka: 53
moben: 43
mrothe: 37
woutershep: 33
pipping: 33
Bruners: 33
virkony: 30
arnej: 27
nicoo: 24
tgurr: 22
freeedrich|: 22

 

 

What really annoys me lately is the unwillingness of my fellow Exherbo core developers to act on user-contributed patches. While it’s certainly true that some patches need extensive testing and, thus, require a lot of time, there are usually a lot of trivial patches or patches that can be tested with moderate effort.

Let’s look at an example:

From 2a11f609e8be4f61a545112f1fceda6f8c40bfeb Mon Sep 17 00:00:00 2001

From: Johannes Nixdorf <mixi@user-helfen-usern.de>

Date: Thu, 24 Mar 2011 16:26:59 +0100

Subject: [PATCH] revive agg in ::mixi

drizzt.graveyard | 7 ——-

1 files changed, 0 insertions(+), 7 deletions(-)

diff –git a/drizzt.graveyard b/drizzt.graveyard

index 98979b9..92ed79a 100644

— a/drizzt.graveyard

+++ b/drizzt.graveyard

@@ -287,10 +287,3 @@ www-servers/

homepage = http://nginx.net

removed-by = Wulf C. Krueger <philantrop@exherbo.org>

removed-from = drizzt

-x11-libs/

– agg/

– :0 2.5

– description = A High Quality Rendering Engine for C++

– homepage = http://antigrain.com/

– removed-by = Wulf C. Krueger <philantrop@exherbo.org>

– removed-from = drizzt

1.7.4.1

This patch was for ::graveyard. It simply removes a single entry for a package that found a new home since I removed it. Great!

Anyone with push access could have verified and pushed it with minimal effort and, yet, nobody did for about two days and I’m pretty sure it would still be rotting on zebrapig if I hadn’t done so today.

Unfortunately, it’s by far not the only example. At the time of writing, zebrapig keeps 16 patches. A week ago, it were over 30. Nobody gave a shit.

There are patches that have been on zebrapig for months now (Ruby comes to mind!) and help with them is rejected because some people have worked on them and instead of submitting improved patches, they keep them to themselves, effectively stopping anyone from doing anything. And hardly anyone gives a shit.

Now, why is that situation so bad:

  1. Patches are submitted to improve Exherbo. You’re impeding improvement by ignoring them.
  2. Patches are submitted by our contributors/non-core developers. If you ignore their patches, they will become frustrated and stop submitting patches but create their own repositories, duplicating our work and making things harder for all of us. Or they will just go away. The latter is the worst possible outcome for Exherbo as a whole because with hardly more than a handful of active core developers, we will fail if we drive contributors away.
  3. You’re putting more workload on the even fewer people with push access that actually work on patches. This takes away from our time working on more interesting stuff and, at least in my case, really alienates people from Exherbo.

Effectively, I’m handling most of the contributed patches myself. Either by reviewing, discussing and pushing them myself or by asking people to work on them (and usually getting stupid answers…).

Another thing that annoys me greatly are the answers I’m getting from people I’m asking to review patches; here are some examples (in no particular order) and what I think about them (which is usually not what I say):

  • “I prefer playing SC2.” / “I’m watching Star Trek!” – Well, yes, fine but I’m sure you could really dedicate at least one or two hours per week to work on patches.
  • “Exherbo is just something nice to play with. I don’t really want to really work on it or be professional about it.” – (I really hate that one.) If you take up responsibility for something, even as a hobby or so, then live up to it or leave it be. Get used to behaving professionally now while you can afford it not to be. Once you get a job, people won’t be so forgiving.
  • “I don’t really care about that package anymore.” – Well, I don’t either but there’s a patch so other people obviously do care. If you really want to get rid of a package, mail the exherbo-dev mailinglist and tell people. If there’s no taker, use Dexter to bury the package if need be.
  • “I prefer vodka over patches.” – …
  • “I’m working! Not a student anymore.” / “I’m so tired!” – So am I. And I’m married, have three kids and two rabbits. I’m working hard myself so you have my sympathy but, really, are one or two hours per week too much to ask? I usually invest much more time myself.
  • “I’ve been busy slacking for a year!” (or longer) – Then please make it official and resign as a core developer. At least I’m going to know whom not to ask and it’ll become more obvious we’re under-staffed.
  • “I said I’d do it but now I can’t be arsed.” – Great, you could at least have told me right from the start you’re not going to do anything. I could have acted accordingly then.

And sometimes, the very same people who just refused to even look at a patch will ask me to review their patches seconds later…

All of this is really annoying and it’s the most likely reason for me to quit working on Exherbo and switching all my machines to another Linux distribution at some point if we don’t find a solution.

5 thoughts on “You all suck at working on patches, my fellow Exherbo devs!

  1. Maybe exherbo should find some business model?

    Or find some way to easy cherry pick changes from people’s repositories.

    You want people to work harder, but isn’t the exherbo development model was thought from begining that core devs just maintain core packages which they find enjoyable, and other packages go to none-core repos?

    Why you want to force people to something with this agitation or even threatening with your leaving?

    Roman Frołow

    • What kind of business model would that be? Apart from that, the problem is not really with getting contributions but with reviewing them.

      Nor am I asking people to maintain packages they don’t care about. All I want them to do is picking up what we get. That’s really not much to ask for, I think

      I’m not threatening either. I’m just saying that I’m tired of working on all those patches. If I don’t, though, most of them will just rot and that sucks. That’s not my idea of Exherbo and if that’s the way it goes, I’ll simply find something new to work on. Which would suck, too, because I really like Exherbo in general.

      • > What kind of business model would that be?
        If the model of exherbo development doesn’t work maybe change to some other model, paid programmers or sth like that?

        > Apart from that, the
        > problem is not really with getting contributions but with reviewing
        > them.
        It is still some work, which those people don’t want to do.

        > Nor am I asking people to maintain packages they don’t care about.
        > All I want them to do is picking up what we get. That’s really not
        > much to ask for, I think
        Not much for you, but as you see it’s to much hassle for them.

        > I’m not threatening either. I’m just saying that I’m tired of working on > all those patches. If I don’t, though, most of them will just rot and
        > that sucks. That’s not my idea of Exherbo and if that’s the way it
        > goes, I’ll simply find something new to work on. Which would suck,
        > too, because I really like Exherbo in general.
        I also like the idea of Exherbo, that people enjoy what they do, and if you want something, do it yourself. But as you see, even reviewing patches someone has to do.

        But instead of solving the problem, you persuade people to do more unwanted work and that would create another Gentoo-like pathology.

        Maybe solution of this patches is to move original idea of Exherbo level up. I mean the idea that core devs make core packages.

        1. Maybe amount of core packages should be decreased?

        2. Or use something like github for forking, watching etc. which could make some operations easier to perform.

        3. Or even don’t create fixed list of core packages, core devs but base it on some sort of reputation algorithm. If some author or his package gets more reputation, it is picked up by paludis.

        For example someone is abandoning his package. Then you just fork it, and paludis then could offer this new forked version during upgrade. If this fork gets enough reputation (installs, upgrades etc.) it becomes default.

        Enough said. Short: Just stick with original idea of Exherbo (as I understand it correctly).

        Roman Frołow

  2. Here are some stats from the irc log file, who has typed the !pd command most:

    Ingmar 699
    Philantrop 443
    replica 279
    zlin 268
    spoonb 167
    compnerd 117
    kloeri 81
    pipping 80
    eternaleye 64
    ciaranm 63
    arkanoid 57
    kimrhh 41
    pioto 41
    berniyh 36
    mrothe 33

  3. The ruby patch is a special case – it is known that the paludis ruby bindings break with 1.9.2 series and I view that patch as being more of a reminder to fix the bindings / check if newer ruby versions self-fix.

    Maybe encourage contributors to test patches for repositories they don’t have push access to. Let those with push access decide how much trust to put in ” patch /34748/ works for me, maintainer_nickname”

Leave a Reply