public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Stuart Herbert" <stuart.herbert@gmail.com>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Democracy: No silver bullet
Date: Thu, 24 Aug 2006 09:50:04 +0100	[thread overview]
Message-ID: <b38c6f4c0608240150h38472c70p28cbaf9d01daf9fb@mail.gmail.com> (raw)
In-Reply-To: <44ECF00D.7050107@gentoo.org>

Hi Donnie,

On 8/24/06, Donnie Berkholz <dberkholz@gentoo.org> wrote:
> I started my fourth year as a Gentoo developer in June, and Gentoo's
> changed a lot since I started back in 2003. We've become a drastically
> more democratic organization. But the question remains — _Is this a good
> thing?_

Oh yes.  It corrected major inbalances, and added significant
credibility to our claim to be a community-based distro.

> When I think about where Gentoo was when we turned into a democracy
> years ago, and where Gentoo is now, I don't see much of a difference on
> the large scale. We lack any global vision for where Gentoo is going, we
> can't agree on who our audience is, and everyone's just working on
> pretty much whatever they feel like.

We've had a global vision for where Gentoo is going from before I
joined - Gentoo is here to create a source-based distribution where
each package is as close to what $UPSTREAM intended it to be as
possible.  We're not trying to take $UPSTREAM packages and innovate
with them - we're here to do a first class job of packaging them up.

It's a somewhat Daoist approach, and as such is completely alien to
most Western thinking (which is based around modelling the world to
our thoughts, instead of modelling ourselves to our world).  Don't be
afraid of it.  In business terms, it's out "sweet spot" - it's the
place we occupy that our more commercial competitors simply can't make
in-roads on.  It gives us a unique identity.

"Everyone just working on pretty much what they feel like" is Gentoo's
other major strength.  What we work on is what is important to us.  We
work on what we need, and what we're motivated to do.  Do you know how
many companies wish they could say the same about their workforces?

The flip side is that it's important we have a diverse and changing
developer team.  Our strength is also our weakness.  If you get too
much of an inbalance in the profiles and interests of the developers,
you'll end up with a distro that's equally inbalanced.  And it will be
that which eventually kills off Gentoo.  For example, if the work and
decision making was dominated mainly by students or research academics
- folks it could be said have no experience or understanding of the
demands of the corporate workplace - eventually Gentoo would warp and
turn into something that was too eclectic to fit in corporates.  And
the same is equally true the other way around.

> When I joined, Daniel Robbins was in charge, period. Seemant Kulleen and
> Jon Portnoy were basically his lieutenants. What Daniel said was what
> happened, and woe to anyone who angered him. This generally worked out
> pretty well, but _as Gentoo grew, it didn't scale_. Everything
> significant still had to go through Daniel for personal approval.

Scaling wasn't the only issue.  There were too many topics -
especially when it came to servers and web-related issues - that were
just beyond Daniel's experience and understanding.  You also left Kurt
out as one of the lieutenants.

> Shortly after I finished training and became an "official" developer,
> Gentoo gained its first real structure via Gentoo Linux Enhancement
> Proposal (GLEP) 4 — "Gentoo top-level management structure proposal".
> The GLEP process itself was quite new then; GLEP 4 was really only the
> second proposed GLEP (the first two were details related to the GLEP
> process) and the first one that was accepted. _Its goal was to improve
> communication and coordination as well as increase accountability_.
>
> GLEP 4 formalized a hierarchy of so-called "top-level" projects —
> between 5 and 10 major areas into which everything in Gentoo could be
> divided. Daniel appointed the original project managers, who served
> under him.

That hierarchy was always flawed.  Server-related matters never had a
seat at the top table, and ended up being represented by the base
systems manager.  That actually turned out quite well for us, because
folks simply left us alone to get on with things.

