[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