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 |