On 2006.08.24 01:17, Donnie Berkholz wrote:
I just posted this to my blog [1], but I know you don't all read it so
I
wanted to post it here as well. Do read all the way through. I very
rarely write anything this long, and when I do, it's something I feel
very strongly about.
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?_
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.
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.
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.
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_. 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.
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.
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. 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.
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.
How can we do anything about this? 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.
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.
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.
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.
Thanks,
Donnie
P.S. -- if you want the links, you can get them from my blog post.
1. http://spyderous.livejournal.com/80869.html
I think the problem(s) stem from the way Gentoo is organised now. I'm
sure you will shoot me down if I'm wrong. In summary. Gentoo is a loose
knit group of packages with individuals belonging to one or more of the
herds that maintain them. The herd/team leads are supposed to 'get
along' but on occasions, this doesn't happen. Above them is the
council.
If that's wrong, stop reading here.
Lets define Management - its a process of planning, communicating the
plan, getting buy in from the team(s) who will execute the plan,
gathering feedback on progress and replanning. It looks cyclic but its
really a set of concurrent activities. Google PRINCE2 for the details.
At the top level, the council, in its present form does not manage
Gentoo. It can't, it's pretty much disempowered as a management
organisation due to the rules for its agenda setting. Further, don't
see any any evidence of it setting targets and measuring progress or
even getting progress reports. There has been another thread about that
already.
The team leads may very well Manage (see above definition) their teams
but I see no evidence of that happening for Gentoo as a single project,
nor of any body (individual or group of people) that's supposed or
empowered to do it.
There are pros and cons of having an individual or a group of people
appointed to manage Gentoo. Hats discussed elsewhere in this thread
but at the moment it appears its not being done at all, which is the
cause of all the friction.
If the council are to undertake the management of Gentoo, its terms of
reference need to be drastically altered to allow them to undertake the
management process defined above.
All the Gentoo devs suffer from 'real life' they are all well aware
that management decisions are made for the the good of the project, not
to satisfy the self interests of the contributors (its good if it can
happen) so they understand they won't get their own way all the time,
just as in real life.
In short, Gentoo has a top level power vacuum, allowing what amounts to
the 'power struggle 'we see today.
Regards,
Roy Bamford
--
gentoo-dev@gentoo.org mailing list