> Democratic elections entered Gentoo when we realized that we needed to
> create a new top-level project for all the desktop work, because it
> didn't fit into any existing project. Since managers already voted
> amongst themselves on GLEPs, it seemed like a natural extension for them
> to vote on a new manager. The call for nominations is archived online.
> I'd been a developer for around six months at this point, and by then I
> was the lead X maintainer. Brandon Hale was active in maintaining window
> managers and other miscellaneous applets and such. Turns out that the
> vote tied, so we became co-managers.
>
> I didn't realize it at the time, but that was the beginning of a very
> slippery slope.
>
> Gentoo used to be a courteous, friendly development community where
> nobody was afraid to speak his mind for fear of insult and injury. I see
> a clear correlation between the growth in democracy and the departure of
> courtesy. Once people are empowered to vote on every decision, rather
> than just having their discussion taken as input in a decision, they get
> a lot more vehement, argumentative and forceful about getting their way.
> _Flamewars and loud arguments going on for hundreds of posts have become
> commonplace, despite the occasional outcry_.

Except ... even today, folks simply aren't empowered to vote on every
decision (other than by voting with their feet).  Your hypothesis
seems to be based on a flawed model of how Gentoo works, I'm afraid.

> Here's one such outcry, on
> March 20, 2006, to the private developers' list:
>
>  What I've seen for the last 18 months or more is a general degeneration
>  in the attitudes of developers for their fellow developers. When I
>  joined, the attitude of people was friendly and welcoming. I screwed
>  up a couple of times. I didn't get my ass handed to me. I got picked
>  up, and comforted. And taught and tutored. ...
>
>  So, we split from the Gentoo Technologies company, to a community owned
>  Gentoo Foundation. And now everyone was empowered. Everyone has a
>  voice. Some louder than others. The unfortunate thing is that with
>  this empowerment came a bit of assholishness. With rare exception,
>  we're pretty much all guilty of that. Someone makes a spelling error in
>  a commit, and that leads to flamefests on irc and mailing lists and
>  blog entries. And so on, ad nauseum.
>
>  Frankly, I'm sick of it. It's burning people out. We're burning
>  ourselves out by being this way. It's time to stop this shit. To
>  everyone reading this, you've arrived at the important bit. From now,
>  please try this little thing. When you're on the mailing lists or the
>  fora or irc channels or in /query or somehow in the gentoo 'verse,
>  please try, just try, to be a little bit nicer to the people with whom
>  you're interacting. That's all. Have a little respect (even if not
>  deserved!). Listen a little. Hold back the snide comment, the
>  sarcastic remark. I don't mean to get all Oprah on you all, but I hope
>  you see my point -- just be nice for a change.

> The vocal minority often gets its way, despite 99% of the other
> developers being happy with any given situation.

This is hardly a new phenomenon invented by Gentoo.  You'll find
tonnes about this under topics such as "growing pains", and also
"management by ego".

The basic cause always comes down to weak or non-existent management.
Your very best folks are good because (rightly or wrongly) they fill
perceived vaccuums.  They wander out of their own areas because they
genuinely care, and they see a situation where they feel they can help
out more junior folks.

When these wanderers get there, they can be characterised as having
one of two agendas.  They either absorb the agenda of the folks
they've gone to help, and they do their best to make that happen.  Or
- and sadly this is the case with certain vocal folks in Gentoo - they
instead seek to impose their pre-conceived ideas and their agenda on
the folks that they've gone to help.  Although the motives are sound -
they genuinely care - the whole imposing just gets folks backs up, and
is often made worse by poor personal communication skills (made worse
by our reliance on electronic communications) and by the fact that
many of the people acting like this frankly aren't good enough to
bring the right ideas across.

This whole thing is often described as management by ego, and arises
primarily because there's no effective structure to contain these
wanders, and ensure that they fuck off when they overstep the mark.

> The problem got so bad that our Developer Relations team wrote up an
> etiquette guide. Unsurprisingly, the same vocal minority that generally
> behaves like an ass and violates said etiquette guide erupted in flames
> over it, and it ended up fading into an existing but largely irrelevant
> piece of writing.

That's true, but again it's not the whole story.  The original
complaints against the etiquette guide (even from the vocal minority)
were rightly about the way this was done.  No offense to Deedra and
Tim, but the whole process of writing and introducing that guide
should be held up for time immemorial as an example of how not to work
with a volunteer community.

> Around the same time, more cries of "Democracy!" and "Eliminate the
> cabal!" forced developer relations (devrel) to come up with a huge,
> bureaucratic, court-like system for disciplining pretty much the same
> group of people again.

