1 |
On Tue, Apr 23, 2019 at 2:13 PM Thomas Deutschmann <whissi@g.o> |
2 |
wrote: |
3 |
|
4 |
> Hi, |
5 |
> |
6 |
> |
7 |
This is my third draft, I'm trying to keep things concise. |
8 |
|
9 |
|
10 |
> according to the answer to antarus' question, I understand that in the |
11 |
> past there were Gentoo developers violating Gentoo QA standards. |
12 |
> |
13 |
> There must be a clear process how to deal with such a situation: |
14 |
> |
15 |
|
16 |
I agree there needs to be a process. I also tend to agree the current |
17 |
process is not working (based on mgorny's comments above.) |
18 |
My guidance is mostly around guardrails; I care less about the specifics |
19 |
and more about getting the project to be run in reasonable way. |
20 |
|
21 |
|
22 |
> |
23 |
> - Which kind of QA violation can cause a ban? At no time should a single |
24 |
> QA violation allow whoever is current QA lead or QA team to issue a ban. |
25 |
> I am not saying that current QA team wants to do something like that but |
26 |
> we need clear rules everyone can understand. |
27 |
> |
28 |
|
29 |
> - It must be clear that a ban is the last resort. I.e. the process must |
30 |
> define something like a warn system so that the developer violating |
31 |
> Gentoo QA standards knows that he/she has been warned and if he/she |
32 |
> won't change his/her behavior, a ban (commit bit will flip) will follow. |
33 |
> |
34 |
|
35 |
I'm not convinced bans do anything, but I'll elaborate below. |
36 |
|
37 |
|
38 |
> |
39 |
> - However, disciplinary actions must happen in time. I.e. you cannot |
40 |
> silently watch and just complain on IRC for x months and suddenly decide |
41 |
> to issue a ban because QA team just lost patience. That said, an issued |
42 |
> warning will time out. If the developer in question stops violating QA |
43 |
> rules for $time, he/she is back at level 0 so that a new issue won't |
44 |
> trigger an action (keep in mind: We assume that we all share the same |
45 |
> goals; if there's a hostile developer causing problems all the time this |
46 |
> is a Gentoo problem, not a QA problem). |
47 |
> |
48 |
|
49 |
I agree that its important not to hide problems. We should have some kind |
50 |
of data collection that tracks defects, and be able to identity patterns. |
51 |
If we want to depreciate items (so e.g. mistakes 90d ago mean less) that |
52 |
also seems relevant. Remember that behind this is the idea that everyone |
53 |
will make mistakes; so some background level of defects is expected. |
54 |
|
55 |
|
56 |
> |
57 |
> - It must be clear that QA can take actions as last resort. Let's say |
58 |
> developer X received first strike, don't change behavior, maybe will |
59 |
> receive second strike and still keep violating QA standards, QA has the |
60 |
> power to remove commit bit. |
61 |
> |
62 |
> BUT: |
63 |
> |
64 |
> QA actions must be limited in time. After 1 or 2 weeks, commit bit must |
65 |
> be restored. If the developer in question will keep behavior causing the |
66 |
> disciplinary action, we can assume that he/she is a hostile developer |
67 |
> for Gentoo and this will become topic of ComRel. |
68 |
> |
69 |
|
70 |
I think this is all about intent right. |
71 |
|
72 |
- All developers will make mistakes. |
73 |
- Some mistakes are caught by tools, and some are not. |
74 |
- Developers who make more mistakes than expected (because again, everyone |
75 |
makes some) should have more review. |
76 |
- Developers under review who violate policies *deliberately* should not |
77 |
remain committers. |
78 |
|
79 |
I'm not sure bans really help with any of this. The challenge is "which |
80 |
developers deliberately violate policy" and which ones violate it because |
81 |
"there are a lot of ways to screw up and everyone screws up sometimes." |
82 |
This is why I think discussion and transparency help. |
83 |
|
84 |
- If a committer is committing without repoman for example, its a pretty |
85 |
deliberate step. |
86 |
- If a committer has made some mistake often, and we provided guidance to |
87 |
them (improve documentation, mentorship, etc) and they don't show |
88 |
improvement, we might count that as deliberate. |
89 |
|
90 |
I don't think committers who violate policy will be changed by a ban. |
91 |
Certainly not a ban that is time-delimited (it means I get a 2 week gentoo |
92 |
vacation!) I'd consider alternatives like: |
93 |
- A period where the commits need review. |
94 |
- A ban followed by retraining on specific topics. |
95 |
- A period where the developer is required to build / patch a CI tool to |
96 |
catch the bug before getting to commit without review again. |
97 |
|
98 |
These are all things that enable. Time passing is not an enabler, IMHO. |
99 |
|
100 |
-A |
101 |
|
102 |
|
103 |
> Based on this, I cannot vote for |
104 |
> |
105 |
> https://archives.gentoo.org/gentoo-project/message/548d9c439a73ae38756c0b92a28137ea |
106 |
> : |
107 |
> |
108 |
> The changed text grants too much power to QA project. As said, QA |
109 |
> project is responsible for QA in Gentoo (technical things in |
110 |
> ebuilds/eclass in most cases). QA should never have the privileges to |
111 |
> decide to forcefully retire a developer or should take actions for |
112 |
> others (like infra, work of others). |
113 |
|
114 |
|
115 |
> |
116 |
> -- |
117 |
> Regards, |
118 |
> Thomas Deutschmann / Gentoo Linux Developer |
119 |
> C4DD 695F A713 8F24 2AA1 5638 5849 7EE5 1D5D 74A5 |
120 |
> |
121 |
> |