+1

One minor comment: I suppose you implicitly mean that a committer can
shepherd her own PR.

On Wed, Oct 7, 2015 at 10:22 AM, Fabian Hueske <fhue...@gmail.com> wrote:

> @Matthias: That's a good point. Each PR should be backed by a JIRA issue.
> If that's not the case, we have to make the contributor aware of that rule.
> I'll update the process to keep all discussions in JIRA (will be mirrored
> to issues ML), OK?
>
> @Theo: You are right. Adding this process won't be the silver bullet to fix
> all PR related issues.
> But I hope it will help to improve the overall situation.
>
> Are there any other comment? Otherwise I would start to prepare add this to
> our website.
>
> Thanks, Fabian
>
> 2015-10-06 9:46 GMT+02:00 Theodore Vasiloudis <
> theodoros.vasilou...@gmail.com>:
>
> > One problem that we are seeing with FlinkML PRs is that there are simply
> > not enough commiters to "shepherd" all of them.
> >
> > While I think this process would help generally, I don't think it would
> > solve this kind of problem.
> >
> > Regards,
> > Theodore
> >
> > On Mon, Oct 5, 2015 at 3:28 PM, Matthias J. Sax <mj...@apache.org>
> wrote:
> >
> > > One comment:
> > > We should ensure that contributors follow discussions on the dev
> mailing
> > > list. Otherwise, they might miss important discussions regarding their
> > > PR (what happened already). Thus, the contributor was waiting for
> > > feedback on the PR, while the reviewer(s) waited for the PR to be
> > > updated according to the discussion consensus, resulting in unnecessary
> > > delays.
> > >
> > > -Matthias
> > >
> > >
> > >
> > > On 10/05/2015 02:18 PM, Fabian Hueske wrote:
> > > > Hi everybody,
> > > >
> > > > Along with our efforts to improve the “How to contribute” guide, I
> > would
> > > > like to start a discussion about a setting up a review process for
> pull
> > > > requests.
> > > >
> > > > Right now, I feel that our PR review efforts are often a bit
> > unorganized.
> > > > This leads to situation such as:
> > > >
> > > > - PRs which are lingering around without review or feedback
> > > > - PRs which got a +1 for merging but which did not get merged
> > > > - PRs which have been rejected after a long time
> > > > - PRs which became irrelevant because some component was rewritten
> > > > - PRs which are lingering around and have been abandoned by their
> > > > contributors
> > > >
> > > > To address these issues I propose to define a pull request review
> > process
> > > > as follows:
> > > >
> > > > 1. [Get a Shepherd] Each pull request is taken care of by a shepherd.
> > > > Shepherds are committers that voluntarily sign up and *feel
> > responsible*
> > > > for helping the PR through the process until it is merged (or
> > discarded).
> > > > The shepherd is also the person to contact for the author of the PR.
> A
> > > > committer becomes the shepherd of a PR by dropping a comment on
> Github
> > > like
> > > > “I would like to shepherd this PR”. A PR can be reassigned with lazy
> > > > consensus.
> > > >
> > > > 2. [Accept Decision] The first decision for a PR should be whether it
> > is
> > > > accepted or not. This depends on a) whether it is a desired feature
> or
> > > > improvement for Flink and b) whether the higher-level solution design
> > is
> > > > appropriate. In many cases such as bug fixes or discussed features or
> > > > improvements, this should be an easy decision. In case of more a
> > complex
> > > > feature, the discussion should have been started when the mandatory
> > JIRA
> > > > was created. If it is still not clear whether the PR should be
> accepted
> > > or
> > > > not, a discussion should be started in JIRA (a JIRA issue needs to be
> > > > created if none exists). The acceptance decision should be recorded
> by
> > a
> > > > “+1 to accept” message in Github. If the PR is not accepted, it
> should
> > be
> > > > closed in a timely manner.
> > > >
> > > > 3. [Merge Decision] Once a PR has been “accepted”, it should be
> brought
> > > > into a mergeable state. This means the community should quickly react
> > on
> > > > contributor questions or PR updates. Everybody is encouraged to
> review
> > > pull
> > > > requests and give feedback. Ideally, the PR author does not have to
> > wait
> > > > for a long time to get feedback. The shepherd of a PR should feel
> > > > responsible to drive this process forward. Once the PR is considered
> to
> > > be
> > > > mergeable, this should be recorded by a “+1 to merge” message in
> > Github.
> > > If
> > > > the pull request becomes abandoned at some point in time, it should
> be
> > > > either taken over by somebody else or be closed after a reasonable
> > time.
> > > > Again, this can be done by anybody, but the shepherd should feel
> > > > responsible to resolve the issue.
> > > >
> > > > 4. Once, the PR is in a mergeable state, it should be merged. This
> can
> > be
> > > > done by anybody, however the shepherd should make sure that it
> happens
> > > in a
> > > > timely manner.
> > > >
> > > > IMPORTANT: Everybody is encouraged to discuss pull requests, give
> > > feedback,
> > > > and merge pull requests which are in a good shape. However, the
> > shepherd
> > > > should feel responsible to drive a PR forward if nothing happens.
> > > >
> > > > By defining a review process for pull requests, I hope we can
> > > >
> > > > - Improve the satisfaction of and interaction with contributors
> > > > - Improve and speed-up the review process of pull requests.
> > > > - Close irrelevant and stale PRs more timely
> > > > - Reduce the effort for code reviewing
> > > >
> > > > The review process can be supported by some tooling:
> > > >
> > > > - A QA bot that checks the quality of pull requests such as increase
> of
> > > > compiler warnings, code style, API changes, etc.
> > > > - A PR management tool such as Sparks PR dashboard (see:
> > > > https://spark-prs.appspot.com/)
> > > >
> > > > I would like to start discussions about using such tools later as
> > > separate
> > > > discussions.
> > > >
> > > > Looking forward to your feedback,
> > > > Fabian
> > > >
> > >
> > >
> >
>

Reply via email to