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