Gentoo Archives: gentoo-dev

From: Tom Wijsman <TomWij@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: Deprecating and killing the concept of herds
Date: Sun, 28 Sep 2014 17:31:02
Message-Id: 20140928193048.00005ef0@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: Deprecating and killing the concept of herds by Rich Freeman
1 On Sat, 27 Sep 2014 18:45:12 -0400
2 Rich Freeman <rich0@g.o> wrote:
3
4 > So, there was some discussion on -dev, apparently some discussion I
5 > wasn't a part of, and some that I was (such is the nature of IRC).
6
7 Knowledge codification is nice; otherwise, this is just-another-thread.
8
9 > I think it would make sense to take a step back and ask what we'd do
10 > if we were starting with a blank slate. Aliases, herds, and projects
11 > are all ways of grouping people, but they are used in different ways,
12 > sometimes.
13
14 Looking at a blank slate hides the origin of these ways.
15
16 Aliases set up mails on the infrastructure. Herds assign multiple
17 relevant maintainers to multiple packages. Projects are a need for
18 serious organization.
19
20 This is what we have ended up with starting from that blank slate.
21
22 > My real problem with herds isn't the idea of having more than one way
23 > to group people. My real issue is that we have several ways of
24 > grouping people and no consistent way of doing so. You have to look
25 > in different places to find out who is on an alias/herd/project. We
26 > have cases where more than one of these are loosely associated, but
27 > membership is inconsistent.
28
29 Aliases are there to support herds or projects, it shouldn't be seen as
30 a separate way to group people. The other groups are straight froward;
31 herds for groups that maintains packages, projects for groups that take
32 on a serious project. Projects that take on packages have created herds
33 (eg. proxy-maintainers, ...); so, this is or can be consistent.
34
35 > We have inactive examples of all three.
36
37 Yes, they capture inactivity; iotw, what's in a herd/project name? :)
38
39 > So, let's step back and think about why developers would want to be
40 > part of a group, forget about what we call these groups, and then
41 > figure out what kind of model makes the most sense and how to get
42 > there. In the final design we might want to not split groupings up
43 > all over the place (wiki vs herds.xml vs alias files that nobody but
44 > devs can read).
45 >
46 > So, one level of association might be registering an interest - such
47 > as what is sometimes done with a mail alias. A developer, or even a
48 > non-developer, might want to be informed about what is going on with a
49 > package or group of packages, but they are not making any kind of
50 > commitment to actually taking care of them.
51 >
52 > The opposite would be a project as defined in GLEP 39. This is a
53 > formal association of developers that elects a lead, and acts as a
54 > unit. The project could establish policies and it is generally
55 > expected that they be followed (we can escalate to the Council if
56 > there is a problem). This is especially valuable for core
57 > dependencies like toolchain, frameworks, etc where good planning makes
58 > everybody's lives easier.
59 >
60 > Then you have groups of people who sort-of maintain peripheral
61 > packages, which is what I think is what many herds are (but their use
62 > is totally inconsistent, so this isn't true everywhere).
63
64 If read and compared correctly, the origin paragraph is a TL;DR to this.
65
66 > My issue with this sort of thing is that it is really hard to tell if
67 > a package is actually maintained. Devs basically drop-in to scratch
68 > an itch and then abandon things. Emails to aliases get ignored,
69 > since nobody in particular is in charge.
70 >
71 > That is my main issue with herds - they're dumping grounds for bugs
72 > that nobody seems to care about, at least in some cases.
73
74 +1, as some of us revealed; but note that projects can also hide
75 abandoned efforts, eg. the Council recently cleaning old dead projects.
76
77 > With a project you can at least ask "have you selected a lead in the
78 > last year" and get some kind of pulse on activity.
79
80 There are projects which haven't selected a new lead for years ...
81
82 > Herds are nice from the standpoint that they cost nothing to
83 > maintain, but that also means that there is no way to gauge
84 > commitment. Having an election is a big like some proposals to
85 > charge $1 to register a copyright renewal - it isn't about the cost
86 > so much as just making somebody actually do something to prevent
87 > de-listing.
88
89 ... thus it only works when some entity external to the project forces
90 new lead elections; as otherwise, projects have no such $1 ping-pong.
91
92 > I guess my question is when is something like a herd the best solution
93 > to a problem, and what is that problem?
94
95 Unnecessary stuff: Organization, knowledge codification, time, work, ...
96
97 > I don't want to change for the sake of change. If we stay the same
98 > I'd like it to be because what we're doing actually makes sense.
99
100 It made sense to me from day #1 of contributing to Gentoo; it surprises
101 me that this all of the sudden is assumed to be a problem, it makes me
102 rather skeptic about whether a structure change is needed.
103
104 > If we do keep something like herds, I'd still consider some way to
105 > consolidate herd/project membership lists so that tools can scan a
106 > single location. Whether a group is a herd/project/alias could be an
107 > attribute. This is no different than not having separate ldap servers
108 > for devs vs staff vs infra, and so on.
109
110 That would be nice.