Gentoo Archives: gentoo-project

From: Alice Ferrazzi <alicef@g.o>
To: gentoo-project@l.g.o, "Michał Górny" <mgorny@g.o>
Cc: qa <qa@g.o>
Subject: Re: [gentoo-project] [PATCH] glep-0048: Provide clear rules for disciplinary actions
Date: Sat, 13 Apr 2019 03:07:46
Message-Id: 4241D803-3263-4841-A2EC-8C4EDCB0875D@gentoo.org
In Reply to: Re: [gentoo-project] [PATCH] glep-0048: Provide clear rules for disciplinary actions by "Michał Górny"
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.

Replies