public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* Re: [maint] The GDB maintenance process
@ 2003-02-24  5:29 Michael Elizabeth Chastain
  0 siblings, 0 replies; 62+ messages in thread
From: Michael Elizabeth Chastain @ 2003-02-24  5:29 UTC (permalink / raw)
  To: drow, gdb

Oh, man, what a thread.

I think it's hopeless to argue about the nature of gdb on a mailing list.
We all have opinions and are unlikely to change them.  I think the best
we can actually do is craft proposals that are good in some people's
views, neutral in other people's, and aren't horrible in anybody's eyes.

My opinions:

. We need two or three test suite maintainers.  I think we should
  add some co-maintainers for the test suite right now, just as we
  did for the gdb.c++ subdirectory.

. We have a problem integrating new contributors.  This is tangled up
  with the bigger problem that the doco for new contributors is
  spread out over several places.  I would like to tackle this
  problem after the 5.4/6.0 release.

. The basic issue with patches is that they flow into our mailboxes
  faster than they flow out.  No patch management system can solve
  this problem directly; it simply introduces new and fancier buffer
  mechanisms.  The only ways to solve it are to devote more resources
  to patch review or find ways to review patches more quickly
  (for example, flat out reject patches with the note "we don't have
  the resources to review this").

. I am comfortable with a low degree of pre-commit testing as long as
  we have healthy regression coverage AND people prioritize the
  regression bugs in front of committing their next patch.  For example,
  I'd like someone to investigate pr gdb/1039.  I don't want this kind
  of stuff to build up.  It's very easy for a developer to have a
  never-ending stream of new stuff and never fix the problems introduced
  by last week's stuff.

. My estimate of gdb regressions is that in the area I cover
  (native i686-pc-linux-gnu) there is roughly 0.2 to 0.5 regressions
  per week.  See the gdb-testers archive and count "New Bugs Detected".

Michael C

^ permalink raw reply	[flat|nested] 62+ messages in thread
* RE: [maint] The GDB maintenance process
@ 2003-02-20 20:11 Zaretskii Eli
  2003-02-20 14:58 ` Daniel Jacobowitz
  2003-02-20 15:16 ` Daniel Berlin
  0 siblings, 2 replies; 62+ messages in thread
From: Zaretskii Eli @ 2003-02-20 20:11 UTC (permalink / raw)
  To: Daniel Berlin, Daniel Jacobowitz; +Cc: Elena Zannoni, Andrew Cagney, gdb


This message was scanned for viruses and other malicious code by PrivaWall.


This mail was sent from ELTA SYS LTD.


> From: Daniel Berlin [mailto:dberlin@dberlin.org] 
> Sent: Wednesday, February 19, 2003 3:24 PM
> 
> > I guess I just don't see this to be as much of a problem as  others
do.
> > For one thing, with the higher entropy level, more development
actually
> > happens.
> Bingo.
> I don't think we should stall development (and in the 
> extreme,  even if 
> it means we can't make quality releases any day of the year) because 
> mistakes occasionally happen in patches, or because not every 
> maintainer in existence has said something about a patch.  That's a 
> recipe for no progress.

For some definition of ``progress''.

Who said that adding code at a faster rate at the price of having more
bugs is more ``progress'' than what we have now?  There are people out
there who need GDB to actually do something _useful_, not just to debug
and/or develop GDB itself, you know.  What about frustration of those
GDB users when their favorite feature is broken by some
committed-before-review patch that adds a hot new feature?  Does that
ever count?

Does anyone remember that latest GCC releases are practically unusable
for any production-quality work due to bugs?  Does anyone even care?

I say thanks God for slower development of GDB.  At least I can _debug_
buggy code produced by buggy development tools ;-)

Of course, if contributors are frustrated by the slow review rate, let's
try to improve that (see my other mail).  But let's not obscure our view
of the problem by discussing abstract issues of ``progress''.  An
official release every 3 months is more than enough progress for my
taste.


This message is processed by the PrivaWall Email Security Server. 

^ permalink raw reply	[flat|nested] 62+ messages in thread
* RE: [maint] The GDB maintenance process
@ 2003-02-20 20:11 Zaretskii Eli
  0 siblings, 0 replies; 62+ messages in thread
From: Zaretskii Eli @ 2003-02-20 20:11 UTC (permalink / raw)
  To: Jim Blandy, gdb


This message was scanned for viruses and other malicious code by PrivaWall.


This mail was sent from ELTA SYS LTD.


> From: Jim Blandy [mailto:jimb@redhat.com] 
> Sent: Wednesday, February 19, 2003 4:18 AM
> 
> - It's true that "... some maintainers should try to review patches in
>   their areas of responsibility more often", but merely saying so
>   doesn't have any effect.  Folks have been saying that ever since
>   Cygnus loosened its grip on GDB and the process opened to the
>   public.  That statement seems to express a hope that the maintainers
>   will somehow "wake up" and everything will get better.  It's been
>   years, now, and we need to stop waiting for this to happen.  Let's
>   work with the people we've got, rather than hoping they'll transform
>   themselves somehow.

