Improving the handling of PR:s
Kris Kennaway
kris at FreeBSD.org
Fri Jan 11 15:41:57 PST 2008
韓家標 Bill Hacker wrote:
> Mark Linimon wrote:
>> On Fri, Jan 11, 2008 at 07:35:41PM +0100, Peter Schuller wrote:
>>> But understandable or not, the problem becomes particularly
>>> frustrating when it affects PR:s that contain patches. Such PR:s
>>> constitute direct contributions to the project. In cases where such
>>> patches are correct/good enough, the non-application of those patches
>>> have what I believe to be significant effects.
>>
>> I think you make some excellent points -- especially with how
>> understandable it is for someone who's submitted a patch which got
>> ignored, to not do the work to submit the next one.
>>
>> With respect to patches, the two things that I've tried -- and they have
>> been insufficient -- are the following:
>>
>> - weekly email of "PRs containing patches"
>>
>> - weekly email of "PRs recommended by the bugbuster team"
>>
>> We can make the following observations:
>>
>> - the "push" paradigm doesn't work particularly well. Partly this is
>> due to fatigue if you try to read through all this stuff (see below).
>>
>> - the "recommended" list has been slightly effective, but it's going
>> to take some time for it to take off. For one thing, it has been
>> underpublicized; for another, we don't have the culture of committers
>> getting "warm fuzzies" from committing PRs. (Since no one working
>> on that kind of stuff gets paid AFAIK, that's the only positive
>> feedback they're going to get.)
>>
>> Last week someone made the observation that if these things were instead
>> updated daily and posted to a web page, that it would be far more useful.
>> I've taken that up as a task.
>
> Observation: PR or 'other' - it is presently rather difficult to find
> [older | most] patches- which reduces the opportunity for testing and
> feedback, and increases the likelihood of having the situation reported
> yet-again. And again..
>
> so ..
>
> - Can there be a port category (real or 'virtuaized', added - along the
> lines of:
>
> 'patches and workarounds'
>
> With caveats, of course.... but hopefully also with provision for
> co-located feeback, both positive and negative.
>
>>
>> Your other point about "latest PRs" is also a good one. That should be
>> relatively easy to do. I'll take up that task.
>>
>
> Question: Can an improved 'data mining' project add value?
>
> One wherein the tools to look for commonality - sometimes of the less
> obvious nature - would be easier for all-hands?
>
> I include in this the ability to build 'reports' - not just do the
> present ad hoc searches.
>
> If such could be done 'better', it might also benefit from crossproject
> (i.e all the *BSD's) scope.
>
>>> * The committer may not be familiar with the code and, even though
>>> the patch looks good generally, it is felt that someone familiar with
>>> that part of the system needs to have a look.
>>
>> In particular, this hurts for areas of the system that are unmaintained.
>>
>>> What I suggest is a system where a group of non-committers
>>> systematically pre-process PR:s, to provide feedback and additional
>>> quality assurance to the committer that is to process the PR.
>>>
>>> This group of people could either be a self-proclaimed group of
>>> volunteers, or perhaps a group of people satisfying the criteria of
>>> "guy we kinda trust to do testing and provide a useful indication of
>>> sanity and correctness, but not with a commit bit".
>>
>> So far it hasn't happened. We've set up the freebsd-bugbusters@ mailing
>> list and the #freebsd-bugbusters IRC channel on EFNet (and please join
>> us!) and the latter is where our last 2 bugathons took place.
>>
>> It's clear that there are several people who want to help process the
>> PRs, and we don't have a good answer for them on "how can I contribute?".
>> The existing tool, and social conventions, don't allow for non-committers
>> to change PR states. As far as we've done in the past is to grant people
>> "GNATS access" rights but not "commit rights", on an experimental basis.
>> We've done this twice, and although it has worked well, just two people
>> isn't enough. (One has gone on to become a full committer -- which is
>> great!; the other current does not have as much time for FreeBSD work).
>> Several hundred PRs were dealt with by these two folks, so I consider the
>> experiment a success.
>>
>> What we used as a qualification was "track record of responding to PRs
>> and
>> questions on mailing lists", fwiw.
>>
>>> One possible answer to this that I have gotten in the past with
>>> another project, is that noone is stopping me from just grabbing a
>>> bunch of PR:s and posting follow-ups saying I've tested something, or
>>> otherwise giving feedback.
>>
>> Yes, but that's open-loop as well. It's the same situation as with
>> submitting
>> the patch in the first place: it's going to get frustrating if no
>> committer
>> picks it up and commits it.
>>
>> There's not too many people so thick-skinned and persistent as to keep
>> going forward when no one's using their work.
>>
>>> For example, patches with a high confidence of correctness due to
>>> many people affirming that they have tested it could be automatically
>>> prioritized for committers to deal with, and there will be a clear
>>> and systematic record of what testing was done, and by who.
>>
>> Right. The "priority" field in GNATS has been so abused as to become
>> useless. (People assume that setting it higher will cause some kind of
>> magic to happen.)
>>
>> My current thinking is that what committers ought to see is a metric of
>> correctness, and a metric of priority, _as set by someone who's vetted
>> the PR_. The weekly mailings are too poor an approximation of either
>> to be useful.
>>
>> Adding the second metric would cure one problem that you don't mention --
>> which is that few people have the interest and patience to plow through
>> N-thousand PRs. It's not humanly possible to look at them all -- even
>> the new ones as they come in. There's simply too many. So, you create
>> an expectation "why bother, there's so many anyways". We need to break
>> that chain of expectation. A good fix is a good fix. The PR count will
>> never get to zero; I (with bugmaster hat on) would be thrilled if we can
>> get to the point of just steady-state.
>
> DB Admins, SysAdmins, 'Management' need BSD, too and not all the work
> that needs to be done requires 'C' expertise.
>
> Some of us also have spare bandwidth and hardware as well as time, so...
>
>>
>>> When I talk about priority above, I do not mean to imply that any
>>> committer should work on things they do not want to work on. But I
>>> have to assume that a lot of patches get committed because a
>>> committer decided to go and pick a few PR:s to process, rather than
>>> the committer necessarily has a burning interest in that particular
>>> patch.
>>
>> I think most get committed because a committer sees a PR come in on the
>> mailing list and grabs it. Much less often do committers go through the
>> database looking for things to fix. Again, the lousy "search/browse"
>> capabilities of the existing tool let us down here.
>>
>>> As such, if said committer could spend those <n> minutes closing five
>>> times as many PR:s because the up-front confidence in the correctness
>>> of the patch is so much higher, perhaps it would help the system to
>>> "scale", moving some of the burden off the committers.
>>
>> Right. What we need is to start small and create a _culture_ of where
>> it's fun (or at least intellectually interesting) to work on this stuff.
>> I think the IRC channel may still be the best bet for this.
>>
>> Once I finish fiddling around with the sparc64-6 and sparc64-7 release
>> builds (the first approximation is finished, but I believe we can still
>> add some more packages), I intend to task-switch over to looking towards
>> defining a PR workflow and floating some proposals. I hope to have
>> something concrete to present at BSDCan. Please join us on bugbusters@
>> to discuss any more ideas, too.
>>
>> mcl
>
> Coders will always set their own priorities. Even when working for a wage.
>
> ;-)
>
> But all-hands benefit from greater stability and fewer 'critical' things
> breaking, so rational self-interest might be more effectively applied by
> each participant if the 'big picture' - in several flavors - was simply
> published in some 'better' manner.
>
> You've ID'ed some of the possibilities - there are bound to be more.
>
> Perhaps some of the committers - or at least the project in general -
> could benefit from more 'virtual office staff' - folks who specifically
> are NOT coders - to remove obstacles and help leverage their expertise?
>
> Background research, documentation, finding and enlisting testers who
> can help, building and maintaining databases - *doing* tests. Some of
> that is more amenable to being 'directed' than the coding efforts
> themselves. Different personality types...
>
> JMHK$2CW..
Hi Bill,
After your last anti-FreeBSD rant didn't you promise to unsubscribe from
the mailing lists and not come back? What went wrong? :(
Kris
More information about the freebsd-chat
mailing list