That's not how I remember it.  The court-like system was a direct
consequence to the way that Ciaran's first suspension was handled.
Plenty of folks felt that the way it was done left a very bad taste in
the mouth, and the system that followed was an attempt to address
those genuine problems.

> Everyone treated it like a world of extremes of
> good and evil, where democracy is absolutely good and purity, and
> anything other than that is evil. This added bureaucracy has essentially
> rendered this side of devrel powerless, meaningless and useless.

I'm not sure how you can justify that statement.  To the best of my
knowledge, that system has only been tested in full the once - when
Brian was suspended from the project and Ciaran was expelled.

> All in all, the vocal minority has done a splendid job of becoming more
> influential, crippling Gentoo's ability to do anything at all about its
> members, their flames, their outstanding work at ruining people's fun
> and enjoyment of Gentoo, and their waste of everyone else's time.

Can you back this up with three examples in the last twelve months
where this has happened?

> How can we do anything about this?

You start at the beginning, which is recruitment.

Many companies and organisations are guilty of looking at recruitment
simply at the superficial level - that it's purpose is to increase
head-count, to put bums on seats, and to make sure that there are
enough shoulders to share the load.  That is something that has to be
taken into account, but it ignores the fundamentals.

The fundamentals of recruitment are about enlargening your internal
community (ie, your workforce, or in our case, our army of volunteer
developers).  It's about bringing people in so that they accept and
respect what your community is, how it works, and why.  You actively
mentor them, because it takes an average of six months for a new
recruit to "get it".  You set things up so that they are automatically
out the door unless they "get it".  "Getting it" isn't just about the
technical aspect of the work.  The social side is *just* as important
- but unfortunately, that's a difficult thing for the kind of
volunteers we attract to understand or accept (as any IT manager can
attest to ;)

Your internal community needs a shared culture.  When the shit hits
the fan, it's that shared culture which holds everything together
until you pull through.

Our problem is that we have a critical mass of groups who do not share
a culture to bind them together, and drive them to overcome their
differences.

> As people such as Mike Auty have
> pointed out, the problem could be with the increasing barrage of rules,
> regulations and policies to which we're expected to adhere. Take a look
> at the FreeBSD committers' rules. Rule one is "Respect other
> committers," and rule two is "Respect other contributors." Take a look
> at the importance of courtesy and care to avoid creating long-term
> disagreements in rule one:
>
>  Being able to work together long term is this project's greatest asset,
>  one far more important than any set of changes to the code, and turning
>  arguments about code into issues that affect our long-term ability to
>  work harmoniously together is just not worth the trade-off by any
>  conceivable stretch of the imagination. ...
>
>  First calm down, then think about how to communicate in the most
>  effective fashion for convincing the other person(s) that your side of
>  the argument is correct, do not just blow off some steam so you can
>  feel better in the short term at the cost of a long-term flame war. Not
>  only is this very bad "energy economics", but repeated displays of
>  public aggression which impair our ability to work well together will
>  be dealt with severely by the project leadership and may result in
>  suspension or termination of your commit privileges.
 >
> Or how about the Ubuntu Code of Conduct? The first two rules are "Be
> considerate" and "Be respectful." Again, note that these rules are
> actually enforced. As has been pointed out on the Gentoo development
> list, you can have respect without courtesy. But Gentoo needs both! One
> just isn't good enough.

These are good points.

> But what about Gentoo? We don't have any overriding principles like this
> from which all of the standards for behavior derive. Instead, we have a
> large document explaining specifically and in detail what's allowed and
> what isn't, and even that is ignored. Because of the bureaucracy and the
> lack of respect for devrel's role, we're effectively powerless to do
> anything when people behave in a way for which the FreeBSD project's
> leadership would kick them to the curb.

Hrm.  Where is this lack of respect for devrel being displayed today?
What forms does this lack of respect take?  If there's a lack of
respect at the moment, it's not for devrel.

It's between individual developers, who either do not value each other
as people, or do not value each other as contributors.

