Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-02-05 Thread Jonathan Wei
I think poking preferences are a fairly personal/subjective thing, and I
don't think we need a general formalized policy presently given the size of
our committer pool. I don't mind being poked often, for example.

I think it's enough to have an informal social understanding amongst the
committers for now ("this committer prefers to be poked less frequently,
let's keep that in mind").

For the case where a PR has enough approvals for merge but an incomplete
review from another committer, I think it's good to give that committer
some time to complete their review, but I would suggest a period of a 3-4
days; two weeks seems too long to me.

Thanks,
Jon


On Wed, Jan 30, 2019 at 5:22 AM Roman Leventov 
wrote:

> On Tue, 29 Jan 2019 at 01:30, Fangjin Yang  wrote:
>
> > I disagree with Roman's suggestions. If a PR has enough votes, we should
> > trust the committers approving the PR and move forward.
> >
>
> There is a specific committer who merges a PR. If this happens while it's
> not made clear that somebody who left comments before doesn't have any more
> comments, the whole situation looks to me more like disregard of that
> person's opinion. The trust to other committers doesn't help to make the
> situation look much better, IMO.
>


Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-01-30 Thread Roman Leventov
On Tue, 29 Jan 2019 at 01:30, Fangjin Yang  wrote:

> I disagree with Roman's suggestions. If a PR has enough votes, we should
> trust the committers approving the PR and move forward.
>

There is a specific committer who merges a PR. If this happens while it's
not made clear that somebody who left comments before doesn't have any more
comments, the whole situation looks to me more like disregard of that
person's opinion. The trust to other committers doesn't help to make the
situation look much better, IMO.


Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-01-30 Thread Roman Leventov
On Tue, 29 Jan 2019 at 00:28, Gian Merlino  wrote:

> It's a totally different situation if nobody else has reviewed a patch yet.
> In that case a reviewer reviewing things with longer cycles isn't blocking
> anything.
>

There is "Development Blocker" tag for such situations.  What do you think
if for PRs tagged "Development Blocker" the "poking period" is recommended
to be 3 working days, and a week for other PRs?


Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-01-29 Thread Gian Merlino
> I disagree with Roman's suggestions. If a PR has enough votes, we should
> trust the committers approving the PR and move forward.

FWIW, I do think it's good to be courteous and give other reviewers a day
or two to either follow up on a review or decide to leave the decision to
the reviewers that have already chimed in. I just think that allowing two
weeks for that is excessive and would lead to PRs languishing in the queue
even more than they do now.

On Mon, Jan 28, 2019 at 1:30 PM Fangjin Yang  wrote:

> I disagree with Roman's suggestions. If a PR has enough votes, we should
> trust the committers approving the PR and move forward.
>
> On Mon, Jan 28, 2019 at 9:28 AM Gian Merlino  wrote:
>
> > I don't think it's irresponsible to start a review and not be able to
> > finish it promptly. But drawing the process out can feel frustrating to
> > other committers that have already finished reviewing, like they are
> being
> > told that their review is not good enough. I think it's a matter of
> degree.
> > Two weeks sounds very long to me but two or three days sounds reasonable.
> > Part of the rationale for this is that PR review is an iterative process.
> > If each iteration could take two weeks then a patch might not be
> committed
> > for months. (This happens sometimes, and it is sad, and sometimes I've
> been
> > on the guilty end of it, and it's something I think we should try to
> avoid
> > by endeavoring to speed up review cycles.)
> >
> > It's a totally different situation if nobody else has reviewed a patch
> yet.
> > In that case a reviewer reviewing things with longer cycles isn't
> blocking
> > anything. They are actually helping a lot by being the only person
> willing
> > to review the patch at all. In this case I think the etiquette and
> timings
> > you suggested are more reasonable.
> >
> > I guess that reviewers prioritize the newest PRs first because of how the
> > GitHub UI works. By default it sorts PRs by created date, newest first.
> And
> > it doesn't have an option to sort by "most time elapsed since review".
> > Maybe we should make our own review console that sorts the PRs
> differently?
> > Or shoot for PR-zero (like inbox-zero): close all PRs that haven't had
> > comments in 6 months and try to review all the others as fast as
> possible.
> >
> > On Mon, Jan 28, 2019 at 8:43 AM Roman Leventov 
> > wrote:
> >
> > > On Fri, 25 Jan 2019 at 23:12, Gian Merlino  wrote:
> > >
> > > > If enough other committers have already reviewed and accepted a
> patch,
> > I
> > > > don't think it's fair to the author or to those other reviewers for
> > > > committing to be delayed by two weeks because another committer
> doesn't
> > > > have time to finish reviewing, but wants others to wait for them
> > anyway.
> > >
> > >
> > > It sounds like it's implied that the reviewer is irresponsible because
> he
> > > started reviewing a PR but "doesn't have time to finish reviewing". In
> > > fact, a reviewer could *have* time to finish reviewing and is willing
> to
> > > finish the review, but they don't have time *tomorrow*. A reviewer
> could
> > > have different duties and could slice only Y hours for reviews of Druid
> > PRs
> > > every X days. X/(Y * number of PRs the reviewer is interested in at the
> > > moment) is how often (in days) a reviewer could pay attention to
> specific
> > > PR. I think we should respect that for some people, at least at some
> > times,
> > > this value could grow to about 7. Saying that we shouldn't wait for
> those
> > > people creates a bias favoring most involved developers, and it's not
> > > necessarily a good bias, because sometimes outsider (or half-outsider)
> > > perspective is valuable.
> > >
> > > If we do releases every 3 months and the time between creating a
> release
> > > branch and the final release candidate is at least 3 weeks
> > (historically),
> > > why there is an urge to commit anything faster.
> > >
> > > IMO the real source of unfairness in reviews is that reviewers
> generally
> > > prioritize the newest PRs rather than PRs that await for reviews the
> > > longest. The probability that somebody starts to review a PR decreases
> > with
> > > time, while it should increase.
> > >
> >
>


Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-01-28 Thread Fangjin Yang
I disagree with Roman's suggestions. If a PR has enough votes, we should
trust the committers approving the PR and move forward.

On Mon, Jan 28, 2019 at 9:28 AM Gian Merlino  wrote:

> I don't think it's irresponsible to start a review and not be able to
> finish it promptly. But drawing the process out can feel frustrating to
> other committers that have already finished reviewing, like they are being
> told that their review is not good enough. I think it's a matter of degree.
> Two weeks sounds very long to me but two or three days sounds reasonable.
> Part of the rationale for this is that PR review is an iterative process.
> If each iteration could take two weeks then a patch might not be committed
> for months. (This happens sometimes, and it is sad, and sometimes I've been
> on the guilty end of it, and it's something I think we should try to avoid
> by endeavoring to speed up review cycles.)
>
> It's a totally different situation if nobody else has reviewed a patch yet.
> In that case a reviewer reviewing things with longer cycles isn't blocking
> anything. They are actually helping a lot by being the only person willing
> to review the patch at all. In this case I think the etiquette and timings
> you suggested are more reasonable.
>
> I guess that reviewers prioritize the newest PRs first because of how the
> GitHub UI works. By default it sorts PRs by created date, newest first. And
> it doesn't have an option to sort by "most time elapsed since review".
> Maybe we should make our own review console that sorts the PRs differently?
> Or shoot for PR-zero (like inbox-zero): close all PRs that haven't had
> comments in 6 months and try to review all the others as fast as possible.
>
> On Mon, Jan 28, 2019 at 8:43 AM Roman Leventov 
> wrote:
>
> > On Fri, 25 Jan 2019 at 23:12, Gian Merlino  wrote:
> >
> > > If enough other committers have already reviewed and accepted a patch,
> I
> > > don't think it's fair to the author or to those other reviewers for
> > > committing to be delayed by two weeks because another committer doesn't
> > > have time to finish reviewing, but wants others to wait for them
> anyway.
> >
> >
> > It sounds like it's implied that the reviewer is irresponsible because he
> > started reviewing a PR but "doesn't have time to finish reviewing". In
> > fact, a reviewer could *have* time to finish reviewing and is willing to
> > finish the review, but they don't have time *tomorrow*. A reviewer could
> > have different duties and could slice only Y hours for reviews of Druid
> PRs
> > every X days. X/(Y * number of PRs the reviewer is interested in at the
> > moment) is how often (in days) a reviewer could pay attention to specific
> > PR. I think we should respect that for some people, at least at some
> times,
> > this value could grow to about 7. Saying that we shouldn't wait for those
> > people creates a bias favoring most involved developers, and it's not
> > necessarily a good bias, because sometimes outsider (or half-outsider)
> > perspective is valuable.
> >
> > If we do releases every 3 months and the time between creating a release
> > branch and the final release candidate is at least 3 weeks
> (historically),
> > why there is an urge to commit anything faster.
> >
> > IMO the real source of unfairness in reviews is that reviewers generally
> > prioritize the newest PRs rather than PRs that await for reviews the
> > longest. The probability that somebody starts to review a PR decreases
> with
> > time, while it should increase.
> >
>


Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-01-28 Thread Gian Merlino
I don't think it's irresponsible to start a review and not be able to
finish it promptly. But drawing the process out can feel frustrating to
other committers that have already finished reviewing, like they are being
told that their review is not good enough. I think it's a matter of degree.
Two weeks sounds very long to me but two or three days sounds reasonable.
Part of the rationale for this is that PR review is an iterative process.
If each iteration could take two weeks then a patch might not be committed
for months. (This happens sometimes, and it is sad, and sometimes I've been
on the guilty end of it, and it's something I think we should try to avoid
by endeavoring to speed up review cycles.)

It's a totally different situation if nobody else has reviewed a patch yet.
In that case a reviewer reviewing things with longer cycles isn't blocking
anything. They are actually helping a lot by being the only person willing
to review the patch at all. In this case I think the etiquette and timings
you suggested are more reasonable.

I guess that reviewers prioritize the newest PRs first because of how the
GitHub UI works. By default it sorts PRs by created date, newest first. And
it doesn't have an option to sort by "most time elapsed since review".
Maybe we should make our own review console that sorts the PRs differently?
Or shoot for PR-zero (like inbox-zero): close all PRs that haven't had
comments in 6 months and try to review all the others as fast as possible.

On Mon, Jan 28, 2019 at 8:43 AM Roman Leventov 
wrote:

> On Fri, 25 Jan 2019 at 23:12, Gian Merlino  wrote:
>
> > If enough other committers have already reviewed and accepted a patch, I
> > don't think it's fair to the author or to those other reviewers for
> > committing to be delayed by two weeks because another committer doesn't
> > have time to finish reviewing, but wants others to wait for them anyway.
>
>
> It sounds like it's implied that the reviewer is irresponsible because he
> started reviewing a PR but "doesn't have time to finish reviewing". In
> fact, a reviewer could *have* time to finish reviewing and is willing to
> finish the review, but they don't have time *tomorrow*. A reviewer could
> have different duties and could slice only Y hours for reviews of Druid PRs
> every X days. X/(Y * number of PRs the reviewer is interested in at the
> moment) is how often (in days) a reviewer could pay attention to specific
> PR. I think we should respect that for some people, at least at some times,
> this value could grow to about 7. Saying that we shouldn't wait for those
> people creates a bias favoring most involved developers, and it's not
> necessarily a good bias, because sometimes outsider (or half-outsider)
> perspective is valuable.
>
> If we do releases every 3 months and the time between creating a release
> branch and the final release candidate is at least 3 weeks (historically),
> why there is an urge to commit anything faster.
>
> IMO the real source of unfairness in reviews is that reviewers generally
> prioritize the newest PRs rather than PRs that await for reviews the
> longest. The probability that somebody starts to review a PR decreases with
> time, while it should increase.
>


Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-01-28 Thread Roman Leventov
On Fri, 25 Jan 2019 at 23:12, Gian Merlino  wrote:

> If enough other committers have already reviewed and accepted a patch, I
> don't think it's fair to the author or to those other reviewers for
> committing to be delayed by two weeks because another committer doesn't
> have time to finish reviewing, but wants others to wait for them anyway.


It sounds like it's implied that the reviewer is irresponsible because he
started reviewing a PR but "doesn't have time to finish reviewing". In
fact, a reviewer could *have* time to finish reviewing and is willing to
finish the review, but they don't have time *tomorrow*. A reviewer could
have different duties and could slice only Y hours for reviews of Druid PRs
every X days. X/(Y * number of PRs the reviewer is interested in at the
moment) is how often (in days) a reviewer could pay attention to specific
PR. I think we should respect that for some people, at least at some times,
this value could grow to about 7. Saying that we shouldn't wait for those
people creates a bias favoring most involved developers, and it's not
necessarily a good bias, because sometimes outsider (or half-outsider)
perspective is valuable.

If we do releases every 3 months and the time between creating a release
branch and the final release candidate is at least 3 weeks (historically),
why there is an urge to commit anything faster.

IMO the real source of unfairness in reviews is that reviewers generally
prioritize the newest PRs rather than PRs that await for reviews the
longest. The probability that somebody starts to review a PR decreases with
time, while it should increase.


Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-01-25 Thread Gian Merlino
If enough other committers have already reviewed and accepted a patch, I
don't think it's fair to the author or to those other reviewers for
committing to be delayed by two weeks because another committer doesn't
have time to finish reviewing, but wants others to wait for them anyway. A
couple of days, sure, but two weeks is quite a long time. It would be
potentially longer in practice, since with your proposal the two-week clock
would start fresh if the reviewer had some more follow-up comments.

Presumably the not-yet-finished reviewer's motivation for wanting others to
wait for them is that they have some set of concerns that they feel other
reviewers may not be examining. IMO, it'd be better to ask the reviewers
that do have more time to take those concerns into account rather than
blocking the commit.

And of course - even after patches are committed, we still have release
votes and the concept of release blocker issues as a final gate to allow
people to express an opinion that particular code should not be released
without changes. So the commit of a patch itself is not the only gate that
exists before code is released.

On Fri, Jan 25, 2019 at 3:43 AM Roman Leventov 
wrote:

> The times that I suggested are IMO minimally reasonable for not provoking a
> sense of rush and anxiety in people being poked.
>
> If we assume that people adhere to the guideline "do not comment on a pull
> request unless you are willing to follow up on the edits" from here:
>
> https://github.com/druid-io/druid-io.github.io/blob/src/community/index.md#general-committer-guidelines
> and don't forget about the PRs they started reviewing, poking appears to be
> pointless. Poking and expecting the reviewer to respond "I didn't forget
> about it, I'll continue my review soon" is not a good use of the time of
> both people and IMO should be the common practice.
>
> Proposal reviews are good but the code should be reviewed thoroughly too.
> Despite the proposal got enough approvals, the PR with the actual code
> shouldn't be rushed into the codebase.
>
> On Fri, 25 Jan 2019 at 04:05, Gian Merlino  wrote:
>
> > The timelines you outlined seem quite slow. Especially "if there are
> enough
> > approvals, a PR could be merged not sooner than in two weeks since they
> > left the last review comment". IMO, rather than delaying patches by so
> > long, a better way to be courteous of a reviewer being too busy to review
> > in a timely manner is to seek review from some other committer that has
> > more time.
> >
> > In an extreme case, where the patch has issues that a reviewer feels must
> > be addressed before the patch is merged, but the reviewer does not have
> > time to hold up their end of that conversation, they can veto (
> > https://www.apache.org/foundation/voting.html#Veto), accompanied by a
> > justification. This is a pretty blunt tool and should not be used much.
> But
> > it is there.
> >
> > I'm still optimistic that the discussion we've been having around
> proposals
> > is a good way to address a desire for reviewers to have their say, in a
> way
> > that doesn't slow down the development process so much. By starting
> > conversations about changes earlier, it is a way for contributors to come
> > together and agree on the general shape of changes before there is a
> bunch
> > of code to discuss. Hopefully that also makes code review more efficient
> in
> > terms of contributors' time, reviewers' time, and amount of calendar days
> > that PRs are open for.
> >
> > On Thu, Jan 24, 2019 at 3:41 AM Roman Leventov 
> > wrote:
> >
> > > To foster calmness, respect, and consideration of people's busy
> > schedules I
> > > suggest the following etiquette:
> > >
> > > - When someone showed up in a PR and left some review comments, but
> > didn't
> > > explicitly approved the PR, poke them with comments like "@username do
> > you
> > > have more comments?" not sooner than in one week since they left the
> last
> > > review comment.
> > > - Poke people no more frequently than once per week.
> > > - If there are enough approvals, a PR could be merged not sooner than
> in
> > > two weeks since they left the last review comment.
> > > - If someone created a valuable PR but then stopped responding to
> review
> > > comments and there are conflicts or tests/CI don't pass, a PR could be
> > > recreated by another person not sooner than in three weeks since the
> > > author's last activity in the PR. Their authorship should be preserved
> by
> > > cherry-picking their commits, squashing them locally, rebasing on top
> of
> > > current upstream master, creating a new PR and choosing "Rebase and
> > merge"
> > > option when merging the new PR instead of the default "Squash and
> merge".
> > >
> >
>


Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-01-25 Thread Roman Leventov
The times that I suggested are IMO minimally reasonable for not provoking a
sense of rush and anxiety in people being poked.

If we assume that people adhere to the guideline "do not comment on a pull
request unless you are willing to follow up on the edits" from here:
https://github.com/druid-io/druid-io.github.io/blob/src/community/index.md#general-committer-guidelines
and don't forget about the PRs they started reviewing, poking appears to be
pointless. Poking and expecting the reviewer to respond "I didn't forget
about it, I'll continue my review soon" is not a good use of the time of
both people and IMO should be the common practice.

Proposal reviews are good but the code should be reviewed thoroughly too.
Despite the proposal got enough approvals, the PR with the actual code
shouldn't be rushed into the codebase.

On Fri, 25 Jan 2019 at 04:05, Gian Merlino  wrote:

> The timelines you outlined seem quite slow. Especially "if there are enough
> approvals, a PR could be merged not sooner than in two weeks since they
> left the last review comment". IMO, rather than delaying patches by so
> long, a better way to be courteous of a reviewer being too busy to review
> in a timely manner is to seek review from some other committer that has
> more time.
>
> In an extreme case, where the patch has issues that a reviewer feels must
> be addressed before the patch is merged, but the reviewer does not have
> time to hold up their end of that conversation, they can veto (
> https://www.apache.org/foundation/voting.html#Veto), accompanied by a
> justification. This is a pretty blunt tool and should not be used much. But
> it is there.
>
> I'm still optimistic that the discussion we've been having around proposals
> is a good way to address a desire for reviewers to have their say, in a way
> that doesn't slow down the development process so much. By starting
> conversations about changes earlier, it is a way for contributors to come
> together and agree on the general shape of changes before there is a bunch
> of code to discuss. Hopefully that also makes code review more efficient in
> terms of contributors' time, reviewers' time, and amount of calendar days
> that PRs are open for.
>
> On Thu, Jan 24, 2019 at 3:41 AM Roman Leventov 
> wrote:
>
> > To foster calmness, respect, and consideration of people's busy
> schedules I
> > suggest the following etiquette:
> >
> > - When someone showed up in a PR and left some review comments, but
> didn't
> > explicitly approved the PR, poke them with comments like "@username do
> you
> > have more comments?" not sooner than in one week since they left the last
> > review comment.
> > - Poke people no more frequently than once per week.
> > - If there are enough approvals, a PR could be merged not sooner than in
> > two weeks since they left the last review comment.
> > - If someone created a valuable PR but then stopped responding to review
> > comments and there are conflicts or tests/CI don't pass, a PR could be
> > recreated by another person not sooner than in three weeks since the
> > author's last activity in the PR. Their authorship should be preserved by
> > cherry-picking their commits, squashing them locally, rebasing on top of
> > current upstream master, creating a new PR and choosing "Rebase and
> merge"
> > option when merging the new PR instead of the default "Squash and merge".
> >
>


Re: The etiquette of pocking people on Github and the policy when people stop responding

2019-01-24 Thread Gian Merlino
The timelines you outlined seem quite slow. Especially "if there are enough
approvals, a PR could be merged not sooner than in two weeks since they
left the last review comment". IMO, rather than delaying patches by so
long, a better way to be courteous of a reviewer being too busy to review
in a timely manner is to seek review from some other committer that has
more time.

In an extreme case, where the patch has issues that a reviewer feels must
be addressed before the patch is merged, but the reviewer does not have
time to hold up their end of that conversation, they can veto (
https://www.apache.org/foundation/voting.html#Veto), accompanied by a
justification. This is a pretty blunt tool and should not be used much. But
it is there.

I'm still optimistic that the discussion we've been having around proposals
is a good way to address a desire for reviewers to have their say, in a way
that doesn't slow down the development process so much. By starting
conversations about changes earlier, it is a way for contributors to come
together and agree on the general shape of changes before there is a bunch
of code to discuss. Hopefully that also makes code review more efficient in
terms of contributors' time, reviewers' time, and amount of calendar days
that PRs are open for.

On Thu, Jan 24, 2019 at 3:41 AM Roman Leventov  wrote:

> To foster calmness, respect, and consideration of people's busy schedules I
> suggest the following etiquette:
>
> - When someone showed up in a PR and left some review comments, but didn't
> explicitly approved the PR, poke them with comments like "@username do you
> have more comments?" not sooner than in one week since they left the last
> review comment.
> - Poke people no more frequently than once per week.
> - If there are enough approvals, a PR could be merged not sooner than in
> two weeks since they left the last review comment.
> - If someone created a valuable PR but then stopped responding to review
> comments and there are conflicts or tests/CI don't pass, a PR could be
> recreated by another person not sooner than in three weeks since the
> author's last activity in the PR. Their authorship should be preserved by
> cherry-picking their commits, squashing them locally, rebasing on top of
> current upstream master, creating a new PR and choosing "Rebase and merge"
> option when merging the new PR instead of the default "Squash and merge".
>