Gentoo Archives: gentoo-dev

From: "Bryan Østergaard" <kloeri@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Gentoo: State of the Union
Date: Sat, 29 Apr 2006 14:58:48
Message-Id: 20060429145427.GB28537@mail.fl.dk
In Reply to: Re: [gentoo-dev] Gentoo: State of the Union by Daniel Goller
1 On Fri, Apr 28, 2006 at 08:05:06PM -0500, Daniel Goller wrote:
2 > -----BEGIN PGP SIGNED MESSAGE-----
3 > Hash: SHA1
4 >
5 > Simon Stelling wrote:
6 > > Hi Ryan,
7 > >
8 > > Ryan Phillips wrote:
9 > >> I believe the way Gentoo is doing things is broken. There I have said
10 > >> it. The
11 > >> entire project has reached a level of being too political and trying
12 > >> to solve
13 > >> certain problems in the wrong way.
14 > >
15 > > I think it actually works quite well. Yes, there is space for
16 > > improvement, like always, but the situation is at least not bad.
17 >
18 > how do you call it then if the entities in place make a decision, after
19 > some long winded strange tribunal, and when they made a decision, people
20 > ask "hey where is my vote?", i am not after devrel, what i am saying is,
21 > noone appreciates their work it seems, so why couldn't they leave the
22 > decision making to a developer vote, with the saved time, they could go
23 > on and do something they enjoy/have fun with (those of you in devrel who
24 > enjoy your devrel work (wrt to conflict resolution) i am glad you do, i
25 > just don't think many at devrel enjoy hearing they are wrong no matter
26 > how they decide)
27 > the people affected by the vote could accept a developer vote much
28 > easier than a devrel decision
29 >
30 > >
31 > >> __Problem: Developer Growth__
32 > >>
33 > >> I find that developer growth as being a problem. Adding a developer
34 > >> to gentoo
35 > >> should be as easy as 1. has the user contributed numerous (~5+)
36 > >> patches that
37 > >> helps the project move forward. If yes, then commit access should be
38 > >> given.
39 > >> Adding a developer is usually quite a chore. There are numerous
40 > >> reasons why
41 > >> this is a problem: having a live tree, taking a test, and not defining
42 > >> within
43 > >> policy when a person could possibly get commit access.
44 > >
45 > > I can only speak for me here, but the quiz wasn't a barrier at all to
46 > > me. Instead, it was an interesting way to make sure that I get familiar
47 > > with all the stuff I have to. I found it a much better way to answer
48 > > questions about a topic where you have to find the answers than just
49 > > reading through tons of docs, not knowing whether something is important
50 > > to you or completely unrelated.
51 > >
52 > and we also have lost developers that projects were eager to get on the
53 > team, from what i recall over the developer questioning why an official
54 > quiz must be answered by finding things in unofficial docs in dev spaces
55 > no, that is not hard, but the question was valid, and with the whole
56 > process allowing all of gentoo to make this possible or not, a developer
57 > should be put in place by the leads of that project, at the project
58 > leads discretion, they know the people they plan on hiring much better
59 > than we know most people in our AT program, ATs have been turned into
60 > devs after a very short time, the quiz is a silly hurdle if it gages
61 > your ability to google, not your ability to write ebuilds
62 You're probably able to answer the quiz questions correctly by googling
63 (that's on of the goals as we don't want every new developer reading
64 through all the portage code..) but you're not going to become a
65 developer that way. After having the quiz answers approved by your
66 mentor you'll have to talk to your recruiter who'll gauge whether or not
67 to add you as a new developer. As part of that we're asking additional
68 questions (usually both technical and organisational questions). I
69 sometimes think of this as a very condensed form of "super mentoring" as
70 it also very much helps prepare new developers getting their commit
71 access.
72
73 I often ask new people that I recruit if they think I'm being too hard
74 on them (after approving them as new devs). So far they've all said it
75 was very good and that they learned some important things that way. This
76 is of course a very informal survey but I think it shows that new
77 developers (in general) don't think the process is too hard.
78 >
79 > > Besides that, I think the tree is far too worthy to give it away after 5
80 > > patches. Just because I fixed a bunch of compiling errors, that doesn't
81 > > mean I know how to fix ebuilds. Just because I wrote a few ebuilds, that
82 > > doesn't mean I understand how eclasses work, which ones to use where and
83 > > what profile.bashrc is good for.
84 >
85 > we are too possessive, if you give out access to a non-live tree, and
86 > you see the commits were not fit for merging, and the person in question
87 > does not learn from advise given, the person does not have to keep
88 > commit access, but it would be nice to be more inviting than to keep our
89 > high and mighty attitude, we are not so different from our users, many
90 > of which are far better than we are, we just passed some strange test
91 > you can pass by cut& paste or paraphrasing from the right docs, you can
92 > do that w/o even knowing what you talk about
93 >
94 You're wrong, see above :)
95 > >
96 > > I've seen ebuilds from people who have written quite a bunch of ebuilds
97 > > and were really interested in understanding how they work, but the work
98 > > they produced just was awful and hurt my eyes. I don't mean that the
99 > > mean way, I don't expect anything else, and I was just the same.
100 > > However, the mentoring process and the quiz have helped me a lot to
101 > > understand not-so-obvious problems.
102 > >
103 >
104 > who stops you from fixing something here and there before you merge it,
105 > you seem to think having a non live tree would unbind us from our
106 > responsibility to help them become better
107 >
108 > what a non live tree with commits by new people would allow is that
109 > teams could check what there is to merge and say "great wrk, i merge
110 > that" instead of just that one developer who works with that user, he
111 > will be easier part of the family, a team member could approach him and
112 > tell him, i merged it after quoting all your paths, please do so next
113 > time, and peope still learn
114 >
115 > if you think passing a test makes you a good driver, then think again,
116 > it is constant learning and evolvement that makes you a good driver, and
117 > we give out licenses quite easy, then if you are not suited, bye bye license
118 >
119 > >> All these reasons leave the project stagnant and lacking developers.
120 > >
121 > > I wouldn't say so. Just about two weeks or so ago, the recruiters had to
122 > > defer new requests, because they couldn't deal with them in a timely
123 > > fashion. You can now tell me that this makes it even worse, but I just
124 > > see that as the proove of the fact that people are interested in helping
125 > > us and ready to take the quiz and all the "hassle" involved with
126 > > becoming a dev.
127 > >
128 > > Another good reason to keep the current process is the fact that a lot
129 > > of people become dev and vanish a week after their mentoring period
130 > > expired. These people would better contribute to the project in a more
131 > > distant way IMHO, because it takes up a fair amount of time to clean up
132 > > these accounts afterwards. If you don't beleave me, ask kloeri. ;)
133 > >
134 >
135 > read what you wrote closely, you describe how well things work
136 > currently...i think not, they are overworked due to how involved their
137 > part of the process is, not because they have 300 new devs to process.
138 > the hassle is not big, it just delays things, and prooves nothing
139 > i can mentor someone and later on end up asking him for advise, because
140 > i saw his abilities and know he is good...better than me when it comes
141 > to technical issues, him passing the quiz did not tell me that, and
142 > neither does it tell you anything, seeing his work tells me and you
143 > something, so let their people's work speak for them, not the passing of
144 > quizes
145 >
146 > >> Perhaps its because of a live tree...
147 > >
148 > > That's surely a big factor.
149 >
150 > indeed it is, glad people do agree :)
151 > >
152 > >> __Problem: Live Tree__
153 > >>
154 > >> Having a live tree requires people to be perfect. People are not
155 > >> perfect and
156 > >> requiring it is ridiculous. I love having commits in my local tree
157 > >> within the
158 > >> hour, but having a stable and unstable branch makes a lot of sense.
159 > >
160 > > It doesn't require people to be perfect. It requires people to think
161 > > before commiting. If it really required us to be perfect, we wouldn't
162 > > exist in the first place, would we?
163 > >
164 > i don't know how perfection threatens our existence...so yeah it
165 > requires many dedicated perfect gentoo users (that's what we are, gentoo
166 > users with @gentoo.org email addresses and commit access to a live tree)
167 > to make things go smooth, and it could go smoother if we had more
168 > people, in more timezones, in more countries, in more states, you can
169 > never have to many people, not many have full 56 hours/wk for gentoo, so
170 > every 1hr per day can make a difference
171 >
172 I'm going to contradict myself slightly here.. Yes, we need more
173 developers to keep up with all the bugs, package bumping etc. At the
174 same time I think more developers is the last thing we need.
175
176 Why? Simply because more developers means we need to spend a lot more
177 time communicating with each other, discussing directions of this and
178 that project etc. If we *really* want to improve we need fewer, more
179 active developers.
180
181 That's one of the goals of my little project cleaning up the developer
182 base. I'm not going to retire anybody putting "only" 1hr/wk into gentoo
183 but retiring inactive devs is one small part of raising overall
184 "quality" of gentoo developers imo.
185 > > Having a stable and unstable branch doesn't have many advantages over
186 > > stable and unstable keywords IMHO, but requires a HUUUGE effort to keep
187 > > them in sync. It would make things more complicated than necessary. You
188 > > say we're lacking developers. Do you really want to spend [insert random
189 > > big number here] of these much-needed developer hours to merging an old
190 > > with a new tree?
191 > >
192 >
193 > you don't have to merge the whole tree at once, each project has
194 > developers who work on packages of the herds they maintain, the
195 > Changelog will tell you why there is a change, if it matters to you, you
196 > verify and commit, but the nitty gritty of fixing it is long done
197 >
198 > >> __Problem: CVS__
199 > >
200 > > I would like to see us using svn instead of CVS too, but I think that's
201 > > just a technical detail, not really fitting here.
202 > >
203 > well, if cvs keeps us from going to a non-live tree, then it does
204 > pertain to the discussion at hand, just if it should be svn or
205 > [insertfavoritescmhere] is another point (that could quickly be solved
206 > with a better voting structure, give the power back to the people,
207 > simplify things, and then get this issue resolved with a vote)
208 >
209 > >> __Problem: QA Policies__
210 > >
211 > >> Everyone here is on the same team. There will be some breakages in
212 > >> the tree
213 > >> and those can be dealt with. Like Seemant [1] said, herds are just
214 > >> groups of
215 > >> like *packages*. The QA Policy is wrong when it says cross-team
216 > >> assistance; we
217 > >> are all on the *same* team. The tree should naturally work. If it
218 > >> doesn't
219 > >> then that is a bug for all of us.
220 > >
221 > > This sounds romantic. However, Gentoo to me isn't 300 people who are all
222 > > my friends, all working on a common goal. Gentoo, to me, is a bunch of
223 > > very nice people that share a goal with me, some big mailing lists with
224 > > flames every now and then and a big mass of people whose work I use and
225 > > appreciate but who I don't have a f*cking clue about. I don't know what
226 > > they are like, they work on other things than I do. But that's not a
227 > > problem at all.
228 > >
229 > rather than having a QA policy that deals with punishment of devs, we
230 > should focus on a system where an accidental commit has less impact, if
231 > someone makes a commit in another branch, another set of eyes will have
232 > a chance to catch it instead of things being in everyone's --sync in ~2
233 > hours, a QA team could still scan the tree for things, but since they
234 > find problems in the branches rather than the live tree will not have to
235 > worry about what they do until the issue with the unruly dev is
236 > resolved, and if the issues are indeed of magnitude, they can go and ask
237 > for a developer removal vote, if someone seconds that proposal, all
238 > developers can vote, and if the devs who vote think the problem is big
239 > and sizable enough, they can vote +1 for his removal, 0 to abstain or -1
240 > if they disagree with the measure asked for by QA
241 >
242 > >> Conflict resolution should not be a subproject. It should *not* exist
243 > >> at all.
244 > >
245 > > You mean conflicts or conflict solution shouldn't exist at all?
246 > > If the former, that's unrealistic. If the latter, why not?
247 > >
248 >
249 > we shouldn't have an underappreciated overworked entity (not intending
250 > to upset the members of said entity, i know there are people behind the
251 > alias) that makes the decisions we ask them to make to hear that they
252 > did it wrong again (i am sure it gets tiring to hear us say that over
253 > and over), instead the developers bring up the issue, if someone seconds
254 > that, people vote and the issue gets resolved, one way or another
255 > now if the technical issue is brought up by a project lead and does not
256 > affect gentoo as a whole, then that project should vote, not all of us
257 > who are not affected, if we like it or not
258 I strongly disagree with voting, be it by all developers or just the
259 affected project(s). In the first case the only thing we'll gain is
260 (relatively) quick, random decisions with no strong base in the
261 complaint(s). In the second case, we'll have quick decisions made by
262 obviously biased people - in effect a popularity contest set up to be
263 unfair in advance.
264
265 Now, as developer relations lead I'm obviously biased but I were of the
266 same opinion even before joining devrel. After devrel have handled a
267 few conflicts I think the current conflict resolution policy leaves a
268 lot to be desired. But moving conflict resolution from devrel to more
269 general voting is the wrong direction.
270
271 <snip rest of mail>
272
273 Regards,
274 Bryan Østergaard
275 --
276 gentoo-dev@g.o mailing list