A good way to sort that out is to get them together in the physical
world, and use group de-polarisation exercises to help folks
understand that their view of the world isn't the only view that is
valid.  This is why I'm hoping to see Gentoo establish a regular
international dev conference.  You'll find that the vast majority of
issues won't arise once folks actually know each other better - and
the personality clashes that are left are easier to see for what they
are.  (You can't eliminate all personality clashes, alas.)  And, we've
already proved that we _can_ (eventually) deal with the tiny minority
of genuine trouble makers who are left over.

Children create relationships based on friendship.  It's an adult
behaviour to create relationships based on trust.  In the main, the
vocal minority that you refer to several times here can be
characterised as acting like the former, rather than the later.

I'd also argue that we're _not_ powerless.  It wasn't pleasant, but
the old system has shown that we can deal with genuine trouble makers.
 But you can't have everyone get along with everyone else, either -
not in a enlargening community.  A larger group needs that diversity
in order to survive, and to flourish.

No offense to the FreeBSD world, but I'd rather be a part of the
larger Linux world - with a larger, but not always 100% harmonious
community - than part of the smaller FreeBSD world.

> I'm not the only one to suggest that a democracy isn't the most
> productive way to run Gentoo. When people wanted to change in how Gentoo
> was run, democracy was the only option considered, rather than simply
> changing the leaders. There's an ongoing assumption that if problems
> exist, it must be somewhere in the structure rather than in the people.

We don't have a democracy.  Gentoo is largely a workocracy (there must
be a better word for it ;), where the vast majority decisions are made
by the folks who actually do the work.

Folks don't vote on stuff.  To pick a recent example, none of the
folks who opposed Sunrise actually had any means to vote to prevent it
happening.  What they had to do was to lobby the council, who were the
only folks with a vote.

If we had actually tried a democracy (something I'm instinctively
against, but rationally am becoming more and more interested in), your
arguments would maybe carry some weight.  But, the clear fact of the
matter is that we haven't - and that leaves your arguments built on
sand.

> If I could go back in time a couple of years and prevent this democracy
> from ever happening, I would. If I could fix these problems myself, I
> would. But it requires buy-in from the entire Gentoo community if we're
> to do anything about it.

I'm naturally suspicious of anyone who seeks office on a platform of
talking about the need to beef up the powers of an unelected body (ie
devrel), and who does so using at best a partial playback of how we
got to where we are today, with arguments that are built on a
demonstrably flawed understanding of where we are today.

You've just lost my vote.

I'm not standing for election, but maybe someone who is would be
interested in investigating some ideas Sejo discussed with me when he
left us.  The summary is my own; hopefully I've captured Sejo's ideas
accurately.

*  Every staff member has to belong to a team.  You join a team by
being voted onto the team by the other members of the team.  They
don't vote you in, you can't join.
*  If you're not part of any team, your rights and privileges as a
staff member are automatically terminated.  There's no place to go to
appeal.
*  You can be voted off the team at any time.  The teams are self-managing.

I've heard of businesses having tried out similar schemes like this,
with strong success, but it's not an approach I've seen first hand, or
read much about.  I'd be very interested in exploring this one more.

Best regards,
Stu
--
PS: Isn't it fascinating how different folks can live through the same
events, but end up with different perspectives on it? :)

