[Dlang-internal] The Phantom Zone
Mike Franklin
slavo5150 at yahoo.com
Mon Jan 15 06:40:31 UTC 2018
On Monday, 15 January 2018 at 01:10:58 UTC, Walter Bright wrote:
> The issue that there are too many aged PRs on github that sit
> around for years comes up again and again. I've resisted just
> closing them, because closing them is tantamount to termination
> with prejudice:
>
> https://en.wikipedia.org/wiki/Termination_of_employment#Rehire_following_termination
>
> and the PR is never seen again. This is squandering our
> resources.
In general, I agree.
> A PR may remain open, but is not pulled, for several reasons:
> 1. it needs work, but the author has left the field
If the PR has potential, we should invest in it; not close it. I
and others have done this recently by adopting PRs and
shepherding them through the process. IMO this has been quite
successful.
> 2. it's a good idea whose time has not yet come
In this case, I suggest documenting the idea in Bugzilla with a
link to the PR, then close the PR. I believe the PR will still
remain in GitHub's history so it can be revisited when its time
comes.
> 3. it's a good idea, but a not good enough implementation, but
> the PR still contains valuable insight, details, and test cases
> that would be useful for a more acceptable implementation
In this case, we should be investing in the contributor. Help
the contributor get it right. Not only will we get a better
contribution out of the process, but we'll have gained a better
contributor that could potentially become a profitable asset.
> 4. it's large and complex and nobody has been willing to expend
> the effort to do a proper review.
Help the contributor break it up.
* Give them advice on how they can make it easier to review.
* Create a roadmap of reviewable steps that the contributor can
follow to see the implementation through to completion, and
reviewers can refer to to understand what role each submission
plays in the larger goal.
> But github has a feature we can use for this. We tag these PRs
> with "Phantom Zone" and then close them.
>
I need to think about this some more, but at the moment, the idea
doesn't appeal to me.
I would like for us, before we submit a new contribution, look at
the existing contributions and ask "Is it possible for me to
invest in one those existing contributions before submitting a
new one?".
Sometimes, however, a new contribution is exactly what the
existing PRs need. For example fixing this bug
(https://issues.dlang.org/show_bug.cgi?id=18191) would help me
revive https://github.com/dlang/dmd/pull/7388 Iain recently
mentioned on slack that he has a couple more like this that are
currently in the PR queue.
But, you get the idea: We should be doing more to remove
obstacles for others before adding more work to the queue.
All that being said, we also need to remove obstacles that are
preventing a PR from being closed. If a PR is just not a good
idea, or the investment to get the implementation into shape
would be too great, we should do our best to close it quickly and
diplomatically, so it doesn't compete for resources with more
high-value contributions. This might include:
1. Politely rejecting the idea with justification
2. Suggesting a potential alternative
3. Thoroughly documenting the idea in Bugzilla and suggesting it
be revisited at a later time
4. etc...
Mike
More information about the Dlang-internal
mailing list