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. |