1 |
2011/1/28 Tomáš Chvátal <scarabeus@g.o>: |
2 |
> So draft we would like to have implemented as Glep update is this diff: |
3 |
> http://dev.gentoo.org/~scarabeus/glep-0048.diff |
4 |
> |
5 |
> Please comment and help us improve the "english" of the whole document |
6 |
> so it gets accepted :) |
7 |
|
8 |
My only general comments are: |
9 |
|
10 |
1. It makes sense that in the event that a "Rogue" developer is |
11 |
wreaking havoc on the tree that QA can get infra to suspend their |
12 |
commit rights. That's safeguarding the tree in the face of imminent |
13 |
harm. This should generally be limited to serious issues (people |
14 |
running scripts to mass-update packages, bad changes to system |
15 |
packages, etc), and not because there is some dispute over whether |
16 |
some obscure package should or should-not be masked. |
17 |
|
18 |
2. I don't think it makes sense for QA to discipline developers |
19 |
permanently in these cases. They should suspend access pending Devrel |
20 |
resolution of the issue. Devrel should of course strongly consider |
21 |
the input of QA. |
22 |
|
23 |
If Devrel is not adequately doing its job then this should be |
24 |
escalated to the Devrel lead, or if necessary to the council (who can |
25 |
step in if truly necessary). In the face of imminent harm QA can |
26 |
always get a temporary ban on commits from infra. If this goes back |
27 |
and forth (QA banning, Devrel unbanning) then I'm sure the council |
28 |
will step in. |
29 |
|
30 |
So, in a nutshell here is how it works: |
31 |
|
32 |
1. Developer starts messing something up (some crazy script is |
33 |
committing junk to the tree, or dev is making some change to critical |
34 |
package, or whatever). |
35 |
2. QA notices, or is told, or whatever. |
36 |
3. QA tries to ping dev - with severity of problem dictating how long |
37 |
they should wait to resolve directly. |
38 |
4. QA determines that dev is unwilling to resolve a critical issue, |
39 |
or cannot be reached and the matter can't wait. |
40 |
5. QA contacts infra, and infra suspends commit access to contain the damage. |
41 |
6a. QA initiates repairs (whatever this takes - they don't need to |
42 |
personally do the work, etc). |
43 |
6b. QA logs complaint with DevRel. |
44 |
7. Devrel follows their process to resolve issue. Developer remains |
45 |
banned until Devrel feels they can be unbanned, or dismissed. Devrel |
46 |
takes input from QA. |
47 |
|
48 |
If the issue here is that the Devrel and QA leads differ as to some |
49 |
matter of policy or whatever, the council should be asked to resolve. |
50 |
While the QA and Devrel teams may tend to self-govern, I don't think |
51 |
the intent is that we end up having "three" Gentoos - the one ruled by |
52 |
Devrel, the one ruled by QA, and the one ruled by the Council (not to |
53 |
mention the Trustees). |
54 |
|
55 |
In practice I haven't really seen any situations where we're really |
56 |
having problems over this, so I don't want to start a war over |
57 |
something that isn't even a problem. |
58 |
|
59 |
In any case, the solution for developers is simple: |
60 |
|
61 |
1. Don't do stupid stuff to the tree such that you tick EVERYBODY off. |
62 |
2. If you want to do something to the tree that you think is right |
63 |
but which might tick a lot of people off (whether they are QA or not), |
64 |
post notice of it in -dev first. |
65 |
3. If you and QA can't work it out before you do it, then work it out |
66 |
with the council or something. |
67 |
4. Generally act like an adult. :) |
68 |
|
69 |
Ok, that was probably overly verbose. I don't see any issues with the |
70 |
wording in the diff - this is more a matter of which is the right |
71 |
policy. |
72 |
|
73 |
Finally, if Devrel, QA, and the Council have already talked this out |
74 |
and agree that QA is in the best place to police technical commit |
75 |
issues, then pipe this email to /dev/null... |
76 |
|
77 |
Rich |