Django Commons - A home for community-maintained Django packages

Over the past few months, I’ve been building out Django Commons. It’s a GitHub organization dedicated to supporting community-maintained third-party Django packages.

What it will do from the start

From a high level, Django Commons will do:

  • Provide a home for community-maintained packages
  • Manage teams and permissions for contributors, maintainers and administrators of each package
  • Have multiple organization administrators
  • Automate actions as much as possible

What it could grow to in the future

In the future, I’d love to see it do some or all of:

  • Identify and announce packages needing help
  • Normalize and support maintainers stepping back
  • Support and encourage new contributors to step up
  • Provide best practices for package maintainers
  • Compensate maintainers

Current status

I feel like the GitHub organization has the tooling in place to accept packages. There are GitHub actions for accepting new members and on-boarding a repository. There are playbooks written for the common actions administrators will need to take. Finally, the membership repository contains several issue templates to help organize administrator requests.

What Django Commons needs

The part is missing is “Have multiple organization administrators.” The organization needs to have redundancy from the start. Arguably, this is the most important facet for Django Commons.

Having multiple administrators makes the role more sustainable, lessens the impact of a person stepping away, and shortens response time for administrator requests. It’s important to me that the organization starts with multiple administrators so that collaboration and documentation are at the forefront of all decisions.

The qualifications I’m looking for in collaborators are:

  • Is a DSF Member
  • Has trust from members of the community
  • Has some packaging experience (I don’t think it has to be a lot)
  • Is willing to write GitHub actions
  • Wants to help grow the organization

This will not be a permanent position. In my ideal vision, the administrators will rotate regularly. I’m not sure of the time requirements currently. It depends on how things progress.

Want to help with Django Commons?

If you’re interested in helping, please fill out the “New admin” form on the membership repo.

If you have questions, don’t hesitate to reach out to me. You can find me on the Fediverse, Django Discord server or via email.

Comparisons to Jazzband

If this project sounds similar to Jazzband, that’s because it is. One difference is that Django Commons leans into GitHub for the organization’s management and releases rather than having an outside project. The other difference is that Django Commons will start with multiple administrators from the start.

Jazzband has been great for the Django and Python communities for years. The concern with the organization has been the number of Roadies1. Recently, that bottleneck has caused some frustrations with community members trying to move packages around234.

Before starting on this project, I reached out to Jazzband to see how I could help remove barriers to adding Roadies and again before sharing this post. Jazzband has shown that there’s a path for community-maintained projects. I hope that Django Commons will help further that mission, improving the sustainability of the community.

Edited 2024-05-23:

Jannis posted a message in light of this post here. Thank you Jannis!