1 |
Zero_Chaos and I had a discussion on IRC about catalyst's development |
2 |
model. Part of the discussion was whether proposed changes should go |
3 |
to the mailing list for review or if the current IRC+pastebin-based |
4 |
review was sufficient. As a proponent of a mailing-list-based model, I |
5 |
thought it best to attempt to continue the discussion on the mailing |
6 |
list itself. |
7 |
|
8 |
Since Andrew Gaffney stopped catalyst development in early 2010 |
9 |
catalyst has seen only small developments. Jorge has been mostly |
10 |
single-handedly keeping catalyst going by supplying patches and bug |
11 |
fixes. |
12 |
|
13 |
Without many active developers (catalyst works okay, why change it, |
14 |
right?) it's been hard to get others to do patch review and easy to |
15 |
miss a tiny problem in your own code. For instance, I made a mistake |
16 |
in commit c3db9351 (fix: 793079a0) that would have probably caused |
17 |
mips/o32 stages to fail to build. Other problems have slipped through |
18 |
as well: Zero Chaos was forced to revert three commits in order to |
19 |
release a version of catalyst (2.0.12.1) that actually worked. At |
20 |
least twice in the last 50 commits, changes have been made that |
21 |
contained a syntax error that simply would have prevented catalyst |
22 |
from working. Both times they've been fixed promptly and probably |
23 |
didn't cause anyone any harm, but: |
24 |
|
25 |
I think this leads to the question of how well our development model is working. |
26 |
|
27 |
As it currently is patches are committed ad-hoc, recently with at |
28 |
least some review in the form of giving a reviewer a pastebin link on |
29 |
IRC. I find this model tedious and lends itself to rapid-fire question |
30 |
and answer debate about a proposed change, partly due to the medium, |
31 |
partly due to pastebin'd patches having a significantly lesser chance |
32 |
of containing a meaningful commit summary. |
33 |
|
34 |
I claim that if patches were sent to the mailing list they would |
35 |
receive better review from a larger reviewer base and the committed |
36 |
results would contain fewer errors. The process of git |
37 |
format-patch/send-email forces the author to at least look at the |
38 |
patch before committing, and reviewers are likely to give a better |
39 |
review to something they find on a mailing list than in IRC. At least |
40 |
personally, I find that I'm much more likely to forget about something |
41 |
asked of me on IRC than via email. |
42 |
|
43 |
Patch review isn't about a power structure. It's about maintaining |
44 |
quality and catching mistakes before they could affect anyone. |
45 |
|
46 |
git is also not a review tool. Once it's in git, it's history, and I |
47 |
don't like my mistakes being part of historical record. :) |
48 |
|
49 |
Other projects handle review in different ways. The kernel and X.org |
50 |
for instance require that a patch have at least one Reviewed-by tag, |
51 |
stating that a third-party checked over the patch and found it |
52 |
appropriate. Chrome, I think, and other Google projects use a |
53 |
web-based review tool called gerrit. Either of these would be large |
54 |
improvements, with the mailing list system having lower cost and |
55 |
probably the same effectiveness. |
56 |
|
57 |
See http://www.x.org/wiki/Development/Documentation/SubmittingPatches |
58 |
for a description of the process. |