Themes from DjangoCon US 2024
27th September 2024
I just arrived home from a trip to Durham, North Carolina for DjangoCon US 2024. I’ve already written about my talk where I announced a new plugin system for Django; here are my notes on some of the other themes that resonated with me during the conference.
- Growing the Django Software Foundation (DSF)
- Could we fund a Django LTS accessibility audit?
- Django fellows continue to provide outstanding value
- Django needs feature champions
- htmx fits Django really well
- Django Ninja has positive buzz
- Valkey as a last-minute sponsor
- Durham has a world-class collection of tubas
Growing the Django Software Foundation (DSF)
Jacob Kaplan-Moss gave my favorite talk of the conference, asking what the Django Software Foundation could do if it quadrupled its annual income from $250,000 to $1 million dollars, and then mapping out a convincing path to get there.
I really liked this diagram Jacob provided summarizing the foundation’s current income and expenditures. It’s pretty cool that $90,000 of annual income comes from individual donors, over a third of the total since corporate donors provide $160,000.
Top priority would be hiring an Executive Director for the foundation, which is currently lead entirely by an elected, volunteer board. I’ve seen how useful a professional ED is from my own experiences on the Python Software Foundation board.
Having someone working full time on the foundation outside of our current fellows—who have more than enough on their plates already—would enable the foundation to both take on more ambitious goals and also raise more money with which to tackle them.
A line that Jacob used repeatedly in his talk about funding the foundation was this: if you or your organization wouldn’t want to sponsor Django, he’d love to know why that is—understanding those blockers right now is almost as valuable as receiving actual cash. You can reach out to him at jacob at djangoproject.com
.
Could we fund a Django LTS accessibility audit?
Django fellows and the Django Accessibility Team have been focusing significant effort on the accessibility of the Django admin. I found this very inspiring, and in combination with the talk of more funding for the foundation it put an idea in my head: what if every Django LTS release (once every two years) was backed by a full, professional accessibility audit, run by an agency staffed with developers who use screen readers?
Imagine how much impact it would have if the default Django admin interface had excellent, documented accessibility out of the box. It could improve things for hundreds of thousands of users, and set an excellent precedent for projects (and foundations) in the wider open source community.
This also feels to me like something that should be inherently attractive to sponsors. A lot of agencies use Django for government work, where accessibility is a requirement with teeth. Would one of those agencies like to be the “accessibility sponsor” for a major Django release?
Django fellows continue to provide outstanding value
The DSF’s fellowship program remains one of the most impactful initiatives I’ve seen anywhere for ensuring the ongoing sustainability of a community-driven open source project.
Both of the current fellows, Natalia Bidart and Sarah Boyce, were in attendance and gave talks. It was great getting to meet them in person.
If you’re not familiar with the program, the fellows are contractors who are paid by the DSF to keep the Django project ticking over—handling many of the somewhat less glamorous tasks of responsible open source maintenance such as ticket triage, release management, security fixes and code review.
The fellows program is in its tenth year, and is a key reason that Django continues to release new versions on a regular schedule despite having no single corporate parent with paid developers.
Unsurprisingly there is always more work than fellow capacity, hence Jacob’s desire to further expand the existing program.
The fellows program launched with a policy that fellows should not work on new feature development. I believe this was partly related to interpretation of IRS nonprofit guidelines which have since been reconsidered, and there is a growing consensus now that this policy should be dropped.
Django needs feature champions
Django has a well deserved reputation for stability, reliability and a dependable release process. It has less of a reputation for constantly turning out ground-breaking new features.
Long-time Django contributors who I talked to all had a similar position on this: the challenge here is that big new features need dedicated champions to both lead design and development on them and to push them through to completion.
The pool of community members who are both willing and able to take on these larger projects is currently too small.
There are a number of ways we could address this—most notably through investing financial resources in sponsoring feature development. This has worked well for Django in the past—Django’s migrations work was funded by a Kickstarter campaign back in 2013.
The Django Software Foundation will shortly be announcing details of elections for both the DSF board and the Django Steering Council. These are extremely influential positions for people who want to help solve some of these larger problems.
htmx fits Django really well
htmx is an incredibly good fit for the uncodified Django community philosophy of building for the web. It came up in multiple talks. It feels like it may be a solution that the Django community has been seeking for years, as a very compelling alternative to writing everything in SPA JavaScript and using Django purely as a backend via something like Django REST Framework.
I’ve been slightly resistant to embracing htmx myself purely because it’s such a critical dependency and in the past I wasn’t convinced of its staying power. It’s now mature, stable and widely-enough used that I’m ready to consider it for my own long-term projects.
Django Ninja has positive buzz
I haven’t paid much attention to Django Ninja but it had a lot of very positive buzz at the conference as well, as a tool for quickly building full-featured, performative API endpoints (thanks to Rust-backed Pydantic for serialization) with interactive API docs powered by OpenAPI.
I respect Django REST Framework a lot, but my personal programming style leans away from Class Based Views, which it uses quite a bit. Django Ninja looks like it might fit my function-view biases better.
I wrote about Richard Terry’s excellent nanodjango single-file Django application tool the other day—Django Ninja comes baked into that project as well.
Valkey as a last-minute sponsor
The three platinum sponsors for DjangoCon this year were REVSYS, Caktus Group and Valkey. Valkey were a late and somewhat surprising addition to the sponsorship lineup.
Valkey is the Linux Foundation backed fork of Redis, created in response to Redis ditching their Open Source license (which I took quite personally, having contributed my own free effort to promoting and improving Redis in the past).
Aside from expressing thanks to them, I usually don’t pay sponsors that much attention. For some reason this one hit differently—the fact that Valkey were ready to step in as a major sponsor despite being only a few months old has caused me to take that project a whole lot more seriously than I did before. I’ll certainly consider them next time I come across a Redis-shaped problem.
Durham has a world-class collection of tubas
My favorite category of Niche Museum is one that’s available by appointment only where the person who collected everything is available to show you around.
I always check Atlas Obscura any time I visit a new city, and this time I was delighted to learn about The Vincent and Ethel Simonetti Historic Tuba Collection!
I promoted it in the DjangoCon US #outings Slack channel and got together a group of five conference attendees for a visit on Thursday, shortly before my flight.
It was peak Niche Museum. I’ve posted photos and notes over on my Niche Museums website, the first new article there in quite a while.
More recent articles
- OpenAI DevDay: Let’s build developer tools, not digital God - 2nd October 2024
- OpenAI DevDay 2024 live blog - 1st October 2024
- Weeknotes: Three podcasts, two trips and a new plugin system - 30th September 2024