Gentoo Archives: gentoo-dev

From: Stuart Herbert <stuart.herbert@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Democracy: No silver bullet
Date: Thu, 24 Aug 2006 08:52:45
Message-Id: b38c6f4c0608240150h38472c70p28cbaf9d01daf9fb@mail.gmail.com
In Reply to: [gentoo-dev] Democracy: No silver bullet by Donnie Berkholz
1 Hi Donnie,
2
3 On 8/24/06, Donnie Berkholz <dberkholz@g.o> wrote:
4 > I started my fourth year as a Gentoo developer in June, and Gentoo's
5 > changed a lot since I started back in 2003. We've become a drastically
6 > more democratic organization. But the question remains — _Is this a good
7 > thing?_
8
9 Oh yes. It corrected major inbalances, and added significant
10 credibility to our claim to be a community-based distro.
11
12 > When I think about where Gentoo was when we turned into a democracy
13 > years ago, and where Gentoo is now, I don't see much of a difference on
14 > the large scale. We lack any global vision for where Gentoo is going, we
15 > can't agree on who our audience is, and everyone's just working on
16 > pretty much whatever they feel like.
17
18 We've had a global vision for where Gentoo is going from before I
19 joined - Gentoo is here to create a source-based distribution where
20 each package is as close to what $UPSTREAM intended it to be as
21 possible. We're not trying to take $UPSTREAM packages and innovate
22 with them - we're here to do a first class job of packaging them up.
23
24 It's a somewhat Daoist approach, and as such is completely alien to
25 most Western thinking (which is based around modelling the world to
26 our thoughts, instead of modelling ourselves to our world). Don't be
27 afraid of it. In business terms, it's out "sweet spot" - it's the
28 place we occupy that our more commercial competitors simply can't make
29 in-roads on. It gives us a unique identity.
30
31 "Everyone just working on pretty much what they feel like" is Gentoo's
32 other major strength. What we work on is what is important to us. We
33 work on what we need, and what we're motivated to do. Do you know how
34 many companies wish they could say the same about their workforces?
35
36 The flip side is that it's important we have a diverse and changing
37 developer team. Our strength is also our weakness. If you get too
38 much of an inbalance in the profiles and interests of the developers,
39 you'll end up with a distro that's equally inbalanced. And it will be
40 that which eventually kills off Gentoo. For example, if the work and
41 decision making was dominated mainly by students or research academics
42 - folks it could be said have no experience or understanding of the
43 demands of the corporate workplace - eventually Gentoo would warp and
44 turn into something that was too eclectic to fit in corporates. And
45 the same is equally true the other way around.
46
47 > When I joined, Daniel Robbins was in charge, period. Seemant Kulleen and
48 > Jon Portnoy were basically his lieutenants. What Daniel said was what
49 > happened, and woe to anyone who angered him. This generally worked out
50 > pretty well, but _as Gentoo grew, it didn't scale_. Everything
51 > significant still had to go through Daniel for personal approval.
52
53 Scaling wasn't the only issue. There were too many topics -
54 especially when it came to servers and web-related issues - that were
55 just beyond Daniel's experience and understanding. You also left Kurt
56 out as one of the lieutenants.
57
58 > Shortly after I finished training and became an "official" developer,
59 > Gentoo gained its first real structure via Gentoo Linux Enhancement
60 > Proposal (GLEP) 4 — "Gentoo top-level management structure proposal".
61 > The GLEP process itself was quite new then; GLEP 4 was really only the
62 > second proposed GLEP (the first two were details related to the GLEP
63 > process) and the first one that was accepted. _Its goal was to improve
64 > communication and coordination as well as increase accountability_.
65 >
66 > GLEP 4 formalized a hierarchy of so-called "top-level" projects —
67 > between 5 and 10 major areas into which everything in Gentoo could be
68 > divided. Daniel appointed the original project managers, who served
69 > under him.
70
71 That hierarchy was always flawed. Server-related matters never had a
72 seat at the top table, and ended up being represented by the base
73 systems manager. That actually turned out quite well for us, because
74 folks simply left us alone to get on with things.
75
76 > Democratic elections entered Gentoo when we realized that we needed to
77 > create a new top-level project for all the desktop work, because it
78 > didn't fit into any existing project. Since managers already voted
79 > amongst themselves on GLEPs, it seemed like a natural extension for them
80 > to vote on a new manager. The call for nominations is archived online.
81 > I'd been a developer for around six months at this point, and by then I
82 > was the lead X maintainer. Brandon Hale was active in maintaining window
83 > managers and other miscellaneous applets and such. Turns out that the
84 > vote tied, so we became co-managers.
85 >
86 > I didn't realize it at the time, but that was the beginning of a very
87 > slippery slope.
88 >
89 > Gentoo used to be a courteous, friendly development community where
90 > nobody was afraid to speak his mind for fear of insult and injury. I see
91 > a clear correlation between the growth in democracy and the departure of
92 > courtesy. Once people are empowered to vote on every decision, rather
93 > than just having their discussion taken as input in a decision, they get
94 > a lot more vehement, argumentative and forceful about getting their way.
95 > _Flamewars and loud arguments going on for hundreds of posts have become
96 > commonplace, despite the occasional outcry_.
97
98 Except ... even today, folks simply aren't empowered to vote on every
99 decision (other than by voting with their feet). Your hypothesis
100 seems to be based on a flawed model of how Gentoo works, I'm afraid.
101
102 > Here's one such outcry, on
103 > March 20, 2006, to the private developers' list:
104 >
105 > What I've seen for the last 18 months or more is a general degeneration
106 > in the attitudes of developers for their fellow developers. When I
107 > joined, the attitude of people was friendly and welcoming. I screwed
108 > up a couple of times. I didn't get my ass handed to me. I got picked
109 > up, and comforted. And taught and tutored. ...
110 >
111 > So, we split from the Gentoo Technologies company, to a community owned
112 > Gentoo Foundation. And now everyone was empowered. Everyone has a
113 > voice. Some louder than others. The unfortunate thing is that with
114 > this empowerment came a bit of assholishness. With rare exception,
115 > we're pretty much all guilty of that. Someone makes a spelling error in
116 > a commit, and that leads to flamefests on irc and mailing lists and
117 > blog entries. And so on, ad nauseum.
118 >
119 > Frankly, I'm sick of it. It's burning people out. We're burning
120 > ourselves out by being this way. It's time to stop this shit. To
121 > everyone reading this, you've arrived at the important bit. From now,
122 > please try this little thing. When you're on the mailing lists or the
123 > fora or irc channels or in /query or somehow in the gentoo 'verse,
124 > please try, just try, to be a little bit nicer to the people with whom
125 > you're interacting. That's all. Have a little respect (even if not
126 > deserved!). Listen a little. Hold back the snide comment, the
127 > sarcastic remark. I don't mean to get all Oprah on you all, but I hope
128 > you see my point -- just be nice for a change.
129
130 > The vocal minority often gets its way, despite 99% of the other
131 > developers being happy with any given situation.
132
133 This is hardly a new phenomenon invented by Gentoo. You'll find
134 tonnes about this under topics such as "growing pains", and also
135 "management by ego".
136
137 The basic cause always comes down to weak or non-existent management.
138 Your very best folks are good because (rightly or wrongly) they fill
139 perceived vaccuums. They wander out of their own areas because they
140 genuinely care, and they see a situation where they feel they can help
141 out more junior folks.
142
143 When these wanderers get there, they can be characterised as having
144 one of two agendas. They either absorb the agenda of the folks
145 they've gone to help, and they do their best to make that happen. Or
146 - and sadly this is the case with certain vocal folks in Gentoo - they
147 instead seek to impose their pre-conceived ideas and their agenda on
148 the folks that they've gone to help. Although the motives are sound -
149 they genuinely care - the whole imposing just gets folks backs up, and
150 is often made worse by poor personal communication skills (made worse
151 by our reliance on electronic communications) and by the fact that
152 many of the people acting like this frankly aren't good enough to
153 bring the right ideas across.
154
155 This whole thing is often described as management by ego, and arises
156 primarily because there's no effective structure to contain these
157 wanders, and ensure that they fuck off when they overstep the mark.
158
159 > The problem got so bad that our Developer Relations team wrote up an
160 > etiquette guide. Unsurprisingly, the same vocal minority that generally
161 > behaves like an ass and violates said etiquette guide erupted in flames
162 > over it, and it ended up fading into an existing but largely irrelevant
163 > piece of writing.
164
165 That's true, but again it's not the whole story. The original
166 complaints against the etiquette guide (even from the vocal minority)
167 were rightly about the way this was done. No offense to Deedra and
168 Tim, but the whole process of writing and introducing that guide
169 should be held up for time immemorial as an example of how not to work
170 with a volunteer community.
171
172 > Around the same time, more cries of "Democracy!" and "Eliminate the
173 > cabal!" forced developer relations (devrel) to come up with a huge,
174 > bureaucratic, court-like system for disciplining pretty much the same
175 > group of people again.
176
177 That's not how I remember it. The court-like system was a direct
178 consequence to the way that Ciaran's first suspension was handled.
179 Plenty of folks felt that the way it was done left a very bad taste in
180 the mouth, and the system that followed was an attempt to address
181 those genuine problems.
182
183 > Everyone treated it like a world of extremes of
184 > good and evil, where democracy is absolutely good and purity, and
185 > anything other than that is evil. This added bureaucracy has essentially
186 > rendered this side of devrel powerless, meaningless and useless.
187
188 I'm not sure how you can justify that statement. To the best of my
189 knowledge, that system has only been tested in full the once - when
190 Brian was suspended from the project and Ciaran was expelled.
191
192 > All in all, the vocal minority has done a splendid job of becoming more
193 > influential, crippling Gentoo's ability to do anything at all about its
194 > members, their flames, their outstanding work at ruining people's fun
195 > and enjoyment of Gentoo, and their waste of everyone else's time.
196
197 Can you back this up with three examples in the last twelve months
198 where this has happened?
199
200 > How can we do anything about this?
201
202 You start at the beginning, which is recruitment.
203
204 Many companies and organisations are guilty of looking at recruitment
205 simply at the superficial level - that it's purpose is to increase
206 head-count, to put bums on seats, and to make sure that there are
207 enough shoulders to share the load. That is something that has to be
208 taken into account, but it ignores the fundamentals.
209
210 The fundamentals of recruitment are about enlargening your internal
211 community (ie, your workforce, or in our case, our army of volunteer
212 developers). It's about bringing people in so that they accept and
213 respect what your community is, how it works, and why. You actively
214 mentor them, because it takes an average of six months for a new
215 recruit to "get it". You set things up so that they are automatically
216 out the door unless they "get it". "Getting it" isn't just about the
217 technical aspect of the work. The social side is *just* as important
218 - but unfortunately, that's a difficult thing for the kind of
219 volunteers we attract to understand or accept (as any IT manager can
220 attest to ;)
221
222 Your internal community needs a shared culture. When the shit hits
223 the fan, it's that shared culture which holds everything together
224 until you pull through.
225
226 Our problem is that we have a critical mass of groups who do not share
227 a culture to bind them together, and drive them to overcome their
228 differences.
229
230 > As people such as Mike Auty have
231 > pointed out, the problem could be with the increasing barrage of rules,
232 > regulations and policies to which we're expected to adhere. Take a look
233 > at the FreeBSD committers' rules. Rule one is "Respect other
234 > committers," and rule two is "Respect other contributors." Take a look
235 > at the importance of courtesy and care to avoid creating long-term
236 > disagreements in rule one:
237 >
238 > Being able to work together long term is this project's greatest asset,
239 > one far more important than any set of changes to the code, and turning
240 > arguments about code into issues that affect our long-term ability to
241 > work harmoniously together is just not worth the trade-off by any
242 > conceivable stretch of the imagination. ...
243 >
244 > First calm down, then think about how to communicate in the most
245 > effective fashion for convincing the other person(s) that your side of
246 > the argument is correct, do not just blow off some steam so you can
247 > feel better in the short term at the cost of a long-term flame war. Not
248 > only is this very bad "energy economics", but repeated displays of
249 > public aggression which impair our ability to work well together will
250 > be dealt with severely by the project leadership and may result in
251 > suspension or termination of your commit privileges.
252 >
253 > Or how about the Ubuntu Code of Conduct? The first two rules are "Be
254 > considerate" and "Be respectful." Again, note that these rules are
255 > actually enforced. As has been pointed out on the Gentoo development
256 > list, you can have respect without courtesy. But Gentoo needs both! One
257 > just isn't good enough.
258
259 These are good points.
260
261 > But what about Gentoo? We don't have any overriding principles like this
262 > from which all of the standards for behavior derive. Instead, we have a
263 > large document explaining specifically and in detail what's allowed and
264 > what isn't, and even that is ignored. Because of the bureaucracy and the
265 > lack of respect for devrel's role, we're effectively powerless to do
266 > anything when people behave in a way for which the FreeBSD project's
267 > leadership would kick them to the curb.
268
269 Hrm. Where is this lack of respect for devrel being displayed today?
270 What forms does this lack of respect take? If there's a lack of
271 respect at the moment, it's not for devrel.
272
273 It's between individual developers, who either do not value each other
274 as people, or do not value each other as contributors.
275
276 A good way to sort that out is to get them together in the physical
277 world, and use group de-polarisation exercises to help folks
278 understand that their view of the world isn't the only view that is
279 valid. This is why I'm hoping to see Gentoo establish a regular
280 international dev conference. You'll find that the vast majority of
281 issues won't arise once folks actually know each other better - and
282 the personality clashes that are left are easier to see for what they
283 are. (You can't eliminate all personality clashes, alas.) And, we've
284 already proved that we _can_ (eventually) deal with the tiny minority
285 of genuine trouble makers who are left over.
286
287 Children create relationships based on friendship. It's an adult
288 behaviour to create relationships based on trust. In the main, the
289 vocal minority that you refer to several times here can be
290 characterised as acting like the former, rather than the later.
291
292 I'd also argue that we're _not_ powerless. It wasn't pleasant, but
293 the old system has shown that we can deal with genuine trouble makers.
294 But you can't have everyone get along with everyone else, either -
295 not in a enlargening community. A larger group needs that diversity
296 in order to survive, and to flourish.
297
298 No offense to the FreeBSD world, but I'd rather be a part of the
299 larger Linux world - with a larger, but not always 100% harmonious
300 community - than part of the smaller FreeBSD world.
301
302 > I'm not the only one to suggest that a democracy isn't the most
303 > productive way to run Gentoo. When people wanted to change in how Gentoo
304 > was run, democracy was the only option considered, rather than simply
305 > changing the leaders. There's an ongoing assumption that if problems
306 > exist, it must be somewhere in the structure rather than in the people.
307
308 We don't have a democracy. Gentoo is largely a workocracy (there must
309 be a better word for it ;), where the vast majority decisions are made
310 by the folks who actually do the work.
311
312 Folks don't vote on stuff. To pick a recent example, none of the
313 folks who opposed Sunrise actually had any means to vote to prevent it
314 happening. What they had to do was to lobby the council, who were the
315 only folks with a vote.
316
317 If we had actually tried a democracy (something I'm instinctively
318 against, but rationally am becoming more and more interested in), your
319 arguments would maybe carry some weight. But, the clear fact of the
320 matter is that we haven't - and that leaves your arguments built on
321 sand.
322
323 > If I could go back in time a couple of years and prevent this democracy
324 > from ever happening, I would. If I could fix these problems myself, I
325 > would. But it requires buy-in from the entire Gentoo community if we're
326 > to do anything about it.
327
328 I'm naturally suspicious of anyone who seeks office on a platform of
329 talking about the need to beef up the powers of an unelected body (ie
330 devrel), and who does so using at best a partial playback of how we
331 got to where we are today, with arguments that are built on a
332 demonstrably flawed understanding of where we are today.
333
334 You've just lost my vote.
335
336 I'm not standing for election, but maybe someone who is would be
337 interested in investigating some ideas Sejo discussed with me when he
338 left us. The summary is my own; hopefully I've captured Sejo's ideas
339 accurately.
340
341 * Every staff member has to belong to a team. You join a team by
342 being voted onto the team by the other members of the team. They
343 don't vote you in, you can't join.
344 * If you're not part of any team, your rights and privileges as a
345 staff member are automatically terminated. There's no place to go to
346 appeal.
347 * You can be voted off the team at any time. The teams are self-managing.
348
349 I've heard of businesses having tried out similar schemes like this,
350 with strong success, but it's not an approach I've seen first hand, or
351 read much about. I'd be very interested in exploring this one more.
352
353 Best regards,
354 Stu
355 --
356 PS: Isn't it fascinating how different folks can live through the same
357 events, but end up with different perspectives on it? :)
358
359 --
360 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Democracy: No silver bullet "Kevin F. Quinn" <kevquinn@g.o>
Re: [gentoo-dev] Democracy: No silver bullet Ferris McCormick <fmccor@g.o>
Re: [gentoo-dev] Democracy: No silver bullet Donnie Berkholz <dberkholz@g.o>
Re: [gentoo-dev] Democracy: No silver bullet Michael Cummings <mcummings@g.o>