How Long Should We Be in Charge
A conversation with a Django Software Foundation (DSF) member led to the question:
"How long do you need to be in the community to benefit from it?" and the more relevant question:
"How long do leaders need to stick around before you're actively preventing progress?" - Me (Yeah, I said it!)
This isn't an attack on the "old guard"
I love my friends who were sitting in the Kansas Newspaper building creating what would become Django Core, Django-admin, and many other magic components that make Django the technical wonder used by trillion-dollar companies around the world (seriously, they should give them more money). I somehow find myself having dinner with many of these folks every year at DjangoCon US. These conversations (like at a Thanksgiving dinner) devolve into how the community and language (Python) is governed and what could/should be done better if our person was (or wasn't) in charge.
I'm guilty as well. In my time, I've mentioned that I would like to see both the DSF and Python Software Foundation (PSF) adopt:
- Regional leadership more akin to the United Nations' model
- More apprenticeship opportunities for folks who would like to become long-term contributors
- Contributions counting up to the issue reporting level
I was told that my ideas weren't necessarily bad and I should consider running for the board if I were serious about bringing some changes. Three failed elections later, I find myself implementing these and other ideas in Black Python Devs.
But I look at another DSF election and I'm happy to see some new faces (and some familiar ones).
I'm an insider looking in
Don't get me wrong. I talk about my friends as if I'm on the same level with them... I'm absolutely NOT. I've deployed perhaps no more than four Django apps to a public URL in my lifetime, which likely saw a combined 1,000 unique visitors and racked up over $10,000 in AWS bills. Every year (for the last three) I go to DjangoCon US and spend more time at the sponsors' booths and in the beginner-friendly talks than anywhere else. But lately, I've seen something happen.
Many recent conversations (some over pedicures) with some of Django's first governors talk about exhaustion and desire for change but a sense of need for sticking around. Those who have stepped away still think and speak about governance but do it more as advisors. Those who are still around feel as if they long to fill that role themselves, if only they could step away. My thought is that I think they can today, if they choose to.
Newcomers are hungry
Newcomers are doing things and making a huge impact. I don't mean Python newbies (though some would call themselves that), but new names that aren't synonymous with Django. People like Mario Munoz, who made his name in the Django community with the amazing opening salvo Why I didn't start with Django. Mario would go on to keynote DjangoCon US 2024. Folks like Kudzayi Bamhare, who went from deploying his first Django app to the web at DCUS 2024 to helping at a DjangoGirls Event at PyCon Zim in about two weeks. I also see many faces that came from the approximately two-year-old Djangonaut Space program that serves as a mentorship program to continue development in the Django community. I saw recent Djangonaut Space graduate Afi Gbadago get announced to the DSF Board.
We see the need for change over time
I'm not saying we immediately drop all the board members who came from its first days. I'm saying I keep hearing the same people say "I want new faces" and they continue to run for positions. Much of what I see happening in governance is addressing challenging situations. Many policies have been made to make the community space more inclusive, and some folks don't like those changes so they leave or are asked to leave.
These changes are coming because many at the top see the need for change. My fear is that they want to see the change happen their way, and they'll stick around until it happens or they find themselves not belonging (which I don't think would happen).
It's okay if we don't implement it your way
Python has changed how it has been managed and governed a few times now. Paul Everett mentioned in a recent podcast:
Python went into the commons, and the commons was able to administer it.
Guido's "permanent vacation from being BDFL" gave me (about four years into Python) some trepidation about the language's future. Too bad I didn't know Guido at the time. I also didn't read his words:
I'm not worried about the day-to-day decisions in the issue tracker or on GitHub. Very rarely I get asked for an opinion, and usually it's not actually important...
The decisions that most matter are probably:
- How are PEPs decided
- How are new core devs inducted
In the moment of stepping away, Guido was mostly concerned with how to continue bringing new people into the community.
In 2023, I interviewed Brett Cannon who had decided to step away from his steering council role. He mentioned stepping down after 5 years of serving on the steering council to match his initial consideration of a 5-year term limit to match the support cycle of a single version.
I'm going to step down and I'm going to guarantee there is an open seat... I want to make sure there is an opportunity to have some change.
He also mentioned that somehow Python's steering council had someone in their first year, second year, third year, fourth year, and he being in the fifth year was stepping down. This is an amazing coincidence and gives me confidence that some of our most seasoned folks can look to those who have been around for a couple of years to help grow the next batch of leaders.
How do we fix this?
Ultimately, I believe we continue to have more conversation around governance and leadership in public and loudly. It seems to be the only thing that my friends talk about but the conversations are always over dinner or in a 1:1 Discord call. At the Black Python Devs Leadership Summit, we were lucky to have the presence of two long-term DSF members, the founders of about three different organizations, one of the original creators of the PSF, and a current PSF employee. As many of Black Python Devs' young leadership corps was beginning to talk about burnout, they all suggested contingency plans. In fact, much of the advice given has been discussed and some major changes to governance will be seen in early 2025.
I mean this for me as well
I'm bringing this up around the DSF election and I've been referencing it mostly because I do think there is a problem with many of the Django community leaders being some of its founding fathers (that word specifically because they are almost all male or male-identifying). I write this looking at my own decisions as well. BPD has no term limits (again stay tuned for announcements at the end of the year). The executor role is a BDFL role. That said, my goal is to find my successor as soon as possible. Not so that hopefully in the next 5 years I can find myself in a similar situation as Guido: Very rarely I get asked for an opinion, and usually it's not actually important.
I don't think Python or Django is going away any time soon. But the landscape is varying and we're seeing many of the new leaders coming from different locations speaking different languages. I have no fear that we'll get to a position where Python will continue to set the example for every other language in its welcoming and enchanting community. My only fear is that it will take longer than it needed to because no one stepped down to make sure there is an opportunity to have some change.
Next day updates and acknowledgments
Thank you folks for the warm reception of this post. I did get some feedback that I want to address.
What is the overall point of this?
This isn't an attack on the DSF or a praise of the PSF or DSF's actions. In fact, I'm not speaking to any particular org or governance model. These are the largest communities that I have SOME (not a lot) visibility into their governance model.
The overall point of this is that I hear people say they want to step aside for others to come in. Fast-forward a few years, they are still there. I also see myself sadly moving in that direction so I hope my words will serve as a reminder that stepping aside IS OKAY and doing it earlier than you think you can is also fine.
Some talking points feeling ageist
I don't want to make it sound anything like "if you are at X age, then step aside." People come to Python from all walks of life at all ages. I also think there is some benefit from folks that have been leading in one place coming to share that expertise in other places. Cannon's words rang loudly as I read and re-read this: Making sure there is an opportunity for change. In my own world, I don't think I'm at that point but I'm looking for those who could come in and take my place as BPD's executor in the future. I want that future to be earlier than most people think (like in a few years). That replacement probably should be someone who knows how to set up a tech non-profit for longevity and sustained success. I actually hope my role decreases to the point that an executive director can come in without much disruption to day-to-day work. This is likely someone my senior with a long tenure of success in other ventures (but could be anyone - my desire is what's best for the community, even when the answer is not me).
Examples being specific or not as they seem
Yes... I'm not perfect or a journalist. My goal was to look at examples I could find of people stepping down on their own volition.
Guido stepped down but was still very involved with Python's organizational leadership for some time after. This was also after serving as BDFL for over two decades.
Cannon stepped down from the PSF Steering Council after 5 years on it and after 30 years of core development work. He's still very much involved in core development.
These examples are kind of the point. Stepping down, away, aside is different for everyone. Again not to belabor the point but my hope is that no one believes they can't step away from any somewhat stable org without it failing. There is nothing saying that stepping aside means you have to give up all your things (just some of them).