public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* Maintainer policy for GDB
@ 2005-11-17  4:48 Daniel Jacobowitz
       [not found] ` <8f2776cb0511162240q6f550008udda9803b5253fd88@mail.gmail.com>
                   ` (4 more replies)
  0 siblings, 5 replies; 101+ messages in thread
From: Daniel Jacobowitz @ 2005-11-17  4:48 UTC (permalink / raw)
  To: gdb
  Cc: Jim Blandy, Kevin Buettner, Andrew Cagney, J.T. Conklin,
	Fred Fish, Mark Kettenis, Peter Schauer, Stan Shebs,
	Michael Snyder, Eli Zaretskii, Elena Zannoni

We've discussed various times in the past several years whether we needed
to change the maintainer policies for GDB.  It's been a little while since
the last time, and a couple things have changed - the set of active
developers is a bit different, and the steering committee is properly in
place now in case of dispute.  Let's try again, please.

I have put together one possible alternative, drawing heavily on comments
from Ian, Jim, and Andrew on the steering committee list last year. 
Obviously I like my own proposal or I wouldn't be sharing it :-) But I want
to know what everyone else involved thinks!

One of my goals with this proposal is to acknowledge the current reality of
GDB development, which is that no one has very much time for it.  I want to
make it easier for those who do have time to make progress, and I want to
make it easier to draw on outside contributions.  In the long term, I hope
that this will let us all have more time for GDB, and give it a much-needed
boost.

So, first some proposed text, and then some additional rationale.  Please,
let the list know your opinions.

=========================

Working With Other Maintainers

All maintainers are encouraged to post major patches to gdb-patches for
comments, even if they have the authority to commit the patch without
review.  This especially includes patches which change internal interfaces
(e.g. global functions, data structures) or external interfaces (e.g. user,
remote, MI, et cetera).

Global Maintainers

The global maintainers may review and commit any change to GDB.  For major
changes, or changes to areas with other active developers, global
maintainers are encouraged to post patches for comment and review before
committing.

The global maintainers are responsible for reviewing patches to any area
for which no one else is listed as responsible.

In case of abuse, e.g. committing patches without approval or patches which
go against an agreed-upon and documented roadmap for GDB, global maintainers
have the authority to revert _any_ applied patch.  No one may reapply a
reverted patch without either persuading the reverter, or bringing the issue
to the GDB Steering Committee for discussion.

(NOTE: documentation links to roadmap items would be good here; we don't
have any today but we could at least create a placeholder in gdbint.texi for
them.  Alternatively, we could use a freeform Wiki for this; that seems to
work well for other projects...  END NOTE.)

  *LIST*


Patch Champions

These volunteers track all patches submitted to the gdb-patches list.  They
endeavor to prevent any posted patch from being overlooked; work with
contributors to meet GDB's coding style and general requirements, along with
FSF copyright assignments; remind (ping) responsible maintainers to review
patches; and ensure that contributors are given credit.

  *LIST*


Changes to the List of Maintainers

Most changes (especially additions) to the list of recognized maintainers
are handled by consensus among the global maintainers.  Final authority
resides with the GDB Steering Committee.

Some maintainers are listed as responsible for patch review in particular
areas.  If a maintainer is not currently able or willing to review patches,
please contact the global maintainers or the steering committee, who will
resolve the situation and find a replacement or assistant if necessary.


Responsible Maintainers

These are active developers who have agreed to review patches to particular
areas of GDB, in which they have particular knowledge and experience.  The
areas are expected to be broad; multiple maintainers responsible for an area
may wish to informally subdivide the area further to improve review.

  *LIST*


Authorized Committers

