From owner-freebsd-current@FreeBSD.ORG Fri Jan 11 18:35:37 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5E68816A41B; Fri, 11 Jan 2008 18:35:37 +0000 (UTC) (envelope-from peter.schuller@infidyne.com) Received: from smtp.infidyne.com (ds9.infidyne.com [88.80.6.206]) by mx1.freebsd.org (Postfix) with ESMTP id EC4D113C447; Fri, 11 Jan 2008 18:35:36 +0000 (UTC) (envelope-from peter.schuller@infidyne.com) Received: from c-8216e555.03-51-73746f3.cust.bredbandsbolaget.se (c-8216e555.03-51-73746f3.cust.bredbandsbolaget.se [85.229.22.130]) by smtp.infidyne.com (Postfix) with ESMTP id CA8A575DAA; Fri, 11 Jan 2008 19:35:34 +0100 (CET) From: Peter Schuller To: freebsd-current@freebsd.org Date: Fri, 11 Jan 2008 19:35:41 +0100 User-Agent: KMail/1.9.7 References: <478556AD.6090400@bsdforen.de> <20080110003524.GB5188@soaustin.net> In-Reply-To: <20080110003524.GB5188@soaustin.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart9162351.RhgJZhdn8N"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200801111935.50821.peter.schuller@infidyne.com> Cc: Mark Linimon Subject: Improving the handling of PR:s X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jan 2008 18:35:37 -0000 --nextPart9162351.RhgJZhdn8N Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline =46rom the hideous flamewar-about-everything thread: > We clearly have a disconnect on PRs. More come in than we have any way > to handle. This is clearly most distressing when the PRs contain > patches and/or test cases. Again, I'm open to ideas on how to set up > something where more people can participate. Eric Anderson posted a suggestion that I read and won't comment on other th= an=20 to say that from the perspective of the non-committer it sounds like a good= =20 idea. I have another suggestion. The fundamental problem, I think everyone agrees, is that there is simply n= ot=20 enough commit bit developer time available to attend to all the PR:s. This = is=20 understandable. But understandable or not, the problem becomes particularly frustrating whe= n=20 it affects PR:s that contain patches. Such PR:s constitute direct=20 contributions to the project. In cases where such patches are correct/good= =20 enough, the non-application of those patches have what I believe to be=20 significant effects. The one perhaps lesser effect is that other people are bitten by the same b= ug=20 (which translates into loss of time on potential future contribotors) even= =20 though a fix is available. The second, possibly worse effect, is that the original submitter, I believ= e,=20 is less inclined to spend more time in the future contributing, if said=20 submitter feels the work is wasted because no one commits or even comments = on=20 the PR. In the case of PR:s with patches, why do they not get enough attention?=20 Obviously there is no technical reason why the application of the patch=20 itself should be a problem (that could be completely automated even). The=20 problem, presumably, will be that the time it takes to process the PR is mu= ch=20 more than the mechanical act of applying a patch because (and this list is= =20 probably not exhaustive): * The patch must be looked at and understood prior to application or even=20 testing. Does it comply with style guidelines? Does it break something else= =20 as a side-effect? What are other implications? And so on. * The committer may not have access to the hardware, or may not have a=20 software setup that allows for testing. This means doing such testing=20 suddenly requires a lot more effort. * The committer may not be familiar with the code and, even though the patc= h=20 looks good generally, it is felt that someone familiar with that part of th= e=20 system needs to have a look. This means the committer can either spend=20 additional time on understanding the surrounding codebase, or leave it for= =20 the subset of committers that have that understanding already. One observation is that there is no realistic way for the community of=20 non-committers to help effectively the committer in the sense of lessening= =20 the amount of work required to process the PR. What I suggest is a system where a group of non-committers systematically=20 pre-process PR:s, to provide feedback and additional quality assurance to t= he=20 committer that is to process the PR. This group of people could either be a self-proclaimed group of volunteers,= or=20 perhaps a group of people satisfying the criteria of "guy we kinda trust to= =20 do testing and provide a useful indication of sanity and correctness, but n= ot=20 with a commit bit". Given a fairly simple PR with a fairly simple patch, would not the work of = the=20 committer be greatly lessened if there was a track record of the=20 above "pre-processors" shows that people have performed building and=20 testing of the patched version on architectures/environments, ,= =20 and that they generally like the patch (or that they don't)? One possible answer to this that I have gotten in the past with another=20 project, is that noone is stopping me from just grabbing a bunch of PR:s an= d=20 posting follow-ups saying I've tested something, or otherwise giving=20 feedback. The problem is that there is no real indication that this will cause anythi= ng=20 to happen other than generating more E-Mail traffic. What I suggest may make the difference is to have a *system* for this.=20 Preferably with software to support it. =46or example, patches with a high confidence of correctness due to many pe= ople=20 affirming that they have tested it could be automatically prioritized for=20 committers to deal with, and there will be a clear and systematic record of= =20 what testing was done, and by who. And the individual contributor (for=20 testing) can really feel that the time spent was worthwhile, because the=20 feedback was taken by the system and used for actual effect. When I talk about priority above, I do not mean to imply that any committer= =20 should work on things they do not want to work on. But I have to assume tha= t=20 a lot of patches get committed because a committer decided to go and pick a= =20 few PR:s to process, rather than the committer necessarily has a burning=20 interest in that particular patch. As such, if said committer could spend those minutes closing five times= as=20 many PR:s because the up-front confidence in the correctness of the patch i= s=20 so much higher, perhaps it would help the system to "scale", moving some of= =20 the burden off the committers. Perhaps one can either go so far as to have "full committers" give their=20 blessing for a particular patch, possibly based on feedback such as above,= =20 but leave the act of actually commiting the patch and doing the actual smok= e=20 testing (that it builds etc) to someone who does have a commit bit and is=20 trusted with it, but is not allowed to make any commits that are not direct= ly=20 blessed by a "full" committer. There is some precedent for similar systems. Squeak had the concept=20 of "harvesters". They seem to have changed things a bit nowadays, but=20 seemingly use a similar approach still (I am no longer up to date): http://wiki.squeak.org/squeak/3152 (see the comment/review/vote period) =2D-=20 / Peter Schuller PGP userID: 0xE9758B7D or 'Peter Schuller ' Key retrieval: Send an E-Mail to getpgpkey@scode.org E-Mail: peter.schuller@infidyne.com Web: http://www.scode.org --nextPart9162351.RhgJZhdn8N Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQBHh7cGDNor2+l1i30RAkZ6AJsEsFA8YIPJhofQ1NdsgdE7yuLsHACg4GKQ QFqwG58365226dPAFnTkCQc= =O2cn -----END PGP SIGNATURE----- --nextPart9162351.RhgJZhdn8N--