Gentoo Archives: gentoo-project

From: Lars Wendler <polynomial-c@g.o>
To: "Michał Górny" <mgorny@g.o>
Cc: gentoo-project@l.g.o
Subject: Re: [gentoo-project] [RFC] More improvement-targeted approach to disciplinary actions (aka removing bans)
Date: Sat, 25 Jul 2020 10:01:40
Message-Id: 20200725120129.4b7076df@abudhabi.paradoxon.rec
In Reply to: [gentoo-project] [RFC] More improvement-targeted approach to disciplinary actions (aka removing bans) by "Michał Górny"
1 On Fri, 24 Jul 2020 15:59:45 +0200 Michał Górny wrote:
2
3 >Hi,
4 >
5 >TL;DR: the current punishment-based disciplinary (ComRel/QA) model
6 >doesn't work very well. Most of the time it is tedious and results
7 >in a ban that doesn't solve anything, and effectively ends up being
8 >harmful to users (as a third party). I would like to discuss replacing
9 >it with a model that focuses on improvement and making amends.
10 >
11 >
12 >Disclaimer: I am a QA member, so I know the QA process more than
13 >the ComRel process. However, I think that both of them are similar
14 >enough not to require separate discussion.
15 >
16 >Disclaimer 2: I do realize that 'disciplinary actions' are not the only
17 >part of ComRel/QA process that might need changes. However, I would
18 >really like to keep this thread focused, so please assume that we're
19 >talking about the situation that ComRel/QA (according to the current or
20 >any future process) has established that there's no 'friendly' way to
21 >resolve the problem, and a disciplinary action needs to be taken.
22 >
23 >In other words, please don't turn this into 'punishing people for
24 >making mistakes'. Mistakes are acceptable, and they should be fixed.
25 >This is about the case that developers repeatedly misbehave (violate
26 >standards) and refuse to improve.
27 >
28 >
29 >The current model and what's wrong with it
30 >==========================================
31 >The current model assumes that if developer does not willingly want to
32 >improve, we should try to use force. This 'force' comes in a few
33 >variants:
34 >
35 >1. warnings,
36 >
37 >2. temporary bans (= more firm warnings),
38 >
39 >3. eventually, commit access removal / retirement.
40 >
41 >In my opinion, this works real poor. While warnings make sense, bans
42 >don't really help much. Firstly, because they do not encourage
43 >developers to fix their mistakes (actually, they prevent them from
44 >doing it earlier). Secondly, because they sometimes impact users (=
45 >innocent third parties) more than the developer in question. Thirdly,
46 >they don't scale well to various kinds of violations.
47 >
48 >The whole process assumes that developers value not being banned,
49 >and wish to do their best to follow standards. However, if that were
50 >the case we wouldn't be needing a disciplinary process in the first
51 >place.
52 >
53 >Sadly, often the result of bans is not improvement and fixing of
54 >mistakes but even more stubbornness and attempts at revenge. In the
55 >end, members of the disciplinary body put much more effort into this
56 >than the guilty developer, and we just spend a lot of time on due
57 >effort that results in zero improvement.
58 >
59 >What's even worse, some developers are literally trying hard to push
60 >the limits and see what they can get away with. We end up with lots of
61 >minor violations, none of them justifying any real disciplinary action
62 >yet causing a lot of negativity as a result.
63 >
64 >A typical case of disciplinary action lately can be illustrated as:
65 >
66 >QA: developer X, please follow the standards.
67 >[silence]
68 >QA: developer X, ping.
69 >[silence]
70 >QA: developer X, please answer or else...
71 >[silence]
72 >QA: developer X, we issue official warning.
73 >[*shrug*]
74 ><a few warnings later>
75 >QA: we issue 14 day ban for developer X.
76 >dev X: bad QA! I never got any warnings! They didn't really try to
77 >reach out! [to users] I'm sorry, this guy has banned me so I can't
78 >bump Y, it's all their fault.
79 >
80 >As I said, the problem is that ban is the kind of punishment that harms
81 >users more than misbehaving developers. While it might make sense to
82 >issue short bans to let people cool down (this is proctors' area), bans
83 >to punish misbehavior block good actions as much as bad.
84 >
85 >
86 >Improvement-targeted disciplinary actions
87 >=========================================
88 >The key point in my proposal is to remove temporary bans from ComRel/QA
89 >disciplinary actions entirely. Instead, we should focus on giving
90 >developers specific 'improvement' tasks.
91 >
92 >For example, if a developer keeps committing broken ebuilds without
93 >testing them properly, he is asked to fix the tests in some of these
94 >pacakges. If a developer keeps making bad commit messages, he is
95 >required to start using better commit messages. If a developer insults
96 >somebody else, he's asked to apologize and make amends. No temporary
97 >ban, just a request to do something in limited time.
98 >
99 >Now, if the developer deliberately refuses to make amends, then I think
100 >we shouldn't play cat-and-mouse any longer and immediately go for
101 >retirement. Of course, with possibility of appeal to the Council
102 >and the usual rights but without the 'N bans' game before it.
103 >
104 >WDYT?
105 >
106
107 My first thought after reading this was: "Well yeah, sure we can do
108 this and make the lack of developers even worse."
109 Yes, comrel and QA might not have a perfect way to solve issues, but I
110 doubt there is a "perfect" way to solve the stuff you described.
111 And I don't believe that your suggested solutions really improve this.
112
113 Cheers
114 Lars
115
116 --
117 Lars Wendler
118 Gentoo package maintainer
119 GPG: 21CC CF02 4586 0A07 ED93 9F68 498F E765 960E 9B39