GDB maintenance is not the only place that needs to deal with that
problem.  We don't have to reinvent the wheel, or feel that we face an
insoluble problem, and neither do we need to make drastic changes in the
current commit paradigms.

More to the point, if we think that some maintainers don't respond fast
enough, we could bring more maintainers on board.  The primary
candidates for becoming new maintainers are those people who push
significant patches in the areas where the current maintainers are slow.
In other words, let those who are unhappy with the current situation put
their money where their mouth is and help with the burden.

We could also ask a maintainer to step down if he/she cannot keep up
with his/her duties in a timely manner, or we could grant the head
maintainer (or a group of veteran maintainers) powers to declare that
someone has effectively stepped down due to lack of responsiveness.

These are all minor modifications to the existing model.  If someone
thinks that they will never be effective enough, let them explain why.

I'm not against changing the model to something like commit-then-review,
mind you.  But please don't underestimate the implications of this on
the social dynamics within our team: reverting changes, while
technically easy, tends to leave bad after-taste and hurts
relationships; the arguments about whether to revert a patch tend to be
ugly.  We should ask ourselves if we are willing to pay that price.


This message is processed by the PrivaWall Email Security Server. 

^ permalink raw reply	[flat|nested] 62+ messages in thread
* RE: [maint] The GDB maintenance process
@ 2003-02-18  6:08 Zaretskii Eli
  0 siblings, 0 replies; 62+ messages in thread
From: Zaretskii Eli @ 2003-02-18  6:08 UTC (permalink / raw)
  To: Daniel Jacobowitz, gdb


This message was scanned for viruses and other malicious code by PrivaWall.


This mail was sent from ELTA SYS LTD.


> From: Daniel Jacobowitz [mailto:drow@mvista.com] 
> Sent: Monday, February 17, 2003 8:07 PM
> 
> Right now, we use stricter policies to prevent problems which cause
> breakage.  I think these policies are stifling us.

I don't think so.  I do agree that some maintainers should try to
review patches in their areas of responsibility more often, but
that doesn't necessarily mean we need to change the
maintenance model.

P.S. Sorry for a possibly messed-up message, this one and
Possibly future ones.  We had major changes in our mail
setup, which will take me some time to repair...


This message is processed by the PrivaWall Email Security Server. 

^ permalink raw reply	[flat|nested] 62+ messages in thread
* [maint] The GDB maintenance process
@ 2003-02-17 18:07 Daniel Jacobowitz
       [not found] ` <drow@mvista.com>
                   ` (6 more replies)
  0 siblings, 7 replies; 62+ messages in thread
From: Daniel Jacobowitz @ 2003-02-17 18:07 UTC (permalink / raw)
  To: gdb

I get the feeling I'm already pretty unpopular for some of my opinions on
how GDB maintenane should work.  This isn't going to make it any better, but
I feel it should be said.

I believe that our current process has some problems.  Let me try to
explain.  First, to make sure we're all on the same page...

 What does it mean to be a Global Maintainer, in practice?
  - A certain amount of autonomy in the areas of GDB that no one wants to
    take specific responsibility for.  There's no specific maintainer for
    things like the frame support or the type/value systems.
  - A little more freedom in approving patches to other people's areas of
    GDB - not a lot, but it's definitely there.
    [In practice, this depends on:
     o How much risk you're willing to take of annoying people.
     o How likely other maintainers are to shout at you about it.]
  - Authority to approve patches covering general debugger issues.

 What does it mean to be a maintainer for a specific host/target/subsystem,
 in practice?
  - The authority to approve patches and apply your own patches to that area
    of the debugger.

I'd like everyone to notice one thing missing from the above list.  No one
has the _responsibility_ for approving patches.  This is a volunteer
project, and anyone who's watched it in action for a little while will see
that the volunteers are often busy and distracted.  There's no one who
can handle or should have to handle the responsibilities of patch approval.

