The New DIP Process

Mike Parker aldacron at gmail.com
Wed Feb 28 03:28:01 UTC 2024


After discussion in a recent meeting, we're ready now to start 
accepting DIPs for review. And that means it's time to announce 
the new process.

The main goal of the new process is to reduce the amount of 
"process". The rules of the prior system were intended to create 
a moderately high barrier of entry in order to discourage 
frivolous proposals. In practice, they created an extremely high 
barrier of entry that also discouraged serious proposals, 
frustrated several DIP authors who went through the process, 
created too much of a time sink for everyone involved, and did 
not allow for early indication of the chances that an author's 
time and effort would result in a favorable outcome.

The new system simplifies the process by putting most of the 
control in the hands of DIP authors. Some key points:

* Feedback begins with the initial DIP idea.
* The predefined review rounds are gone.
* Multiple DIPs can be under review at the same time.
* The DIP author decides when a draft is ready to submit for 
assessment.

Most of the process takes place in two new forums: DIP Ideas and 
DIP Development (dip.idea and dip.development on the NNTP 
server). The purpose of the Ideas forum is to determine if 
developing the DIP is feasible. The purpose of the Development 
forum is to strengthen proposals in development.

The process works as follows.

* A potential DIP author (or someone looking for an author) posts 
a description of the idea in the DIP Ideas forum for community 
discussion and feedback. Periodically, I'll make sure Walter and 
Atila are aware of the new idea posts so they can provide their 
initial thoughts. This should give a potential author a good 
sense of the DIPs chances, e.g., great idea, go for it; maybe, 
give it a go if you'd like; no way, no how. Based on this 
feedback, the potential author can decide whether to proceed with 
development.
* When an author does proceed, then once the initial draft is 
ready, they should make a new post in the DIP Development forum 
with a link to the draft for community feedback. They should 
address feedback as necessary by revising the DIP or explaining 
why they disagree. The author should expect to allow two or three 
weeks for feedback just to give stakeholders enough time to 
process it and formulate an opinion, particularly if they want 
feedback from Walter and Atila at this stage.
* After at least two or three weeks of feedback, the author can 
contact me when the revised draft is ready. If the extent of 
revision is significant, I'll ask the author to make a new DIP 
Development thread for feedback on the new draft. Otherwise, I'll 
ask the author to submit a PR to the DIP repository.
* When the PR is submitted, I'll merge it, assign a DIP number, 
edit as necessary, and email Walter and Atila for assessment. 
They'll have two weeks to review it (though depending on 
circumstances, we can extend that as necessary). As before, 
they'll accept it, reject it, or ask for modifications.

I want to emphasize that though any DIP that makes it to 
assessment in this new process should theoretically have a strong 
chance of acceptance, there can never be a guarantee. For 
example, Walter or Atila or someone else may uncover a major 
overlooked flaw before the decision is made. Or an author may 
have proceeded with a DIP that Walter and/or Atila expressed 
skepticism toward at some point in the Ideas or Development forum 
and the DIP failed to convince.

The key point is that we want the author to know before the first 
draft whether the DIP has a strong, weak, or near-zero chance, 
and during development whether they're generally going in the 
right direction, but no one can offer a 100% guarantee.

All potential DIP authors should read the DIP Authoring Process 
doc here:

https://github.com/dlang/DIPs/blob/master/docs/process-authoring.md

Once the development is underway, the author should also read the 
Authoring Guidelines:

https://github.com/dlang/DIPs/blob/master/docs/guidelines-authors.md

I should note that while we still want the language of the final 
draft to be semi-formal to formal, it's not something the author 
needs to be overly concerned about during development. Once the 
PR is submitted, I'll clean up the language as much as necessary 
and check with the author to ensure I've not changed the meaning 
of anything. The guidelines describe some simple things the 
author can keep in mind during development, but getting the 
details right is the primary concern at that stage.

Finally, I want to make it clear that the new forums will be 
heavily and strictly moderated. We want focused, on-topic 
discussion there. On the web interface, each forum will have a 
banner at the top of the page that includes a link to the forum 
guidelines:

https://github.com/dlang/DIPs/blob/master/docs/guidelines-forums.md

With the publication of this announcement, Vladimir will deploy 
the new forums when he's ready to do so. At that point, the DIP 
Ideas forum will be open for business.

It is generally a requirement that a DIP idea be submitted to the 
Ideas forum first. I will delete any new thread in the 
Development forum for a draft DIP that was not first discussed in 
the Ideas forum. However, I will make exceptions if an author 
contacts me first with an explanation of why they want to skip 
the Ideas stage and makes it clear they understand what they're 
giving up.

We'll give this new process some time to see how flows. We can 
tweak it as we need to over time to work out any kinks.


More information about the Digitalmars-d-announce mailing list