The DIP Process

Mike Parker aldacron at gmail.com
Wed Mar 6 18:40:57 UTC 2019


On Wednesday, 6 March 2019 at 15:48:12 UTC, FeepingCreature wrote:


> highly dedicated, enthusiastic and ascetic developers who can 
> work for months to years in radio silence

> if I worked on a feature for a year
>

> a few lines of feedback can invalidate months of work

I keep seeing variations of this "months of effort" claim. 
There's simply no such thing. It's more like "months of waiting".

The effort on a DIP is front-loaded. The majority of it goes into 
getting the initial draft ready for the Draft Review stage. Some 
DIPs receive more feedback than others in Draft Review, but even 
those that have long discussions tend to get them out of the way 
early on, with a little more feedback trickling in now and again 
while the author waits for me to move the DIP to the next round, 
but very little revision after the initial couple of weeks or so.

When I do initiate the next phase, I do a couple of editing 
passes to get the grammar and the language in decent shape and 
then we do the Community Review. Some DIPs require revision 
subsequent to the review, some do not. But if there are any, they 
are relatively minor. Then there's more waiting until the Final 
Review. Usually, there are no subsequent revisions here. Then the 
DIP goes to Walter and Andrei.

I'm not trying to minimize the amount of effort involved. Some 
DIPs do require more work than others. But let's not exaggerate 
the scale -- the lion's share of the effort is up front. The rest 
of the time is spent waiting.

As for Walter and Andrei's feedback, I've thought about this 
quite a bit lately and I really don't think it reasonable to 
require it up front. Imagine they flat out tell a DIP author in 
Draft Review that the DIP has zero chance of being approved. The 
DIP author closes the PR and then we'll never know. Because there 
was no Community Review, the community lost the opportunity to 
debate and improve the DIP. There is no chance to change Walter 
or Andrei's mind. And yes, they have approved a DIP before that 
they expected to reject.

If, on the other hand, Walter and Andrei provide editorial 
feedback to strengthen the DIP, this will easily lead to the 
impression that they are likely to approve it. How does the DIP 
author feel, then, when they get to the end and it's rejected?

What if we wait and instead ask them for feedback during the 
Community Review? Now they can see the debate, see the 
improvements. So... should they reject a bad DIP now? Should they 
suggest their own improvements? Again, what if they do suggest 
improvements and then reject the DIP in the end? At this point, 
why bother with the Final Review or Formal Assessment at all?

I appreciate the sentiment behind the suggestions throughout this 
thread. The goal is to increase the likelihood of acceptance 
while giving an early out to DIPs that won't be accepted. I agree 
we can do more of the former, but not the latter.

The DIP process is long, but it absolutely should be. And anyone 
going into it needs to understand that up front and that they 
might not agree with the end result. But again, the majority of 
the effort goes into the initial draft, so having a long process 
does not add a significant burden of effort on the DIP author. It 
may test the author's patience, but that's something else 
entirely.

A long process also means that people aren't going to submit DIPs 
willy nilly. There needs to be a substantial amount of thought 
that goes into one, so the bar should be high. The stages of 
review are there so that the community can put their collective 
deliberation into it and try to persuade the author to 
change/fix/enhance the DIP in one way or another. This isn't 
always going to produce a DIP that's up to standard, but that 
doesn't mean rejection. Walter and Andrei have accepted DIPs 
conditionally and sent them back to the author for modification 
before, and they likely will again.

So the TL;DR from me is, Walter and Andrei should not be involved 
in the process until the end. As I suggested before, however, we 
could absolutely use a couple of people at the beginning who have 
the background needed to nudge a DIP toward the standard of 
technical soundness Walter and Andrei are looking for.

My focus is on grammar, vocabulary, that sort of thing. Given a 
couple of people who have received instruction from Walter and 
Andrei and with whom I can consult to ensure the DIP is hitting 
all the right notes at different stages of the review, we can 
produce higher quality DIPs and hopefully make the process more 
efficient.






More information about the Digitalmars-d mailing list