On Sat, 27 Sep 2014 18:45:12 -0400
Rich Freeman <ri...@gentoo.org> wrote:

> So, there was some discussion on -dev, apparently some discussion I
> wasn't a part of, and some that I was (such is the nature of IRC).

Knowledge codification is nice; otherwise, this is just-another-thread.

> I think it would make sense to take a step back and ask what we'd do
> if we were starting with a blank slate.  Aliases, herds, and projects
> are all ways of grouping people, but they are used in different ways,
> sometimes.

Looking at a blank slate hides the origin of these ways.

Aliases set up mails on the infrastructure. Herds assign multiple
relevant maintainers to multiple packages. Projects are a need for
serious organization.

This is what we have ended up with starting from that blank slate.
 
> My real problem with herds isn't the idea of having more than one way
> to group people.  My real issue is that we have several ways of
> grouping people and no consistent way of doing so.  You have to look
> in different places to find out who is on an alias/herd/project.  We
> have cases where more than one of these are loosely associated, but
> membership is inconsistent.

Aliases are there to support herds or projects, it shouldn't be seen as
a separate way to group people. The other groups are straight froward;
herds for groups that maintains packages, projects for groups that take
on a serious project. Projects that take on packages have created herds
(eg. proxy-maintainers, ...); so, this is or can be consistent.

> We have inactive examples of all three.

Yes, they capture inactivity; iotw, what's in a herd/project name? :)

> So, let's step back and think about why developers would want to be
> part of a group, forget about what we call these groups, and then
> figure out what kind of model makes the most sense and how to get
> there.  In the final design we might want to not split groupings up
> all over the place (wiki vs herds.xml vs alias files that nobody but
> devs can read).
> 
> So, one level of association might be registering an interest - such
> as what is sometimes done with a mail alias.  A developer, or even a
> non-developer, might want to be informed about what is going on with a
> package or group of packages, but they are not making any kind of
> commitment to actually taking care of them.
> 
> The opposite would be a project as defined in GLEP 39.  This is a
> formal association of developers that elects a lead, and acts as a
> unit.  The project could establish policies and it is generally
> expected that they be followed (we can escalate to the Council if
> there is a problem).  This is especially valuable for core
> dependencies like toolchain, frameworks, etc where good planning makes
> everybody's lives easier.
> 
> Then you have groups of people who sort-of maintain peripheral
> packages, which is what I think is what many herds are (but their use
> is totally inconsistent, so this isn't true everywhere).

If read and compared correctly, the origin paragraph is a TL;DR to this.

> My issue with this sort of thing is that it is really hard to tell if
> a package is actually maintained.  Devs basically drop-in to scratch
> an itch and then abandon things.  Emails to aliases get ignored,
> since nobody in particular is in charge.
> 
> That is my main issue with herds - they're dumping grounds for bugs
> that nobody seems to care about, at least in some cases.

+1, as some of us revealed; but note that projects can also hide
abandoned efforts, eg. the Council recently cleaning old dead projects.

> With a project you can at least ask "have you selected a lead in the
> last year" and get some kind of pulse on activity.

There are projects which haven't selected a new lead for years ...

> Herds are nice from the standpoint that they cost nothing to
> maintain, but that also means that there is no way to gauge
> commitment.  Having an election is a big like some proposals to
> charge $1 to register a copyright renewal - it isn't about the cost
> so much as just making somebody actually do something to prevent
> de-listing.

... thus it only works when some entity external to the project forces
new lead elections; as otherwise, projects have no such $1 ping-pong.

> I guess my question is when is something like a herd the best solution
> to a problem, and what is that problem?

Unnecessary stuff: Organization, knowledge codification, time, work, ...

> I don't want to change for the sake of change.  If we stay the same
> I'd like it to be because what we're doing actually makes sense.

It made sense to me from day #1 of contributing to Gentoo; it surprises
me that this all of the sudden is assumed to be a problem, it makes me
rather skeptic about whether a structure change is needed.

> If we do keep something like herds, I'd still consider some way to
> consolidate herd/project membership lists so that tools can scan a
> single location.  Whether a group is a herd/project/alias could be an
> attribute.  This is no different than not having separate ldap servers
> for devs vs staff vs infra, and so on.

That would be nice.

Reply via email to