-- 
gentoo-dev@gentoo.org mailing list



  parent reply	other threads:[~2006-08-24  8:52 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-24  0:17 [gentoo-dev] Democracy: No silver bullet Donnie Berkholz
2006-08-24  2:19 ` Daniel Ostrow
2006-08-24  3:56   ` Joshua Jackson
2006-08-24  6:47 ` Sune Kloppenborg Jeppesen
2006-08-24  7:52   ` Donnie Berkholz
2006-08-24  8:29     ` Sune Kloppenborg Jeppesen
2006-08-24 20:28       ` Donnie Berkholz
2006-08-24  6:50 ` Wernfried Haas
2006-08-24  7:54   ` Donnie Berkholz
2006-08-24  8:26     ` Wernfried Haas
2006-08-26 20:23       ` Paul de Vrieze
2006-08-24 12:13     ` Carsten Lohrke
2006-08-24 13:35     ` Ciaran McCreesh
2006-08-24  8:50 ` Stuart Herbert [this message]
2006-08-24 10:39   ` Kevin F. Quinn
2006-08-24 15:13   ` Ferris McCormick
2006-08-24 21:00   ` Donnie Berkholz
2006-08-24 23:28     ` Chris Gianelloni
2006-08-25  5:36       ` Donnie Berkholz
2006-08-25  7:35         ` Andrew Cowie
2006-08-25 15:45         ` Chris Gianelloni
2006-08-25 15:55           ` Mike Doty
2006-08-25 16:08             ` Luca Barbato
2006-08-25 16:25           ` Wernfried Haas
2006-08-25 16:35             ` Ciaran McCreesh
2006-08-25 17:27               ` Wernfried Haas
2006-08-25 18:19                 ` Lance Albertson
2006-08-26  3:53                   ` Wernfried Haas
2006-08-26 13:40                     ` Ciaran McCreesh
2006-08-25 18:39                 ` Chris Gianelloni
2006-08-26  2:41           ` Donnie Berkholz
2006-08-25 21:48         ` Alec Warner
2006-08-26  0:43           ` Alec Warner
2006-08-25 19:41     ` Stuart Herbert
2006-08-25 19:52       ` Ciaran McCreesh
2006-08-26 20:55       ` Paul de Vrieze
2006-08-25 19:45     ` Stuart Herbert
2006-08-24 21:26   ` Michael Cummings
2006-08-24 21:37     ` Daniel Ostrow
2006-08-25 15:25       ` Mike Bonar
2006-08-24 13:42 ` Lance Albertson
2006-08-24 13:56   ` Ciaran McCreesh
2006-08-24 14:11     ` Lance Albertson
2006-08-24 14:32       ` Ciaran McCreesh
2006-08-24 14:58         ` Lance Albertson
2006-08-24 16:53           ` Luis Francisco Araujo
2006-08-24 18:01             ` Marius Mauch
2006-08-24 18:15               ` Luis Francisco Araujo
2006-08-24 20:09                 ` Marius Mauch
2006-08-24 20:46                   ` Luis Francisco Araujo
2006-08-24 21:51                     ` Marius Mauch
2006-08-24 22:11                       ` Donnie Berkholz
2006-08-26 20:59           ` Paul de Vrieze
2006-08-24 15:17         ` Luca Longinotti
2006-08-24 17:13       ` Thierry Carrez
2006-08-24 17:40         ` Mike Doty
2006-08-24 18:03           ` Sune Kloppenborg Jeppesen
2006-08-24 18:14             ` Lance Albertson
2006-08-24 18:27               ` Ciaran McCreesh
2006-08-24 19:31               ` Homer Parker
2006-08-24 19:53                 ` Lance Albertson
     [not found]               ` <44EDF61C.40303@gentoo.org>
2006-08-24 19:45                 ` Daniel Ostrow
2006-08-24 18:55           ` Alec Warner
2006-08-24 19:55             ` Lance Albertson
2006-08-24 17:42         ` Ciaran McCreesh
2006-08-24 13:54 ` Ciaran McCreesh
2006-08-24 22:29   ` Chris Gianelloni
2006-08-25  5:38     ` Donnie Berkholz
2006-08-25 17:13     ` Wernfried Haas
2006-08-25 18:35       ` Chris Gianelloni
2006-08-25 19:49         ` Grant Goodyear
2006-08-26 10:17         ` Wernfried Haas
2006-08-26 13:01           ` [gentoo-dev] " Duncan
2006-08-26 14:06             ` Stephen P. Becker
2006-08-24 14:32 ` [gentoo-dev] " Dominique Michel
2006-08-26 15:09 ` Paul de Vrieze
2006-08-27 11:28 ` Roy Bamford
2006-08-27 21:37   ` [gentoo-dev] " Duncan
2006-08-28 10:20     ` Roy Bamford
2006-09-02  7:55 ` Wiktor Wandachowicz
2006-09-03  3:11   ` Richard Fish
2006-09-03  7:15     ` Wiktor Wandachowicz
2006-09-03 19:29       ` Chris Gianelloni
2006-09-04 22:32         ` Richard Fish
2006-09-03 10:25     ` Luis Francisco Araujo
2006-09-04 22:06       ` Richard Fish

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b38c6f4c0608240150h38472c70p28cbaf9d01daf9fb@mail.gmail.com \
    --to=stuart.herbert@gmail.com \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox