Hi Anssi, On 05/09/2016 06:53 AM, Anssi Kääriäinen wrote: > I'm very much afraid we are in a situation where we have a documented > DEP process which isn't actually enforced, nor does it document what > we actually do. > > Python's PEP process is useful as the document evolves while the > design evolves. What we do with DEPs is different, we first design > something, then we document the design decision, often mostly because > DEPs are a required document. We don't get what we could from DEPs as > they are written too late.
I'm curious to hear more about this - could you give some example DEPs where this was a problem? In the case of the two DEPs I was most closely involved with (multiple template engines and rethinking middleware), I don't think this is an accurate description of what happened. Both those DEPs were written relatively early in the design process and evolved as we learned from discussion and implementation. They were done quite similarly to how the PEPs I've worked on were done. I'm also curious about your use of the word "enforced." I don't really see the DEP process as something that needs "enforcement" (and I'm curious where you see it as having been lacking in "enforcement"). IMO the only relevant "enforcement," really, is that the implementation of a DEP which is rejected by the technical board (has never happened yet) should not be merged. DEPs, like PEPs, aren't supposed to be a legalistic policy: there is no hard and fast rule about which features should have DEPs, and I don't think we need a hard and fast rule. DEPs should happen when someone observes that the discussion around a feature is getting quite complex or contentious, and suggests that a DEP would be helpful. DEPs should be a tool, not a barrier: a tool for helping to focus discussions on contentious issues, and record the perspectives expressed in those discussions, both for posterity and to help keep the discussion from going around in circles. > Could we try an approach where we *first* require a DEP, then have the > design discussion? In the PEP process, it's very typical to start into design discussions before realizing that the issue is contentious/complex enough to require a PEP, then someone collects the knowledge generated from that early discussion into a first draft PEP, which then receives further discussion. (In the Python world most of this pre-PEP discussion happens on the python-ideas mailing list, so if you aren't subscribed there you might not see it.) I think this thread is a great example of that working precisely the way it should work: first post some general thoughts, collect ideas and responses to those thoughts, then work that into a DEP with a specific proposal, followed by more detailed discussion of that specific proposal. Carl -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at https://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/573113D6.90503%40oddbird.net. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: OpenPGP digital signature