I everyone, I'm T-Bo, my pronouns are he, him, and just want to start by saying thank
you to my partner who is looking after our kids while I get to be here.
So thank you Deborah.
I couldn't be here if you were to do this for me.
And yeah, we had to talk about Django, are really happy to be here.
I've changed the plan for my talk quite a bit because in December of last year I became
the president of the Django software foundation.
So I thought I might as well use the platform and talk about generally how we do decision
making for Django and the DSF things that work, things that don't, we'll talk about
the exhibits, but yeah, just so you're aware.
Slides are live right now, you're very welcome to go in there, at comments right now if you
feel like it's just follow along.
And yeah, it's very experimental, I'm using Google Docs for slides, so see how it goes.
Django.
How many people here at No Django?
Yeah, quite a few, but you know Python these days is gigantic, definitely lots don't.
The web framework for virtualists with deadlines, that's our tagline.
You might not know that Django turns 20 years old in 2025.
It's been around for a while and for such a big and early project, it's really cool that
it's a project that's very community run and run by a non-profits foundation since 2008.
They were very early in doing this in that kind of style.
Other projects from the same era, then to be still my more cooperates.
And yeah, no PDF else since 2014, one of the things we definitely struggle with is decision-making
is kind of more community-driven, consensus-driven way.
And yeah, it's a big project, my estimation is we have on the order of 500,000 to a million
Django projects are there that I live in production and on the order of half a million to two million
developers are there that use Django.
And it's full stack, by the reason included, by the reason included, has no RM, has routine.
I know some of those bits as a coder, definitely not all of them.
If you've not tried Django yet, there's free things I want to plug, Django girls tutorial.
The Django girls, plus tutorial, the recently renamed, it's an amazing resource.
So happy that we have them.
Right there is what I do as a day job, it's a CMS built on Django.
It's not just me, it's a big company behind it and lots of contributors in other companies as well.
More opinions than the Django.
And our conference coming up in Dublin this year, where I will celebrate that 20 years perfectly.
Some of my history, I'm definitely a dev first and foremost.
I've been in the country to Django for quite a while and the whole, you know,
presidency thing governance thing that's quite early for me.
I'm only doing this for this year, so definitely that's one of the challenges.
In my mind, front and center is contributors turnover over time.
And people like me who step in for a year or two, and then they might not have the capacity
necessarily to keep up.
But yeah, that's me, that's the history, that's Django.
And I thought I'd give a started thinking about, you know, keeping Django relevant on why people
come to Django to start with as contributors, not as users, as contributors first of all.
And for me, in my mind, it's a matter of making an impact with the work you do.
So this is the kind of question that I tend to encourage people to ask themselves,
why do you contribute, what kind of impacts are you hoping to have?
And this chart here won't go into the details.
My job is accessibility first and foremost, and when I see this chart, when I see Django,
having a lower score than next, I guess, it's just not acceptable.
And the only correct answer is a perfect score.
And you know, becoming driven, it's hard for us to have the resources to beat those better frameworks.
But that's why we here, that's why I'm talking to you, so you make them.
So yeah, accessibility, I'm hoping way to improve, that's why I got involved to start with
more graphs. I'll skip right over this one, it's not so useful.
And yeah, more recently, I guess it's worth mentioning at the scale of Django.
I don't know how many people here will have seen this chart before.
The climate impact of technology, we have to think about long and hard.
Yeah, I'll keep this brief, but definitely if you think of 500,000 websites or projects with APIs,
that's 500,000 servers, that's tens of millions, maybe billions of users out there
are using Django websites that load them in their browser, that takes lots of energy.
So any improvement we can make to the carbon footprint of Django projects that adds up really fast.
The NHS in UK uses Django, they have like on the other of a billion page views per year.
So yeah, just that's why I'm here, don't have to agree with that.
That's just sharing context on how this came to be.
And yeah, so from a governance standpoint, I also like, again, like stepping through the roles,
the contributors ladder, to think of what keeps the community healthy and encourage us to consider
those challenges we might be having. I don't know here, like how long people have been Django
notes for, definitely there are some people that love it, have loved it forever, and are very
happy with it. And I talk about the existential threats to Django a bit, I definitely want to
make clear, Django is going to stick around forever. It's so big of a project, it has so much
momentum in Russia that it's not a concern whether Django will be there tomorrow or not.
It's just so stable, and that's one of the reasons why people go for it.
But it does still mean we have to worry about longer term, how it can keep it evolving,
and not just rely on this in Russia, but whether it's accessibility and the carbon footprint,
whether it's diversity of contributors or users that we're heading in direct direction.
So yeah, how do you know whether you're heading in direct direction? Well, in my mind,
best place to start is to compare your projects with other projects. This right here is the
best way I found to compare any two tech projects out there. This is the ranking of those projects
websites in a specific data set called Tranko. Basically, if the line goes down, it means the
project is getting more and more popular. So walk around the bits. This very bottom is very
safe tools that will never disappear. Django is the big black line right there. Right here,
we have flask. Again, very popular Python tool. That is, I don't know how you feel about flask.
I don't know it too well myself. It's definitely going to stick around forever. And right there,
we have first API. I don't have much data for those, so that's why I just added the two points.
And yeah, lots of JS frameworks going like, because they have way more marketing resources
than the rest of us. And also, folks like HTML, blue line in the top right corner, definitely
getting adoption pricey fast. So that's the type of trends I think we should all learn to look at
as community minded open source people to understand why options are out there. What are the
people outside this room in a wider pool of 2 million developers considering as far as tech?
And what do they like? Basically, I want to steal all the good ideas from all those different frameworks.
And yeah, I think we're seeing this tells us those tools are being used. This tells us Django,
people use it. Doesn't tell us that people actually like Django, which, you know, are kind of like
for that to still be the case, too. So here we turn to the Stack Overflow developer survey that
has really solid numbers on developer sentiment towards framework year over year. And it's a big
table, I guess the sad news is numbers aren't looking so good for Django. So that's definitely why I'm
here is making it clear that it's not all rosy. And we need to take a good hard look at this type of
data and think of maybe not just how we evolve Django technically, but how we market it as well.
So people evaluate for the good bits and help us address the bits that need improvement. So I guess
here in particular, the wants to start using line people who wants to start using Django,
definitely getting lower. But it's not, it's not necessarily also bad. So I think something
I want to make clear is this survey only tracks a group of like 10, 20 frameworks. So quite
naturally as new frameworks come about, they won't be in the survey and people will start using them.
So this kind of downwards trend that we've so before is there for all frameworks.
If we look at year over year numbers, so essentially whether usage is increasing or decreasing,
the figures aren't so bad. And I guess this restaurant in particular, people who want to
stop using Django, it's only ever gone down. So that does mean that the people who start using Django
take the time to learn such a big framework, appreciate it. So talking about DX, maybe some of the
more modern aspects of the Python ecosystem aren't their yet in Django, but the people who take
the time to invest into it, they like the long-term maintenance, they like the repeatable releases,
they like knowing that for example, we have multiple maintenance, quite a bit of fluency.
It's not driven by a solo person. Yeah, just again to harm your viewpoint home. So as a
chart, what I want you to focus on here is the fact that the adoption in blue, that isn't growing so
much. Here is compared to again compared to the other frameworks in that data set. So Django still
definitely is growing by virtue of the Python ecosystem growing. But what that means is we're not
finding this theory as many new people as we might like. People like Django or if people keep using
it, but I'd like us to look a bit further forward than this. And yeah, let's look at the trends
in the Python world. I'm sure you know them already, but definitely useful in my mind to be aware
that there is lots of data on this stuff. We don't have to guess. And the big trend is data science,
and I guess the popularity of web frameworks among people who do data science or maybe AI
with Python. Well, this is a tough one to read. So I'll talk to the numbers. So we're looking at
two bar charts per framework. The white one is popularity of the frameworks with people who are
in a data science space. And the brown yellow one is what developments. And what's really interesting
to me here is to see how many data science people are using those web frameworks. But how big
the gap is in numbers of people using Django that are in the data science space and web developments.
So to me right here, there's an opportunity for Django, maybe by changing which API as it has,
by changing its marketing simply speaking to be popular with that crowd. Again, I don't want
to make it sound like you have to use Django as the best thing for everything. But I do think
that whether it's flask or Django or fast API, it's useful for those frameworks to be aware
of the trends and to adjust their documentation or their features accordingly. And again,
just to be clear, fast API flask to definitely the right to hold a job in lots of scenarios. So
not saying that it's one or the other. And we have to last to learn from those frameworks.
So just looking at this data a bit more again, we see the trend looking at survey results
year over year, where there is some growth in usage for some frameworks. But definitely I like
us to reflect on what those trends are driven by basically. And this survey comes from JetBrains.
JetBrains are amazing supporters of the Python community. You know, they have their ID,
they have good lots of good reasons to do this. But they still don't let show up and sponsor the
foundation and make things happen. And they even packed this forest where they say the jump in
popularity for fast API. They put it on performance, developer economics, so dx and type hinting.
And that seems quite on the money to me. So definitely something so where I know that's the
DSF as far taken on decision making, which traveled a bit in making about mind and having a good
story around this. And I don't necessarily think that Django is bad at those things, but I definitely
think we need to make it clear what our vision is for those things. And yeah, just, you know,
iterates, be open about our struggles and make those gradual improvements that people appreciate
in the rest of the Python ecosystem. It's amazing that Python is evolving, I want Django to follow
along. And so yeah, again, existential threats, small challenges really, because Django is not going
anywhere. People love the stability and it's right and tested. I thought I'd look at some
internet comments on what people think of Django. I find it amazing that people take the time to
share their thoughts on the framework that definitely helps us to the community grow and I want
to encourage more of that. I'll read some bits of this that I think are really relevant. So
the like and the pace of evolution is definitely something where I think we have to have a good answer.
And this person, they've been replied to by someone else who says, no big corporations,
we've tons of money back in Django. I don't know who knows how much versatile the makers of
next JS have in venture capital funding. It's 150 million. So the DSF, our yearly budget,
is $25,000 and 95% of that goes towards paying people full-time to maintain Django. So the
marketing budget at the DSF is $5,000. So yeah, so we need people and we need to be
better at fundraising as well as definitely an argument there and we need a better story.
And yes, at this last point, why don't you have to use private packages to create a rest
API in 2023? Definitely a concern with our Django package ecosystem, whether it's too fragmented or
not and which batteries should be in core. And again, I want to make it clear, like if all
need a rest API, maybe you don't need a full stack, such feature, full framework. Maybe you're
very happy with other ones, but I definitely want people who are happy with Django to be able
to take it in more use cases. Not for me to say as the president, but you know, I want to
help the framework grow whichever direction. So yeah, more opinions on the on the internet.
I'll focus on this bit that I haven't highlighted. It's not very exciting to be a Django developer
today. I mean, I love the JS ecosystem and I love JavaScript, but if you want excitement,
like for sure, you know, going for React upgrades year over year, switching from Redux to MobX to Zustand,
like you can have lots of excitement over there. And we're not about that, that's for sure.
There are definitely trends. I hope we we integrate in Django, but yeah,
excitement definitely, like that's not our ethos. But again, I want to make it clear, like this
type of feedback in my mind, amazing for us. And I want, I want this kind of criticism.
Yeah, so it's not all doom and gloom. I have linked to those past if you want to make time to
look at what people have to say. I've left the technical aspects of our Django hard type
hints. Should Django have a built in API story. Should Django have a single file,
options. Should Django have better docs. In my mind, all those things sound great,
but definitely the right people to make those calls in our given as model. They are our steering
counsel. It's a group that's we've struggled with maintaining over the years. We have new steering
counsel members as of a few weeks ago. One of them, MRIs in this room. Thank you for being here,
MR. And I hope that they help us as a community figure out which of the technical challenges
to address and make it happen with our community competitors. So yeah, the challenges and in my
mind, which things we need to be changing are encouraging more diverse contributions,
definitely a framework that's 20 years old. You don't improvise keeping people around for that
long. Even keeping people around for a year or two is hard. So 20, there's just no way. You have to
have a plan for how you unlock people into the projects and retention. So keeping them. So just a
quick shout out here to the Django Note space program. They're an amazing program. Just like Django
Girls Plus that have to find new people that want to take on this type of tech work with Django
and their focus on contributors to the framework in particular. And yeah, so governance definitely
long-term technological direction by volunteers working in the open. That is a lot to ask
out of volunteers. And when we compare ourselves with other frameworks, we have to keep in mind
all the engineering resources they have, not just the marketing. And how much of that is in the
background where it's much easier for them to fight over things, still be friends,
whereas for us it's all public. And yeah, it's challenging. And yeah, I guess the last one here
as far as governance is having a clearer vision for the future of Django. So right now we have a
vision as particularly for what Django is at this point in time. I don't think necessarily have one
for how we want it to evolve. And maybe that's what takes it from 20 years old to 40. And so yeah,
opportunities, the vision I just mentioned, having a roadmap for Django,
this document right there is my experiments from a year ago before I was president and also
before I was a bald member. And I definitely think that's such a great win for Django. If we
could have a public, okay, here is for the next release. Five to two coming out in a few weeks.
Here is what we had plans, here is what we delivered. Definitely tested out if you haven't yet.
For the release after 6.0, here is what we have planned and so on. Not necessarily for our
users, but also for the contributors to a line on the changes that need to happen. And yeah,
having more professional foundation, again, like, I do this kind of stuff for a living for
wacktale, wacktale is a much smaller project with much fewer contributors to coordinates.
Django is on the other of the thousand contributors per year. I'll let you imagine, like, I don't
even, I can't even know them all by name. And yeah, those thousand contributors,
that's representing maybe 10,000 people engaged in going to conferences, 100,000 to a million
devs are there that are using good day today. So finding better ways to engage with those people,
again, in my mind, essential. I don't want to learn just from those other frameworks and trends.
I'm not learned from what people in those kinds of rooms talk about and value. And yeah,
we have about five minutes for questions. I believe. I'll be right outside these
doors to talk about Django for the rest of the afternoon. Thank you for having me.
Do you have any questions?
Yes, thank you. You have mentioned the ecosystem of part packages, which some people believe
are necessary to turn Django into a usable web API. It's very planning a short medium term to
try to maybe reach out with people, collaborate with them to see if some features can be
put into very bad project or is it not the direction which is considered right now?
Yeah, yeah, great question. There is definitely a plan with in touch with as many package
materials as we can. And we've been in touch with those people that, you know, the DRF's and the
Ninja's of the world for want to say almost years now. The problem with phase is that, again,
like the DSF is quite a small entity, it's not super sustainable for us to move things as big as
packages in core. So we have to think very carefully of keeping our cost of maintenance,
low enough that is sustainable while bringing this innovation. So in the case of those APIs,
to me, again, as a technical distributor, not as the president, the answer would be,
making sure we review the story from a developers perspective, looking for those options
in deciding, and maybe it's just a matter of listing the top five of those packages in
that specific space in our docks rather than people having to go and hunt for them.