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 |