1 |
On April 13, 2019 1:25:57 AM GMT+09:00, "Michał Górny" <mgorny@g.o> wrote: |
2 |
>On Fri, 2019-04-12 at 11:30 -0400, Alec Warner wrote: |
3 |
>> Just as a frame, I'm not on QA. |
4 |
>> |
5 |
>> On Fri, Apr 12, 2019 at 10:40 AM Michał Górny <mgorny@g.o> |
6 |
>wrote: |
7 |
>> |
8 |
>> > Update the wording of GLEP 48 to provide clear information on what |
9 |
>kind |
10 |
>> > of disciplinary actions QA can issue, and in what circumstances |
11 |
>they can |
12 |
>> > be exercised. Remove the unclear reference to ComRel that is |
13 |
>either |
14 |
>> > meaningless or violation of scope. |
15 |
>> > |
16 |
>> |
17 |
>> Is there a particular driver for this change? E.g. have you been |
18 |
>> dissatisfied with the current procedure, or perhaps Comrel is not |
19 |
>acting on |
20 |
>> your referrals? |
21 |
> |
22 |
>Yes, I am dissatisfied. I am especially dissatisfied by the absurd |
23 |
>bureaucracy and unclear jurisdiction. I've seen QA claiming we don't |
24 |
>have authority and sending me to ComRel, and being sent back to QA |
25 |
>because 'it's QA business'. |
26 |
> |
27 |
>Furthermore, even if we can get this bureaucracy to work, we end up |
28 |
>with |
29 |
>absurd delays because of two teams taking vote on the same issue |
30 |
>in series. Do you really think it's good to ban someone *now* because |
31 |
>he did something two weeks earlier? |
32 |
> |
33 |
>> In general I perceive the QA organization as an educational / |
34 |
>enabling |
35 |
>> organization (it trains people and writes tools) and not as a |
36 |
>> punishment-based organization (where it shames people for their |
37 |
>mistakes |
38 |
>> and removes commit access from people who make too many.) This isn't |
39 |
>to say |
40 |
>> there isn't room for removing access for committers who routinely |
41 |
>make |
42 |
>> mistakes, I just think it ends up supporting this underlying |
43 |
>narrative |
44 |
>> about the project that (and I'm framing this here) "Gentoo should be |
45 |
>> smaller and only composed of elite committers who understand all the |
46 |
>> complex stuff required to not break things." This type of change was |
47 |
>> previously discussed on the project list. |
48 |
> |
49 |
>I think you're insulting QA's competence here. The goal is not to ban |
50 |
>people for making mistakes. The goal is to be able to actually act |
51 |
>when |
52 |
>all less invasive measures fail. |
53 |
> |
54 |
>> > According to the old wording, QA could request 're-evaluating |
55 |
>commit |
56 |
>> > rights' from ComRel. This is very unclear, and has been a source |
57 |
>of |
58 |
>> > confusion more than once. Firstly, it is unclear whether ComRel |
59 |
>merely |
60 |
>> > serves as a body executing the QA team's decision, or whether it is |
61 |
>> > supposed to make independent judgment (which would be outside its |
62 |
>> > scope). Secondly, it suggests that the only disciplinary action |
63 |
>> > possible would be 're-evaluating commits rights' which sounds like |
64 |
>> > an euphemism for removing commit access permanently. |
65 |
>> > |
66 |
>> > The new wording aims to make things clear, and make QA disciplinary |
67 |
>> > actions independent of ComRel. Explanation for the individual |
68 |
>points |
69 |
>> > follow. |
70 |
>> > |
71 |
>> > Firstly, it aims to clearly define the domain of QA actions, and |
72 |
>set |
73 |
>> > a better distinction between QA and ComRel. In this context, QA |
74 |
>> > is concerned whenever the developer's action technically affects |
75 |
>Gentoo, |
76 |
>> > which includes breaking user systems, Infrastructure tooling, other |
77 |
>> > packages, etc. ComRel on the other hand is concerned in actions |
78 |
>having |
79 |
>> > social consequences rather than technical. |
80 |
>> > |
81 |
>> |
82 |
>> Previous QA teams would often take unilateral action against |
83 |
>individual |
84 |
>> developers, often for problems that were poorly or |
85 |
>under-documented[0]. The |
86 |
>> infrastructure teams in the past had similar issues (e.g. removing |
87 |
>commit |
88 |
>> access of individual developers on a whim) and part of the reason |
89 |
>that |
90 |
>> Comrel is slower to act is to prevent this type of activity. Hence my |
91 |
>> question above: Is Comrel not doing the right thing here? Why do we |
92 |
>need to |
93 |
>> delegate this ability directly with the QA team? |
94 |
> |
95 |
>This sounds like we're creating unjustified bureaucracy just because we |
96 |
>had some social problem with some people in the past. Why do you |
97 |
>presume that ComRel will never abuse its power, and at the same time |
98 |
>presume QA will kick people 'on a whim'? |
99 |
> |
100 |
>I'm not sure if I'm supposed to answer the same question twice. |
101 |
>The point is, in my opinion the current procedure is unjustified |
102 |
>and there is a simpler procedure that should work here. |
103 |
> |
104 |
>> > Thirdly, it removes the unnecessary involvement of ComRel, QA |
105 |
>violations |
106 |
>> > being outside of their scope of interest. Each case of QA |
107 |
>violations |
108 |
>> > is analyzed by QA team individually, and QA team exercises |
109 |
>disciplinary |
110 |
>> > actions independently. At the same time, appeal path via Council |
111 |
>is |
112 |
>> > defined. |
113 |
>> > |
114 |
>> |
115 |
>> I see the QA organization as having one primary mission "making sure |
116 |
>that |
117 |
>> Gentoo users can install and use Gentoo packages". I see the team |
118 |
>> supporting that in four key areas: |
119 |
>> - Education: this is content like the devmanual. |
120 |
>> - Prevention: Tools like repoman (to prevent bad commits from being |
121 |
>> committed) or a CI branch (to prevent users from seeing bad commits.) |
122 |
>> - Mitigation: The CI branch again here, helps us quickly find bad |
123 |
>commits, |
124 |
>> and mitigates any bad commit because only the passing CI branch is |
125 |
>made |
126 |
>> available to users, so bad commits are lower impact. |
127 |
>> - Punishment: If people don't use the tools, or consistently don't |
128 |
>take |
129 |
>> feedback, we should probably not trust them to commit. |
130 |
>> |
131 |
>> I find punishment the least effective thing QA can do; the QA |
132 |
>organization |
133 |
>> is an *enabling* organization that enables people to be effective. |
134 |
>Removing |
135 |
>> commit access is not really enabling anyone and unlike focusing on |
136 |
>the |
137 |
>> other three areas (whose impact is multiplied by the number of |
138 |
>> contributors) removing commit access only affects 1 person at a time. |
139 |
>> |
140 |
> |
141 |
>I agree. However, there are valid cases when the three first areas |
142 |
>just |
143 |
>don't solve the problem. We can educate, we can put a lot of effort |
144 |
>into making things more 'fool-proof' but in the end, it doesn't stop |
145 |
>developers from breaking stuff. Or turns Gentoo into a unmaintainable |
146 |
>mess where every developer suffers because of few making mistakes. |
147 |
> |
148 |
>The point is, that if a developer keeps breaking stuff and doesn't |
149 |
>listen to reminders to be more careful, there is a point when QA should |
150 |
>be able to issue a ban to make the developer realize he can't go on |
151 |
>like |
152 |
>this. |
153 |
|
154 |
I think such problems have to be dealt by using continuous integration checks on commits, not by banning people around. |
155 |
|
156 |
|
157 |
-- |
158 |
Sent from my Android device with K-9 Mail. Please excuse my brevity. |