Personal Thoughts on the Django Software Foundation Board's Future
Nominations are open for the 2023 DSF Board until November 4th. You can learn more about What the DSF Board actually does. The biggest question though, especially after DjangoCon US last week and many in-person discussions I’ve had there and after, is what the Board should be doing.
Django is unusual in that it is run by a 501c3 non-profit: the Django Software Foundation Board. There are annual elections and the 7 members are responsible for managing corporate/individual donations, paying the Fellows, sponsoring conferences, enforcing the Django trademark, and basically keeping the lights on. There is a whole long list of additional things the Board could–and at this point really should–be doing as well to continue in its mission to advance Django.
What follows is essentially my personal wish list of things the DSF Board could do in its next term.
Formal Mentorship Program
The number of Django technical contributors is small and in core areas like the ORM has decreased over time. In part this is because Django is intimidating to newcomers and also because as a mature framework there are fewer new areas for development. There is an unfortunate “negative bias” as Carlton Gibson mentioned in his DjangoCon US talk this year to most proposals since there is a 15 year history of ideas that have largely already been discussed.
Simon Charette did a good time of highlighting the decreasing ORM contributor base during his Deep Dive Keynote and discussed the need for a mentorship program. Django Fellow Mariusz Felisiak made the same point during the State of Django panel. And our other Django Fellow, Carlton Gibson, has been making the same point again and again.
Clearly our Fellows and existing core contributors need an assist. The current status is not sustainable as at some point our current contributors will either burn out, change jobs, or simply need a change.
A formal Mentorship Program sponsored by the DSF Board could help. We already have Google Summer of Code which is responsible for many new features and mentoring that brings developers into the community. We should provide a stipend to Django core developers in recognition of the added time–something they can either accept or donate elsewhere within the DSF if desired–and have an Opportunity Grant similar to what DjangoCons have so that individuals that need the funding can get it.
What would be the first step? I think confirming with several Django core developers they are up for it. I have verbal confirmation from many but it would need to be verified outside of the DjangoCon glow. And then a blog post calling out for individuals on the DjangoProject.com blog. And go from there. It’s doable. I think we should do it and it should be a top priority of the incoming Board for next year.
In the past, major code additions like Channels, Postgres support, even Django REST Framework relied on outside funding such as Kickstarters. There was a presumption that Django itself could not support code which the Python Software Foundation–and their lawyers–have deemed not to be true. So the DSF can sponsor code if we want. And the Django Technical Board could quite quickly create a list of 5-10 projects that require several months work by the right person. Among the ideas are bringing APIs/serialization into Django, something Andrew Godwin raised in his talk. And many other areas. At the moment we are restricted to Google Summer of Code and people who manage to find the time to push major new things.
This is holding us as a community back. A first step would be to formally ask the Django Technical Board for a list of projects. To then ask who might be able to do it. And sort out the funding, grants as needed. We can–and should–have more tools at our disposal than just Google Summer of Code for these things. The PSF gives out grants now; we should too.
The website is looking a little dated. Sarah Abderemane just added a dark mode option which is a welcome addition, however much more can be done. Paolo Melchiorre has helped improve search. And many others have made contributions recently. But there has yet to be a reskin and rethink of its overall structure.
A Django Working Group or even several months Docs Fellow might be what’s needed to push this ahead.
On a related note, we could/should have some Tutorials beyond Polls. Like “Hello, World”. Something with CRUD that is a bit simpler. And a deployment story so that major hosting providers could add a “deploy” button if they want. Eric Matthes is also working on the related django-simple-deploy package which might be a turnkey way to manage this.
Official Mailing List
Django has a communication problem. DSF Vice President Chaim Kirby made this point in his DjangoCon Europe talk this year. By design we have no analytics on the DjangoProject.com website nor way to track downloads beyond what PyPI provides. We know that millions of people and corporations use Django but have no effective way to reach them beyond the DjangoProject.com blog, Twitter, and lightly-used mailing lists. It is holding us back.
Jeff Triplett and I started the Django News newsletter in part to address this concern. But something official is quite possible. We could add an email form on the docs sidebar and see what happens. It would require someone–either on the DSF Board or a Working Group–to send a monthly email that simply repeats what is on the Django News blog to start. After a year we could evaluate and see where we are.
Over time the newsletter could expand if given proper attention. We could add Developer Spotlights that are either organic or a paid feature for a certain tier of Corporate Member. And so on. Communication about how Django actually functions is lacking and this seems, to me at least, an addressable way forward.
Django Core Sprints
Paolo Melchiorre raised this idea at DjangoCon US during the sprints. Over just the first day–several hours–we had at least 6 people make their first PRs to Django itself. Imagine what could happen if we had a dedicated 2-3 days do this once or twice a year for developers already involved with Django? He mentioned this had been done successfully in the past with Plone and other open source software. Sponsor a long weekend event somewhere, maybe one in Europe and one in the US, and see what can emerge.
I think it’s a fantastic idea and it’s something he’s working on presenting formally to the Board. I love things like this: a community member has an idea, gets feedback, and makes a proposal to the DSF Board. That’s what the Board should be doing: encouraging, supporting, approving things to help Django itself. But we can’t rely on Board Members to do all that on top of their monthly duties.
At the moment Django doesn’t do a lot for its Corporate Sponsors. They are listed on the fundraising page but that’s about it. We could do much, much more for them and easily so. Take a look at Vue.js’s recent redesign which has sponsors on the homepage and sidebar. Crucially there is a spot to “add your logo” which is an invitation for sponsors to become involved.
I don’t know if we want to add sponsors to our homepage though I do think having the logos of major companies that use Django there would help. But at a minimum we can improve some things as this open issue makes clear. It’s something Carlton Gibson and I are working on this fall/winter thanks in part to ideas raised by Eric Holscher on the Django Chat podcast. But such a thing could happen right now except that Carlton and I already wear multiple hats within the Django volunteer realm and so it’s not the top priority.
Whether it’s a Working Group, a Mentee, an Executive Director (see below), there are low-hanging fruits all over the place to improve the Django community that don’t happen because the few people involved already juggle too much.
We could easily, easily have an official self-managed jobs board. Check out what Write the Docs has right now. Use off-the-shelf software. Charge $300 or whatever for a posting. Make it prominent on DjangoProject.com. And both add funds to the DSF and make it easier for community members to find jobs. Just requires someone to configure and moderately manage.
I set up the Django Merchandise Store which currently makes a few thousand dollars a year for the DSF. It could do much, much more. Better designs and shirts. High quality hoodies. Stickers. I would love to attend a Django event where people are wearing Django merch instead of stuff from every other company and open-source framework out there.
What is required to make this so? Time/energy. Just like everywhere else.
Currently there are ~200 DSF Individual Members. All are actively involved with Django in various capacities but rarely to benefit the DSF itself in part because they aren’t asked to. We don’t have many Working Groups. We don’t have great communication beyond an occasionally-used mailing list. We could have a more automated system and different levels similar to the PSF. This requires time, energy, focus. It also means keeping Members as opposed to just regular users informed about what’s happening, where there are needs.
I also think that setting up Working Groups, similar to the PSF, is something we should do. It requires someone on the Board to manage but if we want the Board to push things forward we need to offload many of the discrete areas currently under its purview. To me, Merchandise, Jobs Board, Conference evaluation, and DjangoProject redesign all fall in this realm.
A now we come to the nuclear option: should Django have a paid Executive Director? I’ve listed only a couple of ideas here but there are so many more that could be done if not for more time. Why not have a Django representative at PyCon and other conferences? Why not more emphasis on Corporate Sponsors? Why not reach out to companies to sponsor the Fellows program for 2-3 years the way it has happened for Python and other open source projects? That would immediately free up the funds with our current modest budget for such a position since Fellows are 2/3 of our current funding needs.
At the moment, if a major corporate sponsor expresses interest they email the Foundation. Then it’s up to the Treasurer (me, currently) and the President (usually) to arrange a call. Which honestly blows up my week schedule-wise. Corporate sponsors say, We want to be more involved. What does a sponsorship of $? get us? And we can only say, a listing on the Fundraising page, an occasional Django Tweet, and that’s about it. There is no formal overlap with DjangoCons so we can’t say something like, Make one big donation to the DSF and you’ll get prominence on the DjangoProject.com site and at DjangoCon US/Europe. It would be waaaay easier for companies to justify this if we could. Also, once other companies see the benefit it will inspire more to come out of the woodwork.
What else could they do? Adam Fast provided me a list of other suggestions:
- Direct relationship with the PSF to share knowledge/tips/legal and accounting as needed
- Draft emails, social posts, etc promoting Django both on DjangoProject.com and elsewhere
- Attend other conferences to promote Django in an official capacity, make new partnerships
- Set up and execute sponsor agreements
- Help onboard new DjangoCon volunteers and help DEFNA and DjangoCon Europe organizers in general
- Assist with DjangoCon Opportunity Grants, CFPs
- Pursue new cities for future conferences by contacting user group or large-scale Django companies/agencies
- More engagement with DSF Members both code and not code
- Etc, etc, etc
Adding an Executive Director position is a big shift for Django and not something that should be done lightly. However making the wish list of what such a person could do would be a huge addition.
I wrote all this off the top of my head but there are lots more ideas in the community. I think all DSF Board Members should have a single issue they drive to make progress on each year beyond just keeping the lights on.
I hope others can add their thoughts at this Django Forum thread so there is some record of community feedback for next year’s Board.