We’re not really using the DEP process very much. In fact, I’ve talked to quite a few contributors who have been actively avoiding it. This I think is leading to us being somewhat “shy” about bigger changes to Django, and also leading to situations where things that really shuold have been a DEP just sorta go in without much process. So far this hasn’t bitten us, but it will.
In cleaning up DEP 1, I read back over it top to bottom, for really the first time since we wrote it in 2014. A decade on, I think there are some changes we could make to streamline things, and hopefully make the process easier to engage with.
Eventually I’ll write an “Update DEP 1” DEP, and get into the weeds, but ahead of that I’d like to have a more broad-ranging brainstorm thread where we talk about what we could change.
I’ll go first; here are the changes that are on my mind:
- Streamline the “getting to a draft DEP” process – see django/deps#28. Basically, we should just allow a draft DEP to be created as a PR as Step 1, without requiring the pre-DEP steps.
- Document a DEP update process. Right now there’s no explicit process for updating DEPs. I think we should clarify that we can update DEPs with a PR rather than a whole new DEP (with a vote/discussion as needed see below)
- Allow Markdown as a DEP format
- Explicitly move discussion on DEPs to this forum (@carltongibson informs a previous SC made this call but it’s niot written down…)
- Clarify the decision-making process. We used to discuss major feature changes among the core team, but that team no longer exists! This means there’s an unclear step between “write DEP” and “SC votes”. I’d like to see more of a role for community discussion explicitly outlined. There are a few ways this could go, ranging from a discussion period to even formal community votes, etc. I suspect this’ll be one of the harder things to hash out but it feels worth it.
That’s my list; what would others like to see out of an updated DEP process?