The DIP Process
Jonathan Marler
johnnymarler at gmail.com
Wed Mar 6 19:54:23 UTC 2019
On Wednesday, 6 March 2019 at 18:40:57 UTC, Mike Parker wrote:
> 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.
I don't think you're giving the proper weight to the amount of
time and effort that it takes to go through the DIP process.
We're not just talking the time it takes to write the DIP readme
file. There's the time it takes for everyone that is involved to
read it, think about it, discuss it on the forums, research it,
create test cases, look at code to see how to implemented it,
etc. Alot of time and effort goes into a DIP that isn't shown in
the final readme document, and it takes that time away from many
people, not just the author and manager of the DIP.
> 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.
If Walter and Andrei say a DIP has 0% chance of being approved,
then we've just saved alot of people alot of time, argument and
potentially hurt feelings. Walter and Andrei aren't required to
give a final ruling at this time, but it would be great if they
could give feedback like:
"I'm not sure about this feature, we'll need some good
rational and examples to be convinced."
"I really want this feature in D in some form, let's do some
good research to make sure there are no nasty corner cases and
that we get a very good implementation".
"I don't see any path for this particular feature to be
accepted."
I think W&A can tell the difference between a poorly written DIP
and a poor idea. If a DIP is poorly written they can say "I
think there's a good idea here but the DIP is poorly written".
> 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.
You're talking like W&A are children who rush to judgement and
can't keep an open mind. I don't think this is the case, and if
it is, we got bigger problems on our hands :) I think they are
capable of giving reasonable feedback without unnecessarily
rushing to judgment.
>
> 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?
>
It's all in the way the response is worded. If they're not sure
about the idea yet and are waiting for more research from the
community then they can indicate that.
"Not sure whether or not this feature would be good for D at
this time. Would like to see some more rational/research from the
community on this one."
> 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?
Should they reject the DIP now? It depends on what they think of
it. If they know it will never be accepted then yes. If not,
then why would they reject it?
Should they suggest their own improvements? Of course, why not?
If they still end up rejecting the DIP that's a much better
process than if they left no feedback at all during the whole
process, and now the DIP will contain more relevant points that
matter rather than focusing on things that don't since it wasn't
given any guidance.
>
> 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.
Increasing acceptance is most certainly 100% NOT the goal. I
don't remember anyone saying that. The goal is to leverage the
community to vet new features for D. Our suggestions help with
that goal by
1) directing people's efforts towards fruitful endeavors rather
than wasting time on pointless ones
2) maintaining a positive community by showing we value people's
time by taking our own time to leave feedback and give direction
>
> 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.
I keep hearing these rules and justifications like
A long process also means that people aren't going to submit
DIPs willy nilly
It's true that people are detured from things if they take
longer, but that's not justification to implement such a rule.
They would also be detured if they had to hand out their social
security number and perform a double-backflip on the trampoline
before they could submit a DIP :) Instead, we should let the
process evolve naturally and only intervene with rules when
problems occur, and even then, creating a new rule should be a
last resort since it's very hard to write a rule that is good in
all cases.
>
> 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.
Though I see your reasoning I think you can see from my responses
that I very much disagree with your conclusion. What we're
saying is, at the very minimum, there should not be a rule to
exclude Walter and Andrei till the end. You provided one example
where them leaving feedback early on would cause a DIP to fail.
This is exactly what we want. We don't want to waste people's
time if Walter and Andrei already know they're going to reject
the DIP. In the case where they don't know whether or not it
will succeed, then you're example doesn't apply since Walter and
Andrei wouldn't leave feedback indicating the DIP is Dead on
Arrival.
As to whether Walter and Andrei should be required to leave
feedback, I would argue "yes" but I know that's a more radical
change to the current process. However, I strongly believe they
shouldn't be pushed out of the process until the end. Each DIP
will be unique, let each one be handled in the proper way. If
W&A think a DIP is viable and want to wait for community feedback
and revision that's fine. If they have suggestions/guidance for
it, even better. If they know it's a waste of time, then I
recommend they say something and point the author towards better
endeavors.
More information about the Digitalmars-d
mailing list