Gentoo Archives: gentoo-project

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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies