What it's like to be on the Python steering council

Someone emailed the steering council recently to ask what it was like to be on it, presumably because nominations will be opening next month. Instead of sending a private response I figured I would write a blog post instead so others could know what it's like after 10 months on the inaugural council.

What we do

Basically what we do is either reactive or proactive. I can't actually provide an estimate of where the balance lands because it very much depends on what comes up reactively.

Reactive

The reactive bit revolves around the council being the "higher power" for the Python development team to appeal to. That means we do things like discuss PEPs as we will ultimately be the ones who are asked to either name a BDFL-Delegate or rule on the PEP as a council (which is typically what happens if any one of us on the council is named the BDFL-Delegate; we are at that point acting as point person for the council on that PEP). We also get asked to deal with anything where a stalemate has been reached in a discussion and the status quo is not really an option. Lastly, there are some sensitive issues that do come up team-wise and we have to deal with those to varying degrees.

Proactive

When we are not reacting to something that is brought to our attention we try to do what we can to help keep the Python project running. In terms of PEPs that means we try to nudge any along that seem to have gone quiet for a period of time as well as shut down any early on if we think they have no chance of acceptance.

We also start projects on our own which we are in a unique position to help with. A good example of this is making sure the new PSF Code of Conduct would work for the Python development team and then making sure it applied to the development of Python. We've also thought of, worked out, and got the PSF to hire a project manager to help manage the sunsetting of Python 2 so that it wasn't just an abrupt shutdown come 2020. (We're also working on some other stuff but this post isn't about what we are doing so I'm going to cut the list short.)

How much time it takes

The time commitment to being on the council could be broken down to simply being on the council and then being an active Python development team member. For the former there's the weekly, hour-long meeting over video chat we hold as well as any preparation each of us need to do for that meeting. There's also any work to be done for the projects we have going on. All of that is probably about 3 hours each week.

But then there's being a participating member of the Python development team on top of it all. That means keeping up with python-committers/discuss.python.org, python-dev, and python-ideas to some extent. I would say that since the steering council is meant to be the backstop to the project it means you should have a wide understanding of what is going on overall in the project and with the overall community. That's its own time commitment and I don't really have a good handle on how much time that takes for me personally, but a wild guess is roughly 4 hours/week if I don't get pulled into some coding task or thread that leads to deep engagement.

So in total I would guess I spend about 7 - 8 hours/week on steering council + Python dev stuff, another 4 -8 hours for everything else Python-related that I do, e.g. my participation in the packaging side of things. (Massive thanks to Microsoft for giving me work time to do this stuff.)