How we make decisions in Django
2025-04-24 , Main hall

Django is an inclusive community. We seek to invite contributions, and aim for consensus in our decision making. As the project has grown — and as with all large open source projects — that's led to difficulties, as even simple proposals get drawn out into long discussions that suck time, energy, and enthusiasm from all. It's time we refreshed our approach. We're going to look at how we got here, what we need to maintain, and how we can move forwards towards a better process.


There's been much concern about how's Django's decision making process is no longer working. New feature requests often hit a wall, as an endless discussion thread arises for even the smallest proposal. New contributors are frustrated. Established contributors are exhausted. It's not serving anyone.

What were our goals, our values? What were we trying to achieve?
So, how is it that we've ended up here? What exactly is it that happens, and why?
We'll look at the difference in perspective between the Maintainer and the (particularly new) Contributor.
We'll look at the types of contribution there are, and present a model for thinking about the contributions which potentially lead into the long-grass. Feature Requests are the main issue here.
Finally, we'll look at an idea for how Django might handle feature suggestions, in order to make our contribution process more accessible. We're looking at how we can keep Django moving as it continues to grow.

Disclaimer: All views are my own, and are at best a starting point for discussion. They do not represent an official Django position, whatever one of those might be.


Topics

Community, Productivity, Django Internals, Teamwork, DSF

Audience Level

Intermediate

Former Django Fellow, Django Security Team member, and member of the 6.x Steering Council. I've been a longtime Django user, and help to maintain a number of key packages in the ecosystem. I also co-host the Django Chat podcast 🎙️