I'm a bit torn here because I can see the pros and cons for both sides.

Maybe a compromise could be to not have a closing but a monitoring bot
which notifies us about inactive PRs. This could then trigger an
investigation of the underlying problem and ultimately lead to a conscious
decision to close or keep the PR open. As such it is not strictly necessary
to have such a bot but it would at least remind us to make a decision about
older PRs with no activity.

Cheers,
Till

On Tue, May 15, 2018 at 3:26 PM, Chesnay Schepler <ches...@apache.org>
wrote:

> /So far I did it twice for older PRs. In both cases I didn’t get any
> response and I even forgot in which PRs I had asked this question, so now I
> can not even close them :S/
>
> To be honest this sounds more like an issue with how your organize your
> work. No amount of closing PRs can fix that.
> With GitBox we can assign reviewers to a PR, but I'm not sure whether it
> only allows committers to assign people.
> Bookmarks or text files might help as well./
> /
>
> /Regarding only 30% blocked on contributor. I wonder what would be this
> number if we tried to ask in the rest of old PRs “Hey, are you still
> interested in reviewing/merging this?”.  If old PR is waiting for a
> reviewer for X months, it doesn’t mean that’s not abandoned. Even if it
> doesn’t, reducing our overhead by those 30% of the PRs is something./
>
> No doubt the number would be higher if we were to go back, but as i
> explained earlier that is not a reason to close it. If a PR is abandoned
> because we messed up we should still /try /to get it in.
>
> /This is kind of whole point of what I was proposing. If the PR author is
> still there, and can respond/bump/interrupt the closing timeout, that’s
> great. Gives us even more sense of urgency to review it./
>
> Unfortunately knowing that it is more urgent is irrelevant, as we
> currently don't have the manpower to review them. Reviving them now would
> serve no purpose. The alternative is to wait until more people become
> active reviewers.
>
> /As a last resort, closing PR after timeout is not the end of the world.
> It always can be reopened./
>
> Let's be realistic here, it will not be reopened.
>
>
> On 15.05.2018 14:21, Piotr Nowojski wrote:
>
>> I agree that we have other, even more important, problems with reviewing
>> PR and community, but that shouldn’t block us from trying to clean up
>> things a little bit and minimise the effort needed for reviewing PRs. Now
>> before reviewing/picking older PRs I had to ask this “Hey, are you still
>> interested in merging this?” manually and wait for the response. If it
>> doesn’t come, I have to remember to go back and close PR, which I of course
>> forget to do. Bah, so far I did it twice for older PRs. In both cases I
>> didn’t get any response and I even forgot in which PRs I had asked this
>> question, so now I can not even close them :S Wasted effort and wasted time
>> on context switching for me and for everyone else that will have to scroll
>> pass or look on those PR to check their status.
>>
>> Keep in mind that I am not proposing to close the PR automatically
>> straight on after 3 months of inactivity. Only after asking a question
>> whether original contributor is still there and he is interested in the PR
>> to be reviewed.
>>
>> for Flink 1.5, I merged a contribution from PR #1990 after it was
>>> requested a few times by users.
>>>
>> This is kind of whole point of what I was proposing. If the PR author is
>> still there, and can respond/bump/interrupt the closing timeout, that’s
>> great. Gives us even more sense of urgency to review it. On the other hand
>> if there is no response (no interest from the author for whatever the
>> reasons) and nobody so far has picked this PR to review/merge, what’s the
>> point of keeping such PR open? As a last resort, closing PR after timeout
>> is not the end of the world. It always can be reopened.
>>
>> Regarding only 30% blocked on contributor. I wonder what would be this
>> number if we tried to ask in the rest of old PRs “Hey, are you still
>> interested in reviewing/merging this?”. If old PR is waiting for a reviewer
>> for X months, it doesn’t mean that’s not abandoned. Even if it doesn’t,
>> reducing our overhead by those 30% of the PRs is something.
>>
>> Piotrek
>>
>> On 15 May 2018, at 10:10, Fabian Hueske <fhue...@gmail.com> wrote:
>>>
>>> I'm with Chesnay on this issue.
>>> Stale PRs, i.e., a PR where a contributor becomes inactive, are one of
>>> our
>>> smallest issues, IMO.
>>>
>>> There are more reasons for the high number of PRs.
>>> * Lack of timely reviews.
>>> * Not eagerly closing PRs that have no or very little chance of being
>>> merged. Common reasons are
>>>   1) lack of interest in the feature by committers,
>>>   2) too extensive changes and hence time consuming reviews, or
>>>   3) bad quality.
>>>
>>> For 1), there are lots of older JIRA issues, that have low priority but
>>> which are picked up by contributors. In the contribution guidelines we
>>> ask
>>> contributors to let us know when they want to work on an issue. So far
>>> our
>>> attitude has been, yes sure go ahead. I've seen very little attempts of
>>> warning somebody to work on issues that won't be easily merged.
>>> Once a PR has been opened, we should also be honest and let contributors
>>> know that it has no chance or might take a while to get reviewed.
>>> For 2) this is typically not so much of an issue if the feature is
>>> interesting. However, if 1) and 2) meet, chances to get a change in drop
>>> even more.
>>>
>>> A common "strategy" to deal with PRs that fall into 1), 2), or 3) is to
>>> not
>>> look at them or giving a shallow review.
>>> Of course, contributors become unresponsive if we don't look at their PRs
>>> for weeks or months. But that's not their fault.
>>> Instead, I think we should be honest and communicate the chances of a PR
>>> more clearly.
>>>
>>> Browsing over the list of open PRs, I feel that most older PRs fall into
>>> the category of low-priority (or even unwanted) features.
>>> Bug fixes or features that the committers care about usually make it into
>>> the code base.
>>> In case a contributor becomes inactive, committers often take over an
>>> push
>>> a contribution over the line.
>>>
>>> So, I do not support an auto-close mechanism.
>>> I think a better way to address the issue is better communication, more
>>> eagerly closing PRs with no chance, and putting more reviewing effort.
>>> IMO, we should only eagerly close PRs that have no chance of being
>>> merged.
>>> PRs with low-prio features might be picked up later (for Flink 1.5, I
>>> merged a contribution from PR #1990 after it was requested a few times by
>>> users).
>>>
>>> However, I think we could do a pass over the oldest PRs and check if we
>>> can
>>> close a bunch.
>>> There are quite a few contributions (many for flink-ml) that I don't see
>>> a
>>> chance for getting merged.
>>>
>>> Best, Fabian
>>>
>>>
>>> -
>>>
>>> 2018-05-15 9:13 GMT+02:00 Chesnay Schepler <ches...@apache.org>:
>>>
>>> -1
>>>>
>>>> For clarification (since the original mail indicates otherwise), the
>>>> number of pull requests that this would affect is fairly small.
>>>> Only about 25-30% of all open PRs are blocked on the contributor, the
>>>> remaining ones are actually blocked on the review.
>>>> Thus is reject the premise that one has to search through that many PRs
>>>> to
>>>> find something to review, there is plenty.
>>>>
>>>> I believe it to be highly unfair for us to close PRs due to inactivity,
>>>> when the primary cause has been /our /own inactivity.
>>>> If a PR is opened and the first comment comes in 3 months late, then I
>>>> don't blame the contributor for not responding.
>>>> IMO we owe it to the contributor to evaluate their PR, and if necessary
>>>> bring it to a merge-able state (to a certain extend).
>>>>
>>>> There's also the fact that closing these PRs outright would waste a lot
>>>> of
>>>> good contributions.
>>>>
>>>> Finally, this solution is overkill for what we want to achieve. If we
>>>> want
>>>> to make it easier to find PRs to review all we need is
>>>> GitBox integration and tagging or PRs. That's it. We could have a /fully
>>>> /tagged PR list /tomorrow/, if we really wanted to.
>>>>
>>>>
>>>> On 15.05.2018 05:10, Ted Yu wrote:
>>>>
>>>> bq. this pull request requires a review, please simply write any
>>>>> comment.
>>>>>
>>>>> Shouldn't the wording of such comment be known before hand ?
>>>>>
>>>>> Otherwise pull request waiting for committers' review may be
>>>>> mis-classified.
>>>>>
>>>>> Cheers
>>>>>
>>>>> On Mon, May 14, 2018 at 7:59 PM, blues zheng <kisim...@163.com> wrote:
>>>>>
>>>>> +1 for the proposal.
>>>>>
>>>>>>
>>>>>> Best,
>>>>>> blues
>>>>>> On 05/14/2018 20:58, Ufuk Celebi wrote:
>>>>>> Hey Piotr,
>>>>>>
>>>>>> thanks for bringing this up. I really like this proposal and also saw
>>>>>> it work successfully at other projects. So +1 from my side.
>>>>>>
>>>>>> - I like the approach with a notification one week before
>>>>>> automatically closing the PR
>>>>>> - I think a bot will the best option as these kinds of things are
>>>>>> usually followed enthusiastically in the beginning but eventually
>>>>>> loose traction
>>>>>>
>>>>>> We can enable better integration with GitHub by using ASF GitBox
>>>>>> (https://gitbox.apache.org/setup/) but we should discuss that in a
>>>>>> separate thread.
>>>>>>
>>>>>> – Ufuk
>>>>>>
>>>>>> On Mon, May 14, 2018 at 12:04 PM, Piotr Nowojski
>>>>>> <pi...@data-artisans.com> wrote:
>>>>>>
>>>>>> Hey,
>>>>>>>
>>>>>>> We have lots of open pull requests and quite some of them are
>>>>>>>
>>>>>>> stale/abandoned/inactive. Often such old PRs are impossible to merge
>>>>>> due
>>>>>> to
>>>>>> conflicts and it’s easier to just abandon and rewrite them. Especially
>>>>>> there are some PRs which original contributor created long time ago,
>>>>>> someone else wrote some comments/review and… that’s about it. Original
>>>>>> contributor never shown up again to respond to the comments.
>>>>>> Regardless
>>>>>> of
>>>>>> the reason such PRs are clogging the GitHub, making it difficult to
>>>>>> keep
>>>>>> track of things and making it almost impossible to find a little bit
>>>>>> old
>>>>>> (for example 3+ months) PRs that are still valid and waiting for
>>>>>> reviews.
>>>>>> To do something like that, one would have to dig through tens or
>>>>>> hundreds
>>>>>> of abandoned PRs.
>>>>>>
>>>>>> What I would like to propose is to agree on some inactivity dead line,
>>>>>>>
>>>>>>> lets say 3 months. After crossing such deadline, PRs should be
>>>>>> marked/commented as “stale”, with information like:
>>>>>>
>>>>>> “This pull request has been marked as stale due to 3 months of
>>>>>>>
>>>>>>> inactivity. It will be closed in 1 week if no further activity
>>>>>> occurs. If
>>>>>> you think that’s incorrect or this pull request requires a review,
>>>>>> please
>>>>>> simply write any comment.”
>>>>>>
>>>>>> Either we could just agree on such policy and enforce it manually
>>>>>>> (maybe
>>>>>>>
>>>>>>> with some simple tooling, like a simple script to list inactive PRs -
>>>>>> seems
>>>>>> like couple of lines in python by using PyGithub) or we could think
>>>>>> about
>>>>>> automating this action. There are some bots that do exactly this (like
>>>>>> this
>>>>>> one: https://github.com/probot/stale <https://github.com/probot/stale
>>>>>> >
>>>>>> ),
>>>>>> but probably they would need to be adopted to limitations of our
>>>>>> Apache
>>>>>> repository (we can not add labels and we can not close the PRs via
>>>>>> GitHub).
>>>>>>
>>>>>> What do you think about it?
>>>>>>>
>>>>>>> Piotrek
>>>>>>>
>>>>>>>
>>>>
>>
>

Reply via email to