Thanks @sarahboyce for routing me here. It was great reading through this topic and seeing that this is a situation that the Django community is both aware of and trying to address. It was also nice to see my own startapp
thread being cited as an example of the problem.
My perspective is maybe different from most of yours, in that I am by no means “old guard” or a significant contributor to django (like the fellows). However, I have been involved - sometimes in a leadership role - in many other open-source projects and communities. Here I’ll mostly wear the “new contributor to Django” hat, but colored by my experience with this situation in other communities.
For me, the most frustrating part of the experience was not the disagreement, or having my suggestions shot down by some of the old guard without clear reasons (though that was frustrating). The most frustrating part—which @Lily-Foote already articulated well and which think you are trying to solve with this thread—was that there was no clear process to having the decision made.
@carltongibson has pointed out that we don’t have many disagreements. That may be true, but we still need to have a way of addressing them when they do come up. Whether that is a benevolent dictator, a steering committee, a vote, or simply “if there is a disagreement, we close the conversation and don’t change anything”, the process has to exist so that it can be clear how to get to a resolution. You all, as the people more familiar with the culture and history of Django can decide what the process should be, but it’s not fair or good for newer contributors for there to be no process.
Ironically, deciding on the process will itself likely involve a lot of disagreement—or at least many ideas—and therefore require using the process! Depending on your outlook, this could either be the perfect opportunity to dogfood something, or it could be a death-spiral into the same limbo state as these other conversations…
Of the ideas floated on this thread, the one that resonates the most to me is the one proposed by @sarahboyce where these conversations are discussed and resolved by the steering committee (if that body exists?).
Finally, I would suggest that whatever ends up getting decided be documented clearly, and shared liberally with contributors new and old. For me, I knew it was going to be more important to know how the change would get decided than than the details of the change itself, but no one could give me a straight/satisfying answer on that. I think having that clarity will make for a clearer path for people who want to improve the framework.
Thank you all for your thoughtful dialog and efforts on this! I could add a lot more thoughts about my own opinions of how one might evaluate a particular change, but I worry that would lead to bike-shedding away from the core need (not unlike what happened on the urls/startapp thread).
-Cory