These are developers working on particular areas of GDB, who are trusted to
commit their own (or others') patches in those areas without further review
(but see Working With Other Maintainers, above).

  *LIST*

=========================

Comments on the text:

Separating responsibility for patch review from authority for patch review
is a new concept for GDB; I believe the suggestion was Ian's.  The more time
I've spent working on this proposal the more I've come to like it.  I
envision the areas of responsibility as broad, but the areas of authority as
possibly more specialized.

The biggest advantage I see in the split is a very clear image of who to
pester about pending patches, which does not necessarily include every GDB
developer who wants to be able to work in that area.


I have always been in favor of the concept that global maintainers should be
able to approve patches anywhere, without having to wait for area
maintainers.  If we don't trust each other enough for that, then we need to
work on the trust and/or the list of maintainers.


Patch champion is definitely not a role suitable for one person.  Just trust
me on this one.  Two at minimum.  Who else can we get to do it?  I don't
know yet but we'll find somebody.  I've been doing essentially this for
months and I'm willing to continue as time permits.


I would like for every defined "area" of approval to be fairly well defined,
possibly a specific list of files.  I believe it's reasonable to include
most changes to users of an interface under the umbrella of approval which
covers the implementation of the interface, so files which include
maintained headers would be somewhat under the authority of the maintainers
involved.  This may need to be clarified.


The set of current maintainers, and their areas, should probably be
consolidated.  I have no idea yet how to go about doing this.  At a bare
minimum, inactive maintainers should be pinged and pruned, with appropriate
credits in the manual.  We have a lot of them right now!


This does not replace the entire explanatory text of the MAINTAINERS file of
course.  Bits like the Obvious Fix rule or the bits about Joel's role as RM
would remain.  I've just covered the section highlights.


-- 
Daniel Jacobowitz
CodeSourcery, LLC

^ permalink raw reply	[flat|nested] 101+ messages in thread
* Re: Maintainer policy for GDB
@ 2005-11-27  4:50 Michael Snyder
  2005-11-27  4:59 ` Eli Zaretskii
                   ` (2 more replies)
  0 siblings, 3 replies; 101+ messages in thread
From: Michael Snyder @ 2005-11-27  4:50 UTC (permalink / raw)
  To: gdb

I sincerely hope to forward the discussion toward, rather than
away from convergence.  These are casual suggestions; if anyone
thinks they're too daft, I'll happily withdraw them.

1) Unique approval authority.

How about this -- if there's to be a specific maintainer with
sole approval authority for certain areas, there'll have to be
a list of them somewhere: presumably in the MAINTAINERS file
or equivalent.

What if each such area maintainer has the right to spell out
his or her own policy as far as "timeouts", etc.?  Rather than
forcing a one-size-fits-all policy?  Eg.:

     Area Maintainers:
	gdb/doc: Eli Zaretskii.
	    Checkin policy: "I prefer that any changes other
	    than obvious fixes await my explicit approval for
	    at least 3 weeks".
	mumble mumble: Daniel Jacobowitz
	    Checkin policy: "If I haven't responded within
	    3-5 days, any global maintainer may approve."

2) Reverting a patch

There hasn't been too much discussion of this, but it
makes me nervous.  May I throw this out on the table?
How about if, except for area maintainers, it requires
the agreement of at least two maintainers to revert
another maintainer's patch?

To be perfectly clear, that means that if someone
checks in a docs patch that Eli doesn't like, Eli
can yank it out immediately, but other than Eli it
would require a motion and a second.

^ permalink raw reply	[flat|nested] 101+ messages in thread

end of thread, other threads:[~2005-11-27 19:22 UTC | newest]

