1 |
Just a comment before this discussion gets entirely side tracked. |
2 |
|
3 |
|
4 |
|
5 |
On Mon, Oct 12, 2015, at 11:45 CDT, Ian Delaney <della5@×××××××××.au> wrote: |
6 |
|
7 |
> [...] |
8 |
|
9 |
> Users are neither seasoned nor prepared for the type of review put |
10 |
> upon them by him and mgorny. |
11 |
|
12 |
My impression is that the reception of the code review on github is |
13 |
predominantly positive. The point is - we _have_ to do some sort of code |
14 |
review prior to merging (or stick to the old "let a developer do all the |
15 |
work" workflow we suffered from all the years). |
16 |
|
17 |
A very nice example of how this can be facilitated to get a lot of user |
18 |
contributions is the science overlay - and I think the current review |
19 |
for gentoo/gentoo is not far away from the approach, word choice, or |
20 |
debate culture we have there. |
21 |
|
22 |
|
23 |
> These users still needed support and a voice to help them speak up, and |
24 |
> they did. Still, these members have fashioned themselves to teach and |
25 |
> service users, They have alot of adapting to do before users will |
26 |
> embrace their attempts to educate them. |
27 |
|
28 |
Seriously? Shall we now all take an online tutorial in order to be |
29 |
qualified to "help out"? Or shall we just merge every pull-request in |
30 |
order to not have to interact with users? |
31 |
|
32 |
|
33 |
|
34 |
There are some observations for Julian and Michał (as the two primary |
35 |
reviewer on github) that I have, though. I think it might be worthwhile |
36 |
to think about it and maybe "codify" it in the reviewer best practices |
37 |
(if not already present): |
38 |
|
39 |
|
40 |
- I suggest that only one reviewer administers a given pull-request at |
41 |
a time. I have seen two instances where first Julian had roughly 20 |
42 |
remarks and after those were resolved Michał slabbed another 10 code |
43 |
remarks on top of it. |
44 |
|
45 |
This seems to be a bit over the top. It feels a bit like vultures |
46 |
tearing apart dead prey ;-) |
47 |
|
48 |
The bottom line should be that if one Gentoo developer is satisfied |
49 |
with the state of a pull-request it should be okay. |
50 |
|
51 |
|
52 |
- With respect to the current post- "peer review" of commits: I suggest |
53 |
that comments on coding style (if not violating our indent rules) and |
54 |
other personal choice is kept at a bare minimum (or avoided |
55 |
entirely). While I appreciate comments on factual errors I have |
56 |
commited [1], I totally hate discussing something like whether a "\" |
57 |
might be omitted in bash or not. |
58 |
|
59 |
|
60 |
- Further, "weird" or "unusual" choices of, e.g., how to form up a |
61 |
configuration variable might be due to historical (and sometimes |
62 |
political reasons). For example, because of a switch of |
63 |
maintainership, or due to a developer just "helping out" (and |
64 |
obviously avoiding invasive, large changes). |
65 |
|
66 |
Thus, comments like "this is hard to read", "why do you do it like |
67 |
that" are usually more annoying than helpful [2]. |
68 |
|
69 |
|
70 |
- And last, keep in mind that discussing the current state of an ebuild |
71 |
on a version bump is equivalent to discussing an arbitrary amount of |
72 |
commits over the last years (and given the vivid history of some |
73 |
ebuilds of code fragments from a lot of people). |
74 |
|
75 |
An example here would be the missing "|| die" statements on a sed |
76 |
statement that manipulated an entirely gentoo-developer controlled |
77 |
configuration file [3]. While it is technically correct that a "die" |
78 |
is missing - it doesn't hurt terribly much either (no file involved |
79 |
is controlled by upstream and might silently change during a version |
80 |
bump). |
81 |
|
82 |
|
83 |
Best, |
84 |
Matthias |
85 |
|
86 |
|
87 |
|
88 |
[1] Julian, thanks again for catching this silly typo in |
89 |
app-emulation/libvirt :-D |
90 |
|
91 |
[2] notwithstanding whether the comments are correct/justified on a |
92 |
purely technical level. |
93 |
|
94 |
[3] again app-emulation/libvirt |