Re: Maintainer policy for GDB

Daniel Jacobowitz
2005-11-18T15:26:21Z

On Fri, Nov 18, 2005 at 03:14:56PM +0200, Eli Zaretskii wrote:
> > The responsibility for patch review falls to the people
> > listed in the "Responsible Maintainers" section, and then to the global
> > maintainers for any patch without a responsible maintainer listed. The
> > authority is held by the global maintainers, the responsible
> > maintainers within their broad areas, and the authorized committers
> > within their possibly narrower areas.
> >
> > Is that better?
>
> Sorry, not really. The difference between responsibility for patch
> review and authority for patch review is still not clear: it sounds
> like they both rest with the same people, responsible maintainers and
> global maintainers.
>
> Perhaps we lack a definition of what is included in responsibility and
> what is included in authority. The words are similar in semantic
> meaning. How about describing the process during which both the
> responsibility and the authority are executed?

I don't think the words are at all similar in semantic meaning.
Responsibility is an obligation and authority is a privilege.

This would be easier with Venn diagrams, but they don't lend themselves
to email very well. Let me give some examples. Afterwards, I will
attempt to clarify the original descriptions, if these help.

Let's suppose this was the complete list of MAINTAINERS. Please
forgive my unimaginative names.

Global Maintainers:

Bob
Joe
Ellen

Responsible Maintainers:

Bob - Language support
Adam - Symbol readers

Authorized Committers

Charlie - Fortran support
Rick - Stabs support

Patch Champions

Rachel

Now let's look at some patches. Who posts the patch has no effect on
either responsibility or authorization, so let's assume all patches are
posted by an outside contributor. Let's use Fred.

First point to note: one of the global maintainers is also a
responsible maintainer, one of the responsible maintainers is not a
global maintainer. Bob has accepted some more specific
responsibilities in addition to those of the global maintainers,
because of his interest/expertise. Adam is not a global maintainer,
but is the recognized expert on symbol reading issues.

Fred posts a Fortran patch. Charlie can review and approve (or reject)
it if he wants to. However, if the patch sits unreviewed for a week
and Rachel steps in, she won't bug Charlie about it - she might make
sure it was copied to him in case he has comments, but the fact that it
is still pending after a week is not his _responsibility_. Instead,
she will poke Bob about it, because he is responsible for seeing that
language patches get reviewed. She will not poke the global
maintainers about it, because there is a more specific responsible
party for language patches. If he's on vacation, et cetera, then the
global maintainers will be available as backup.

Fred posts a CLI interface patch. If this one goes unreviewed, Rachel
will ping the global maintainers about it, because there is no more
specific responsible party.

The two highlights are a clear set of who to contact when a patch goes
unreviewed, and the option for developers to contribute to GDB without
having obligations for patch review for other contributors forced upon
them.

> > No objection to referencing a Wiki (by nature a live document) from
> > MAINTAINERS?
>
> Not from me.

OK, I think everyone's happy on this point. Stan poked the overseers
list about a Wiki last month; I'm going to follow up on that.

> > > Do we consider it a as a goal to have someone listed for every "area"
> > > (file?) in gdb?
> >
> > In my opinion, no. For instance, right now there's no one active on
> > the list of maintainers who is keeping an eye on MI; therefore I don't
> > think there's benefit from listing anyone in particular.
>
> Isn't it desirable to have an expert for each area of GDB code? If
> not, why not? what are the disadvantages of that? (I don't think this
> is directly related to the present discussion, but I was too surprised
> to read your negative response to Joel's question to let that go
> without understanding it.)

Perhaps we're just using "goal" differently.

In the current set of developers, there are many (huge) areas of GDB in
which no one is taking an active role. Having someone listed for, say,
MI who is not actively interested in the future of MI offers no benefit
over leaving the review of MI patches to global maintainers, and some
downside - one more delay in the process of getting MI patches
reviewed, with no value added.

Now, if we had someone who was actively interested in this area, and
who was willing and able to review patches, I'd leap at the chance to
list them. And MI wasn't a great example, because I hope that we will
have MI maintainers again in the next year or so; both Nick and Bob
obviously have long-term interests in MI. But I don't think it likely
that this will happen for every piece of GDB at the same time, and
there are a lot of fiddly little bits that don't compartmentalize
easily.

--
Daniel Jacobowitz
CodeSourcery, LLC