Thread overview: 101+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-17  4:48 Maintainer policy for GDB Daniel Jacobowitz
     [not found] ` <8f2776cb0511162240q6f550008udda9803b5253fd88@mail.gmail.com>
2005-11-17  6:44   ` Fwd: " Jim Blandy
2005-11-17 14:04     ` Daniel Jacobowitz
2005-11-17 17:07       ` Jim Blandy
2005-11-17 20:38         ` Jim Blandy
2005-11-17 20:15       ` Eli Zaretskii
2005-11-17 20:16   ` Eli Zaretskii
2005-11-17 20:14 ` Eli Zaretskii
2005-11-17 21:10   ` Jim Blandy
2005-11-18  3:07     ` Daniel Jacobowitz
2005-11-18  3:26       ` Joel Brobecker
2005-11-18  3:30         ` Daniel Jacobowitz
2005-11-18  3:33           ` Joel Brobecker
2005-11-18  3:46           ` Wu Zhou
2005-11-18 11:09       ` Andrew STUBBS
2005-11-18 11:46         ` Eli Zaretskii
2005-11-18 11:59           ` Andrew STUBBS
2005-11-18 13:15       ` Eli Zaretskii
2005-11-18 15:26         ` Daniel Jacobowitz
2005-11-18 18:24           ` Eli Zaretskii
2005-11-18 18:44             ` Ian Lance Taylor
2005-11-18 18:51               ` Daniel Jacobowitz
2005-11-18 21:40                 ` Eli Zaretskii
2005-11-18 21:46                   ` Daniel Jacobowitz
2005-11-18 22:33                     ` Eli Zaretskii
2005-11-18 22:41                       ` Daniel Jacobowitz
2005-11-19  9:34                         ` Eli Zaretskii
2005-11-18 21:51                   ` Jim Blandy
2005-11-18 22:29                     ` Eli Zaretskii
2005-11-19  0:34                       ` Jim Blandy
2005-11-19 10:54                         ` Eli Zaretskii
2005-11-21  7:52                           ` Jim Blandy
2005-11-21 22:35                             ` Eli Zaretskii
2005-11-18 22:46                   ` David Carlton
2005-11-19 10:38                     ` Eli Zaretskii
2005-11-23  1:28                       ` David Carlton
2005-11-23 19:56                         ` Eli Zaretskii
2005-11-23 20:13                           ` Joel Brobecker
2005-11-24  4:51                             ` Eli Zaretskii
2005-11-24 20:36                               ` Joel Brobecker
2005-11-24 20:47                                 ` Eli Zaretskii
2005-11-24 21:20                                   ` Joel Brobecker
2005-11-25  3:07                                   ` Daniel Jacobowitz
2005-11-25  8:36                                     ` Christopher Faylor
2005-11-25  8:37                                       ` Eli Zaretskii
2005-11-25 17:07                                         ` Daniel Jacobowitz
2005-11-25 19:53                                           ` Joel Brobecker
2005-11-25 20:43                                             ` Eli Zaretskii
2005-11-25 20:10                                           ` Eli Zaretskii
2005-11-25 21:03                                             ` Daniel Jacobowitz
2005-11-25 21:38                                               ` Eli Zaretskii
2005-11-25 23:04                                                 ` Daniel Jacobowitz
2005-11-25 23:42                                                   ` Mark Kettenis
2005-11-26  0:03                                                     ` Daniel Jacobowitz
2005-11-26  9:38                                                     ` Eli Zaretskii
2005-11-26  9:31                                                   ` Eli Zaretskii
2005-11-27 15:07                                                     ` Daniel Jacobowitz
2005-11-28  8:51                                                       ` Eli Zaretskii
2005-11-25  9:23                                     ` Eli Zaretskii
2005-11-25 16:04                                       ` Daniel Jacobowitz
2005-11-25 20:08                                         ` Eli Zaretskii
2005-11-26  7:28                                           ` Christopher Faylor
2005-11-26 15:18                                             ` Eli Zaretskii
2005-11-26 16:38                                               ` Daniel Jacobowitz
2005-11-23 20:41                           ` Christopher Faylor
2005-11-24  4:56                             ` Eli Zaretskii
2005-11-24  2:05                           ` David Carlton
2005-11-24  6:17                             ` Eli Zaretskii
2005-11-18 21:09               ` Eli Zaretskii
2005-11-18 21:32                 ` Daniel Jacobowitz
2005-11-18 12:14     ` Eli Zaretskii
2005-11-17 23:10 ` Joel Brobecker
2005-11-18 12:42   ` Eli Zaretskii
2005-11-18 15:05     ` Daniel Jacobowitz
2005-11-18 18:11       ` Eli Zaretskii
2005-11-18 17:53     ` Paul Gilliam
2005-11-18 18:36       ` Eli Zaretskii
2005-11-18 19:25         ` Joel Brobecker
2005-11-18 21:02         ` Paul Gilliam
2005-11-19  2:44         ` Christopher Faylor
2005-11-19 10:56           ` Eli Zaretskii
2005-11-19 17:05             ` Christopher Faylor
2005-11-19 19:39               ` Eli Zaretskii
2005-11-19 22:21                 ` Christopher Faylor
2005-11-19 22:23                   ` Christopher Faylor
2005-11-19 22:25                     ` Christopher Faylor
2005-11-19 22:54                       ` Eli Zaretskii
2005-11-19 22:55                   ` Eli Zaretskii
2005-11-20  5:28                     ` Joel Brobecker
2005-11-20 19:22                       ` Eli Zaretskii
2005-11-20 21:55                         ` Christopher Faylor
2005-11-20 22:01                           ` Daniel Jacobowitz
2005-11-18 19:50     ` Joel Brobecker
2005-11-18 21:41       ` Eli Zaretskii
2005-11-17 23:52 ` Mark Kettenis
2005-11-18 21:51 ` David Carlton
2005-11-27  4:50 Michael Snyder
2005-11-27  4:59 ` Eli Zaretskii
2005-11-27  5:00 ` Ian Lance Taylor
2005-11-27 19:22   ` Eli Zaretskii
2005-11-27 19:18 ` Christopher Faylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).