Re: The future of commit access policy for core Firefox

Mike Connor <[email protected]> Fri, 10 Mar 2017 12:49:50 -0500
Newsgroups gmane.comp.mozilla.devel.seamonkey
Message-ID <CAKx4dk0Fcvi9HkXCN8EALVHcyH+_dZdTz=Um9pA6OWjzz-Xmsw@mail.gmail.com>
On Thu, Mar 9, 2017 at 5:14 PM, L. David Baron <[email protected]> wrote:

> On Thursday 2017-03-09 16:53 -0500, Mike Connor wrote:
> > I've identified the following goals as critical for a responsible commit
> > access policy:
> ...
> >    - The change that gets pushed must be the same change that was
> approved.
>
> I'm curious what this goal means.  In particular, does it mean that
> you're trying to end "review+ if you make the following changes",
> and require that reviewers re-review the revisions no matter what?
>
> (If it does mean that, then that's a substantial increase on
> reviewer load; if it doesn't, then I'm curious what definition of
> "the same" you're using.)


Replying to this specific part, since there's a lot of expected and
understandable concerns here.

That's a potential end state, and one end of the spectrum of strictness of
code review/approval.  That spectrum ranges from "trust approved developers
to make good changes, don't do code review" to "every line of code that
lands should be explicitly reviewed first."  Leaving aside productivity
concerns for the moment, I think we would all agree that code review is a
critical part of our process, because developers are human and humans make
mistakes.  As a result, the closer we get to doing formal review on final
versions, instead of mostly-done versions, the better off we should be.
That will take time, and I think it's the right goal to work toward.

Big picture, I agree that doing this today presents a lot of challenges,
especially for reviewers currently carrying a huge load.  We don't *yet*
have great tooling in place to easily review the differences between
submissions (and ideally recognize when it's just
whitespace/syntax/comments typos getting fixed).  We have a lot of
reviewers barely keeping up with reviews (or worse, always falling
behind).  We don't have an easy enough process for running patches through
automated testing in advance of reviews.  And most difficult of all,
patches are frequently not in a "ready to land" state when submitted for
review, meaning a clean review is relatively rare.  I believe we can and
should work to address all of these issues, especially the last one.

To expand a bit on that last point: if we can trust core/known developers
to competently make necessary changes prior to checkin, we should also be
able to expect them to fix most/all of those issues *before* they submit
those patches for review.  My experience as both author and reviewer has
generally been that doing code review on something 90% finished takes far
more time than something that's been refined thoroughly prior to
submission.  I'd love to see us tighten up the expectations on patch
authors to only request review when they believe something is fully ready
to land.  (If you want early/high-level feedback, there's a flag for that.)

Assuming we can make significant progress on all of those challenges, and
the net reviewer overhead is about the same, are there other reasons we
wouldn't want to move to a much stricter review process?

-- Mike