1 |
I just posted this to my blog [1], but I know you don't all read it so I |
2 |
wanted to post it here as well. Do read all the way through. I very |
3 |
rarely write anything this long, and when I do, it's something I feel |
4 |
very strongly about. |
5 |
|
6 |
I started my fourth year as a Gentoo developer in June, and Gentoo's |
7 |
changed a lot since I started back in 2003. We've become a drastically |
8 |
more democratic organization. But the question remains — _Is this a good |
9 |
thing?_ |
10 |
|
11 |
When I think about where Gentoo was when we turned into a democracy |
12 |
years ago, and where Gentoo is now, I don't see much of a difference on |
13 |
the large scale. We lack any global vision for where Gentoo is going, we |
14 |
can't agree on who our audience is, and everyone's just working on |
15 |
pretty much whatever they feel like. |
16 |
|
17 |
When I joined, Daniel Robbins was in charge, period. Seemant Kulleen and |
18 |
Jon Portnoy were basically his lieutenants. What Daniel said was what |
19 |
happened, and woe to anyone who angered him. This generally worked out |
20 |
pretty well, but _as Gentoo grew, it didn't scale_. Everything |
21 |
significant still had to go through Daniel for personal approval. |
22 |
|
23 |
Shortly after I finished training and became an "official" developer, |
24 |
Gentoo gained its first real structure via Gentoo Linux Enhancement |
25 |
Proposal (GLEP) 4 — "Gentoo top-level management structure proposal". |
26 |
The GLEP process itself was quite new then; GLEP 4 was really only the |
27 |
second proposed GLEP (the first two were details related to the GLEP |
28 |
process) and the first one that was accepted. _Its goal was to improve |
29 |
communication and coordination as well as increase accountability_. |
30 |
|
31 |
GLEP 4 formalized a hierarchy of so-called "top-level" projects — |
32 |
between 5 and 10 major areas into which everything in Gentoo could be |
33 |
divided. Daniel appointed the original project managers, who served |
34 |
under him. |
35 |
|
36 |
Democratic elections entered Gentoo when we realized that we needed to |
37 |
create a new top-level project for all the desktop work, because it |
38 |
didn't fit into any existing project. Since managers already voted |
39 |
amongst themselves on GLEPs, it seemed like a natural extension for them |
40 |
to vote on a new manager. The call for nominations is archived online. |
41 |
I'd been a developer for around six months at this point, and by then I |
42 |
was the lead X maintainer. Brandon Hale was active in maintaining window |
43 |
managers and other miscellaneous applets and such. Turns out that the |
44 |
vote tied, so we became co-managers. |
45 |
|
46 |
I didn't realize it at the time, but that was the beginning of a very |
47 |
slippery slope. |
48 |
|
49 |
Gentoo used to be a courteous, friendly development community where |
50 |
nobody was afraid to speak his mind for fear of insult and injury. I see |
51 |
a clear correlation between the growth in democracy and the departure of |
52 |
courtesy. Once people are empowered to vote on every decision, rather |
53 |
than just having their discussion taken as input in a decision, they get |
54 |
a lot more vehement, argumentative and forceful about getting their way. |
55 |
_Flamewars and loud arguments going on for hundreds of posts have become |
56 |
commonplace, despite the occasional outcry_. Here's one such outcry, on |
57 |
March 20, 2006, to the private developers' list: |
58 |
|
59 |
What I've seen for the last 18 months or more is a general degeneration |
60 |
in the attitudes of developers for their fellow developers. When I |
61 |
joined, the attitude of people was friendly and welcoming. I screwed |
62 |
up a couple of times. I didn't get my ass handed to me. I got picked |
63 |
up, and comforted. And taught and tutored. ... |
64 |
|
65 |
So, we split from the Gentoo Technologies company, to a community owned |
66 |
Gentoo Foundation. And now everyone was empowered. Everyone has a |
67 |
voice. Some louder than others. The unfortunate thing is that with |
68 |
this empowerment came a bit of assholishness. With rare exception, |
69 |
we're pretty much all guilty of that. Someone makes a spelling error in |
70 |
a commit, and that leads to flamefests on irc and mailing lists and |
71 |
blog entries. And so on, ad nauseum. |
72 |
|
73 |
Frankly, I'm sick of it. It's burning people out. We're burning |
74 |
ourselves out by being this way. It's time to stop this shit. To |
75 |
everyone reading this, you've arrived at the important bit. From now, |
76 |
please try this little thing. When you're on the mailing lists or the |
77 |
fora or irc channels or in /query or somehow in the gentoo 'verse, |
78 |
please try, just try, to be a little bit nicer to the people with whom |
79 |
you're interacting. That's all. Have a little respect (even if not |
80 |
deserved!). Listen a little. Hold back the snide comment, the |
81 |
sarcastic remark. I don't mean to get all Oprah on you all, but I hope |
82 |
you see my point -- just be nice for a change. |
83 |
|
84 |
The vocal minority often gets its way, despite 99% of the other |
85 |
developers being happy with any given situation. |
86 |
|
87 |
The problem got so bad that our Developer Relations team wrote up an |
88 |
etiquette guide. Unsurprisingly, the same vocal minority that generally |
89 |
behaves like an ass and violates said etiquette guide erupted in flames |
90 |
over it, and it ended up fading into an existing but largely irrelevant |
91 |
piece of writing. |
92 |
|
93 |
Around the same time, more cries of "Democracy!" and "Eliminate the |
94 |
cabal!" forced developer relations (devrel) to come up with a huge, |
95 |
bureaucratic, court-like system for disciplining pretty much the same |
96 |
group of people again. Everyone treated it like a world of extremes of |
97 |
good and evil, where democracy is absolutely good and purity, and |
98 |
anything other than that is evil. This added bureaucracy has essentially |
99 |
rendered this side of devrel powerless, meaningless and useless. |
100 |
|
101 |
All in all, the vocal minority has done a splendid job of becoming more |
102 |
influential, crippling Gentoo's ability to do anything at all about its |
103 |
members, their flames, their outstanding work at ruining people's fun |
104 |
and enjoyment of Gentoo, and their waste of everyone else's time. |
105 |
|
106 |
How can we do anything about this? As people such as Mike Auty have |
107 |
pointed out, the problem could be with the increasing barrage of rules, |
108 |
regulations and policies to which we're expected to adhere. Take a look |
109 |
at the FreeBSD committers' rules. Rule one is "Respect other |
110 |
committers," and rule two is "Respect other contributors." Take a look |
111 |
at the importance of courtesy and care to avoid creating long-term |
112 |
disagreements in rule one: |
113 |
|
114 |
Being able to work together long term is this project's greatest asset, |
115 |
one far more important than any set of changes to the code, and turning |
116 |
arguments about code into issues that affect our long-term ability to |
117 |
work harmoniously together is just not worth the trade-off by any |
118 |
conceivable stretch of the imagination. ... |
119 |
|
120 |
First calm down, then think about how to communicate in the most |
121 |
effective fashion for convincing the other person(s) that your side of |
122 |
the argument is correct, do not just blow off some steam so you can |
123 |
feel better in the short term at the cost of a long-term flame war. Not |
124 |
only is this very bad “energy economics”, but repeated displays of |
125 |
public aggression which impair our ability to work well together will |
126 |
be dealt with severely by the project leadership and may result in |
127 |
suspension or termination of your commit privileges. |
128 |
|
129 |
Or how about the Ubuntu Code of Conduct? The first two rules are "Be |
130 |
considerate" and "Be respectful." Again, note that these rules are |
131 |
actually enforced. As has been pointed out on the Gentoo development |
132 |
list, you can have respect without courtesy. But Gentoo needs both! One |
133 |
just isn't good enough. |
134 |
|
135 |
But what about Gentoo? We don't have any overriding principles like this |
136 |
from which all of the standards for behavior derive. Instead, we have a |
137 |
large document explaining specifically and in detail what's allowed and |
138 |
what isn't, and even that is ignored. Because of the bureaucracy and the |
139 |
lack of respect for devrel's role, we're effectively powerless to do |
140 |
anything when people behave in a way for which the FreeBSD project's |
141 |
leadership would kick them to the curb. |
142 |
|
143 |
I'm not the only one to suggest that a democracy isn't the most |
144 |
productive way to run Gentoo. When people wanted to change in how Gentoo |
145 |
was run, democracy was the only option considered, rather than simply |
146 |
changing the leaders. There's an ongoing assumption that if problems |
147 |
exist, it must be somewhere in the structure rather than in the people. |
148 |
|
149 |
If I could go back in time a couple of years and prevent this democracy |
150 |
from ever happening, I would. If I could fix these problems myself, I |
151 |
would. But it requires buy-in from the entire Gentoo community if we're |
152 |
to do anything about it. |
153 |
|
154 |
Thanks, |
155 |
Donnie |
156 |
|
157 |
P.S. -- if you want the links, you can get them from my blog post. |
158 |
|
159 |
1. http://spyderous.livejournal.com/80869.html |