Another thing to think about: because of the layout of the above, there is
frequently no one who has the _right_ to approve a patch.  They require
buy-in from a number of additional maintainers.  In addition our volunteers
are often too busy to find time to respond to patches.  This impacts patches
from other maintainers (frequently, but generally a small impact) and from
outside contributors (happens less frequently, but larger impact - most of
these never get approved at all, from what I've seen).


Some other GNU projects have a similar setup and don't have this problem. 
GCC and binutils are my usual examples.  How do they avoid it?  They have a
different definition of global maintainer.  That's what ours used to be
called - Blanket Write Privileges.  The system works a little differently:
  - Maintainers for specific areas of the compiler can commit/approve
    patches to the areas they maintain without buy-in from a blanket
    maintainer.
  - Blanket maintainers can commit/approve patches anywhere without buy-in
    from a specific area maintainer.

[I hope Richard will forgive me for using him as an example and for putting
words in his mouth...] This doesn't replace common sense - you generally
won't find Richard Henderson approving patches to the C++ frontend, because:
  - He knows he isn't familiar with it
  - He knows it has an active set of maintainers at all times

Similarly, just because he can check in patches to any target backend, that
doesn't mean he won't ask a target maintainer to look over it first.  If
someone objects to a patch in their area, he would generally not just check
it in anyway.  If they object to it after he checks it in, the two will
discuss the problem like reasonable people and come to some agreement.


Some noticeable differences between these two models:
  - In the GCC model, more people are able/likely to check in patches which
    break things.
  - But in the GCC model, more people are able/likely to check in patches to
    fix it afterwards.
  - Because more people have the privilege of approving a given patch,
    and fewer people's approvals are needed for any particular patch,
    patches (usually) get approved more quickly.
  - Development can happen more quickly, and does not get slowed to a
    standstill when (say) one of us is pulled off of community GDB work for
    an urgent customer project.  This happens all the time - I've never seen
    all the GDB maintainers with time for GDB at the same time.


Right now, we use stricter policies to prevent problems which cause
breakage.  I think these policies are stifling us.  Loosening them (and
maybe adding a formal patch reversion policy) would let more people fix
problems more easily, as they arise, without slowing development.

If there are people on our Global Maintainer list that we don't think should
be trusted with the extra responsibility of the above, then perhaps we need
to rethink who belongs in that list.  I'm not pointing any fingers - I don't
have anyone in mind, and I've been quite happy working with absolutely all
of the current team.  Just putting the idea out.


I've discussed this general situation with a (small) sampling of other GDB
developers and contributors - enough to know that I'm not alone in my
concerns.  These aren't entirely my own words, either.  I'll let other
people take credit/blame for them if they want to, and if I've represented
their opinions accurately.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

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

end of thread, other threads:[~2003-02-24  7:18 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-24  5:29 [maint] The GDB maintenance process Michael Elizabeth Chastain
  -- strict thread matches above, loose matches on Subject: below --
2003-02-20 20:11 Zaretskii Eli
2003-02-20 14:58 ` Daniel Jacobowitz
2003-02-20 15:56   ` Andrew Cagney
2003-02-20 16:39     ` Andrew Cagney
2003-02-20 15:16 ` Daniel Berlin
2003-02-20 16:19   ` Andrew Cagney
2003-02-20 16:24     ` Daniel Berlin
2003-02-20 16:31     ` Daniel Berlin
2003-02-20 17:13     ` Daniel Berlin
2003-02-22 23:25   ` Eli Zaretskii
2003-02-23  1:57     ` Daniel Berlin
2003-02-23 19:23       ` Eli Zaretskii
2003-02-20 20:11 Zaretskii Eli
2003-02-18  6:08 Zaretskii Eli
2003-02-17 18:07 Daniel Jacobowitz
     [not found] ` <drow@mvista.com>
2003-02-17 18:58   ` Kevin Buettner
2003-02-17 21:01 ` Elena Zannoni
2003-02-19  1:49   ` Daniel Jacobowitz
2003-02-19  2:26     ` Joel Brobecker
2003-02-19 15:43       ` Andrew Cagney
2003-02-19 16:29         ` Daniel Jacobowitz
2003-02-19 22:04           ` Andrew Cagney
2003-02-19 13:24     ` Daniel Berlin
2003-02-19 15:51       ` Andrew Cagney
2003-02-19 14:50     ` Andrew Cagney
2003-02-19 17:33       ` David Carlton
2003-02-19 17:57         ` Kevin Buettner
2003-02-19 18:56           ` Andrew Cagney
2003-02-19 20:39             ` Christopher Faylor
2003-02-19 23:17               ` Jason Molenda
2003-02-20  1:53                 ` Christopher Faylor
2003-02-19 19:35           ` David Carlton
2003-02-20 18:32       ` Richard Earnshaw
2003-02-22  0:53         ` Andrew Cagney
2003-02-19 15:12     ` Andrew Cagney
2003-02-19 15:21       ` Daniel Jacobowitz
2003-02-19 16:24         ` Andrew Cagney
2003-02-19 18:36           ` Christopher Faylor
2003-02-19 23:36           ` Jason Molenda
2003-02-19 23:52             ` Andrew Cagney
2003-02-19 23:59               ` Jason Molenda
2003-02-20  0:16                 ` Elena Zannoni
2003-02-20  0:21                 ` Andrew Cagney
2003-02-18  2:39 ` Andrew Cagney
2003-02-18  4:28 ` Andrew Cagney
2003-02-19  3:49   ` Jim Blandy
2003-02-19 16:14     ` Andrew Cagney
2003-02-19 16:31       ` Daniel Jacobowitz
2003-02-19  2:24 ` Jim Blandy
2003-02-19 16:33   ` Andrew Cagney
2003-02-19 22:24     ` Jim Blandy
2003-02-19 22:39       ` Christopher Faylor
2003-02-19 22:53         ` Andrew Cagney
2003-02-19 23:53       ` Elena Zannoni
2003-02-20  1:27         ` Andrew Cagney
2003-02-20  2:48   ` Andrew Cagney
2003-02-21 23:43   ` Andrew Cagney
2003-02-21 23:57   ` Andrew Cagney
2003-02-19  6:05 ` David Carlton
2003-02-23 23:26 ` Mark Kettenis
2003-02-24  7:18   ` Andrew Cagney

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