Package maintainers working group
This group supports package maintainers in the Django ecosystem.
Now ready for public feedback. And we need more group members for this viable, including a Chair and Co-Chair :) If anyone’s interested please review and comment here!
For anyone reviewing this, here are relevant discussion threads this proposal is based on:
Additionally this is based on my experience of community-driven package maintenance with @wagtail and @wagtail-nest, plans to create a Wagtail packaging team, and discussions about Django Commons with @tim-schilling. Thank you Tim for the early feedback!
I think there could be a lot of value in developing best practices in managing orgs and ci. I've been a package maintainer in a number of ecosystems over the years and the platforms are constantly changing. Lessons are constantly being learned. One I've recently ran into on GH actions and a large org I participate in is limits on parallel jobs at an organization level creating back pressure in the build queue that sometimes leads to waiting for hours or days for a job to run. I'm sure the org maintainers could reach out to GH to get those limits increased. Ultimately though that is at the CI providers discretion or comes with the payment of $. I think there is a lot to explore to find a good balance between central control and scale of an organization and OSS platform offering limits and building guidelines around that based on what works with input from a large group of packagers would be nice.
I'll try to have more detailed feedback at some point, but one initial suggestion jumps out: I would love for this group's charter to explicitly include making recommendations to the DSF Board about how it might spend money/time/resources supporting the package ecosystem. For me, one of the best outcomes would be a tangible list of projects the DSF could embark on or support that could help improve the ecosystem.
I didn't know this was a thing until @tim-schilling just told me about it. Since I'm a Django Packages maintainer, I would like to be along for the ride, even if it's more from a position of learning so we can adjust how we score/rank packages.
This forum post was opened today and would be relevant to this WG if this PR is resolved and voted on in a timely manner:
https://forum.djangoproject.com/t/be-aware-python-packaging-governance-discussion/38756
Hey all, what is left needed to proceed with this PR?
Also, I'd like to express my interest for being a member and I have some time that I already reserved for open source projects - I can try to help if any leg work is required.
I am also interested. Is all we need to move forward a chair? I can't in good conscience commit to that by myself at the moment, but if there was someone willing to split the burden as a co-chair it becomes much more plausible for me.
From my experience of getting #23 merged, the lack of chair/co-chair definitely an issue and requires someone to step up. As well as getting a few other members. Second to this would be to take ownership of this PR and decide what to do with with the comments made and get the document in a state ready that the board could discuss it one meeting, then vote on it the next (assuming no issues)
Do we have a clear understanding of the chair/co-chair's responsibilities? I saw a similar question asked here but we don't have an answer yet.
My current understanding of responsibilities is based on the group's mission and other WGs' past actions. I know that numerous volunteer contributors in the community have a much deeper and broader understanding of package maintenance. Still, having the time and energy is vital, and I'm currently willing to allocate them. I can also help as co-chair if there is anyone else who is better suited for the chair position.
It seems like the biggest challenge to work groups functioning is the availability and time of people to do the logistical work. Yes, a they should understand how to create a python package and the various steps of maintaining it, but they don't need to be the experts on it.
In regards to technical good practices and this working group defining them... A person should be able to rely on the community for support. If you craft well scoped questions about package maintenance, it should be possible to get the community to align on what are good practices. From there, it becomes evaluating a few different approaches, documenting what the decision factors were. I suspect most experienced engineers would be capable of that. Also, it serves as a good reason to set up calls with various people who maintain lots of packages or have done an excellent job of maintaining packages. I'm sure they'd be willing to meet with another community member for the community's sake.
@ulgens and @bckohan, I think it's fair to assume that this WG is up for grabs. If you two are interested in collaborating to lead on it, I'd suggest setting up some time for both of you to discuss your intentions, availability and next steps. If you find you're in alignment, it sounds like we may have our co-chairs :grin:
We discussed this during our weekly DSF office hours, and we might need a few champions (volunteer chair, co-chair, etc) to take this to the finish line.
I think @thibaudcolas mentioned he had a lot on his plate and didn't want to be a blocker. Is it possible to close this PR or commit it in a draft folder/state so others can pick it up and continue the work?
I'm not sure if that's a better solution since there are limits to how many people can work off of a branch/private fork.
Yes! It’s very much up for grabs! Discussing this with @jefftriplett, we’re going to try merging the proposal to a new draft/ folder to make it easier for others to pick up. Personally I’m very keen for Django to have this kind of packaging team, and have read everyone’s feedback over the months (❤️), but I won’t have any capacity to push this further until February 2026 at the earliest.
@ulgens @bckohan if you want to take this on please go ahead with making a new PR! Feel free to either make it as updates to the newly-merged doc in draft, or set up a fully separate PR, reusing my draft as much as you see fit.
I’ve done one quick update with everyone’s feedback to date, will make sure to reply to comments to explain the changes.
I’ve replied to all the comments, and will leave this there now :) Please reach out on Slack / Discord / Django forum / email if you have any questions, I’m still very much interested in packaging and actively work in this space, just don’t have capacity for more working groups.
Do we have a clear understanding of the chair/co-chair's responsibilities?
This is for the group’s charter to define! For now I’ve added the following:
The Chair, Co-Chair and Board Liaison manage the membership of the group. The Chair and Co-Chair animate the group’s activities. The Board Liaison relays information between the group and the Django Software Foundation Board.