Gentoo Archives: gentoo-dev

From: wireless <wireless@×××××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: Code Review Systems Was: [gentoo-dev] Git Migration: launch plan & schedule
Date: Thu, 09 Jul 2015 16:09:45
Message-Id: 559EAC15.3060006@tampabay.rr.com
In Reply to: Re: Code Review Systems Was: [gentoo-dev] Git Migration: launch plan & schedule by Alec Warner
1 On 07/09/2015 10:45 AM, Alec Warner wrote:
2 >
3 >
4 > On Thu, Jul 9, 2015 at 4:47 AM, Rich Freeman <rich0@g.o
5 > <mailto:rich0@g.o>> wrote:
6 >
7 > On Thu, Jul 9, 2015 at 5:31 AM, hasufell <hasufell@g.o
8 > <mailto:hasufell@g.o>> wrote:
9 > >
10 > > The quality problem is that we have too many developers. If you make
11 > > community contributions easier, sane and more reliable (due to code
12 > > review) then you solve several problems at once, because you need _less_
13 > > developers. Are you aware that we could potentially "pull" in hundreds
14 > > of contributors who chose to work on their personal overlay instead of
15 > > the gentoo tree? Are you aware that there are a lot of those people?
16 >
17 > Yes and no.
18 >
19 > I'll agree that with a review workflow we might only need one reviewer
20 > for every 10 contributors, or something like that. If we have 100
21 > active devs today, in theory we could instead turn 20 of them into
22 > reviewers, and now we can support 2000 contributors.
23 >
24 > There are some big assumptions with this kind of argument, though:
25 > 1. We might find that we don't even have 20 devs interested in doing
26 > a substantial amount of review.
27 > 2. The main repository is very diverse. If 50% of our packages have
28 > only one person interested in maintaining them, then they get dropped
29 > since reviewers will ignore their contributions. Or, they'll just
30 > rubber-stamp them which is adding valueless work.
31 >
32 > So, a review system could make manpower either more of an issue or
33 > less of one. I suspect that trying to force it would basically end up
34 > putting the entire distro on hold until most of the current devs quit,
35 > and a new crop signs up who is interested in using the new workflow,
36 > and then they're starting with zero experience.
37 >
38 > I think a review model is best implemented by individual project
39 > teams. They could use it to track changes in an overlay or branch in
40 > the main tree, and then move those into the main tree using whatever
41 > quality system seems best. The team can figure out what is working
42 > best for it, and if over time a large number of devs feel that it is a
43 > good way to work we could then talk about doing it with the main tree.
44 > I still suspect we'll end up having problems with the 70% of packages
45 > that don't fall into a project though.
46
47 I think everybody is getting a bit heated over CI/Quality/automation,
48 when clearly there is no good reason to get so heated. Let me explain.
49 YES industry, commercial, research, FOSS and everybody is moving to some
50 sort of paradigm where as much automation of code examination is
51 streamline. Surely these efforts are a work in progress and as such will
52 evolved over time. It does not mean the existing, wonderfully manual
53 processes are being replaced, it just means that the simple, routine,
54 (scriptable if you like) filters are automated. In fact those manual
55 processes still need to occur, because the next generation of coders
56 have to learn how things work in order to extent the paradigm.
57
58
59 Resources. Surely the major arches are at an advantage. But the current
60 cluster offerings are soon going to render very powerful processing so
61 even gargantuan, single threaded codes can be automated for CI, quality,
62 security etc etc. Both a cross-compile and native compile strategy needs
63 to experimented with. Those smaller arches will follow the bigger
64 arches; so in that we should just let x86 and other such arches blaze
65 the path for gentoo (in a non binding manner) while the various other
66 arches (with more humble resources) figure out how to build clusters on
67 these other arches. Lots of folks are clustering smalller arches to get
68 big tasks back into the realm of viability.
69
70
71 The big benefit for those other (more constrained arches) is that folks
72 that build embedded products on those arches will be very, very
73 interested in work on how to build a cluster, specific to those (sub)
74 arches for CI/quality/security. In fact mesos-distcc does not limit the
75 various arch types. So I would think all arches would get on-board and
76 just follow this paradigm in an easy, non-stressful manner. But the
77 Gentoo leadership does have a responsibility to include those other
78 arches in just how this occurs, during some extended transition period,
79 so that these other arch's still fell like they are part of this
80 extended gentoo family. Loosing those arches would be a horrible damage
81 to gentoo's reputation, imho. That is our diversity in arches is
82 something gentoo is widely know for and sets us apart, imho.
83
84
85
86 hth,
87 James