# Steering Council continuity guarantees

**URL:** <https://discuss.python.org/t/steering-council-continuity-guarantees/26225>\
**Category:** Core Development\
**Created:** [April 26, 2023, 5:05pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225 "2023-04-26T17:05:42Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![itamaro](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/itamaro/32/20137_2.png) [@itamaro](https://discuss.python.org/u/itamaro)\
**Post date:** [April 26, 2023, 5:05pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/1 "2023-04-26T17:05:42Z")

</div>

Hello!

PEP-13 defines the steering council as a 5-person committee, where each member is elected in the annual elections for one term of one year.  
It seems we were “lucky” so far to have continuity of some members every year, thanks to some members getting re-elected – this seems to me like a desired property of the Steering Council, but nothing in the process guarantees this will always be the case.

**I’d like to propose a change to PEP-13 that codifies “Continuity”.**

That’s the main proposal and discussion item.  
If there’s agreement about “continuity” being a desirable property, we can discuss the specific mechanism - but that’s implementation details.

For clarity, I define “continuity” here as: “There will never be a case where out of the 5 Steering Council members, 0 have served on the previous term”.

One example mechanism to add this property to PEP-13: use overlapping terms, where a term is 2 years, and each year only 2 or 3 SC seats are up for election.

---

<div class="post-metadata">

**Author:** ![rhettinger](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/rhettinger/32/1129_2.png) [@rhettinger](https://discuss.python.org/u/rhettinger)\
**Post date:** [April 26, 2023, 6:09pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/2 "2023-04-26T18:09:55Z")

</div>

> [@itamaro](#):
>
> If there’s agreement about “continuity” being a desirable property,

I do not agree. We have no lack of bench strength among highly experienced core developers.

Our goal really should be the opposite and we should make sure that more people have the opportunity to run for the Steering Council.

When new SC members are voted in, the previous incumbents don’t just disappear. They will be still be around to consult and advise. They only lose their vote, not their ability to participate. Guido isn’t on the SC but we are still able to take advantage of his insights.

---

<div class="post-metadata">

**Author:** ![pganssle](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/pganssle/32/245_2.png) [@pganssle](https://discuss.python.org/u/pganssle)\
**Post date:** [April 26, 2023, 6:58pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/3 "2023-04-26T18:58:59Z")

</div>

A priori I think it doesn’t seem necessary to do this (either practically because it’s not especially likely to happen outside of weird circumstances where you probably want to let the turnover happen anyway).

That said, is this a concern that SC members have expressed? I would be much more in favor of doing something about this if many SC members feel that continuity of membership has been important for their work.

---

<div class="post-metadata">

**Author:** ![thomas](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/thomas/32/5492_2.png) [@thomas](https://discuss.python.org/u/thomas)\
**Post date:** [April 26, 2023, 9:49pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/4 "2023-04-26T21:49:58Z")

</div>

> [@pganssle](#):
>
> if many SC members feel that continuity of membership has been important for their work

I think it has been important, yes, especially since we no longer have Ewa acting as the SC’s secretary (which she did by her own choice, and enjoyed, but we aren’t willing to force anyone else to do.) I’m in favour of overlapping terms, and considering how often sitting members are re-elected I don’t think it will negatively impact the diversity on the board. Quite the contrary: I expect that the fact we’re not replacing the whole board makes people more inclined to not vote for the returning/obvious candidates.

However, as I’m on the SC that may seem like a self-serving observation.

---

<div class="post-metadata">

**Author:** ![AlexWaygood](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/alexwaygood/32/4722_2.png) [@AlexWaygood](https://discuss.python.org/u/AlexWaygood)\
**Post date:** [April 26, 2023, 10:08pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/5 "2023-04-26T22:08:43Z")

</div>

I like the idea of overlapping terms, but a 2-year term seems too long for a voluntary, unpaid position. I worry that that’s a big commitment to ask of people, and that we’d struggle to find people who want to serve on the SC.

---

<div class="post-metadata">

**Author:** ![gpshead](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/gpshead/32/54_2.png) [@gpshead](https://discuss.python.org/u/gpshead)\
**Post date:** [April 27, 2023, 1:35am UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/6 "2023-04-27T01:35:50Z")

</div>

My own take on this is that the concern is mostly theoretical. I figured we might never get around to changing the process until after we test a full membership swap in production after a presumed unusual election result and see how it goes. The chances of that happening feel low, but that’s probably because people’s desire for some continuity means they always vote for at least one existing SC member every year.

Thomas’s observation that the existing setup does impact the way people vote feels spot on. That lines up with why I suggested people be strategic in who they vote for in my past candidate statement instead of just voting for a large number of candidates.

As a practical matter, after the election, the old SC and new SC have met as one to conduct a hand off and leave suggestions from the old to the incoming SC. Which the new SC is free to ignore, but as a practical matter, unlikely to.

---

<div class="post-metadata">

**Author:** ![willingc](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/willingc/32/20_2.png) [@willingc](https://discuss.python.org/u/willingc)\
**Post date:** [April 27, 2023, 1:39am UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/7 "2023-04-27T01:39:57Z")

</div>

> [@thomas](#):
>
> I’m in favour of overlapping terms, and considering how often sitting members are re-elected I don’t think it will negatively impact the diversity on the board.

I’m not sure that I agree about diversity. A one year commitment is much more likely to attract someone than a 2 year term. In a larger board like the PSF, I think it has less impact. For a 5 person steering council and a smaller group of folks that would potentially serve, I think that the change might negatively impact women.

Continuity is important. Keep good docs (agendas, minutes) in the repo are IMHO more useful for continuity than term length.

---

<div class="post-metadata">

**Author:** ![willingc](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/willingc/32/20_2.png) [@willingc](https://discuss.python.org/u/willingc)\
**Post date:** [April 27, 2023, 1:46am UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/8 "2023-04-27T01:46:37Z")

</div>

> [@itamaro](#):
>
> For clarity, I define “continuity” here as: “There will never be a case where out of the 5 Steering Council members, 0 have served on the previous term”.

Thanks @itamaro for the suggestion. Thanks for defining continuity. While it is possible that the 5 Steering Council members could turn over in one year, I believe that is not necessarily a bad thing since it would likely be a reflection of how the outgoing council was functioning. I think in general that situation would be the exception and not the norm.

Annual handoff meetings between outgoing and incoming members have been helpful as has the brief onboarding guide that exists.

---

<div class="post-metadata">

**Author:** ![encukou](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/encukou/32/2461_2.png) [@encukou](https://discuss.python.org/u/encukou)\
**Post date:** [April 27, 2023, 11:41am UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/9 "2023-04-27T11:41:45Z")

</div>

> [@pganssle](#):
>
> That said, is this a concern that SC members have expressed? I would be much more in favor of doing something about this if many SC members feel that continuity of membership has been important for their work.

At least some do, but the SC is very wary of influencing governance.

IMO, continuity is a desirable property. Documenting things is definitely important, but in reality it unfortunately competes wit the other duties SC members have. Annual handoff meetings are useful, but they’re a far cry from the weekly ones.

> [@willingc](#):
>
> While it is possible that the 5 Steering Council members could turn over in one year, I believe that is not necessarily a bad thing since it would likely be a reflection of how the outgoing council was functioning. I think in general that situation would be the exception and not the norm.

It could also happen if there are many great candidates. Myself, as a voter I _want_ a mix of experienced SC members and “new blood” – but in the current system, I don’t know how to vote for that.  
And it’s the same for any other aspect of diversity. If I know the continuing members are all the same in some respect, it’s easy to vote for someone different.

* * *

There should be no shame in serving only for one year. Or for announcing it up front. Or for resigning in general, for that matter.

---

<div class="post-metadata">

**Author:** ![willingc](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/willingc/32/20_2.png) [@willingc](https://discuss.python.org/u/willingc)\
**Post date:** [April 27, 2023, 2:11pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/10 "2023-04-27T14:11:34Z")

</div>

> [@encukou](#):
>
> Myself, as a voter I _want_ a mix of experienced SC members and “new blood” – but in the current system, I don’t know how to vote for that.

I want a mix of experienced and new members as well. Would you please explain a bit more about your comment re: current system and way to vote? I’m trying to understand your perspective on that.

---

<div class="post-metadata">

**Author:** ![thomas](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/thomas/32/5492_2.png) [@thomas](https://discuss.python.org/u/thomas)\
**Post date:** [April 27, 2023, 5:03pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/11 "2023-04-27T17:03:55Z")

</div>

> [@willingc](#):
>
> I want a mix of experienced and new members as well. Would you please explain a bit more about your comment re: current system and way to vote? I’m trying to understand your perspective on that.

I can’t speak for Petr, but what I meant with overlapping terms improving diversity in _voting_ (rather than candidates) is that right now, I’m reluctant to vote for _just_ the people I _think_ would do great on the SC, without also voting for the ones I _know_ will be great. Because we use approval voting, the known-good people are more likely to get more votes. (This has been discussed extensively before, but approval voting isn’t that good for selecting diverse voices for (at least) that reason.)

If we use two overlapping terms, I can look at the SC members not up for re-election, see that there are two or three known-good members there, and decide to vote on _just_ the ‘risky’, ‘different’, ‘outside’ candidates.

I do agree that a longer commitment impacts diversity of _candidates_, but I think it’s outweighed by the diversity in _voting_, and considering the stability we (at least I) would _like_ from the SC, I don’t think a 2-year (soft) commitment is entirely unreasonable. (We currently ask for a 3-year commitment from Board members, and a ~7 year commitment from release managers, after all.) As Petr said, there’s also no problem in stepping down after a year, or even saying so up front.

Another aspect of overlapping terms is that it can make it easier to decide to _not_ run for ‘obvious’ candidates. I am currently one of the most senior members of the PSF Board (which 3 overlapping 3-year terms for its 11 members), and my term is up this year. I decided not to rerun for the Board and make room for someone else, and that decision was a lot easier because I know who 2/3rds of the Board will be regardless of which Board members do rerun or get elected. I don’t know what I would have decided otherwise.

I also agree that we should document everything and figure out fixed procedures for ~everything the SC does (which we’ve been doing), but even with all that, in my experience it’s been very valuable to have SC members to provide the context missing from notes, or the unwritten reasons for particular choices, etc.

(There are other ways we can try to address the diversity of votes, like using a form of Single Transferable Vote, like the OSI has started using for its Board elections. That is, however, a _much_ bigger topic, and I don’t think overlapping terms precludes that discussion.)

---

<div class="post-metadata">

**Author:** ![itamaro](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/itamaro/32/20137_2.png) [@itamaro](https://discuss.python.org/u/itamaro)\
**Post date:** [April 27, 2023, 5:27pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/12 "2023-04-27T17:27:50Z")

</div>

I agree that “having the entire SC rotate” is, so far, a theoretical problem, considering it never happened.  
As others pointed out, the existing set up might bias voters towards preferring existing members (this is not backed by data, only intuition and comments by others).  
@willingc makes a good point about longer terms working against candidate diversity, and personally I would prefer candidate diversity over voter diversity if we must choose. I wonder if there’s a way to get both.

---

<div class="post-metadata">

**Author:** ![Mariatta](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/mariatta/32/30581_2.png) [@Mariatta](https://discuss.python.org/u/Mariatta)\
**Post date:** [April 27, 2023, 5:56pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/13 "2023-04-27T17:56:05Z")

</div>

I think you did not clarify what is the “problem” you’re trying to solve. If the problem is that you’re worried that new SC may not know what to do without previous SC’s guidance, it seems more of a problem of lack of documentation, lack of mentorship, instead of lack of previous SC being there themselves.

Guiding, and mentoring new SC can be done without the person being on the SC.

Docs can be written without the person being on the SC.

Re: diversity issues, these can be alleviated without saying “at least 1 person must be a certain category” which I would see as “tokenizing”

---

<div class="post-metadata">

**Author:** ![itamaro](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/itamaro/32/20137_2.png) [@itamaro](https://discuss.python.org/u/itamaro)\
**Post date:** [April 27, 2023, 7:06pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/14 "2023-04-27T19:06:16Z")

</div>

> [@Mariatta](#):
>
> I think you did not clarify what is the “problem” you’re trying to solve

Problem #1 (theoretical): SC being less effective or productive or consistent due to all members being new (as you said, there are other possible solutions to this problem).

Problem #2 (maybe real): some voters preferring to vote to existing members over new candidates in order to avoid problem 1.

> [@Mariatta](#):
>
> Re: diversity issues, these can be alleviated without saying “at least 1 person must be a certain category” which I would see as “tokenizing”

100% agreed. I don’t think anyone proposed tokenization as a solution.

---

<div class="post-metadata">

**Author:** ![hugovk](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/hugovk/32/14505_2.png) [@hugovk](https://discuss.python.org/u/hugovk)\
**Post date:** [April 27, 2023, 9:44pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/15 "2023-04-27T21:44:30Z")

</div>

For reference, here’s how the five steering councils have looked:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/2X/6/6d38aed3bc90a60173733766c54fd8058f133c40.png)

> **[Python Steering Council](https://hugovk.github.io/python-steering-council/)**
>
> A chart showing the members of the Python Steering Council.

If I counted right: of those whose service ended, 4 were because they were not re-nominated, and 2 were re-nominated but not re-elected. That is, the majority stepped down through choice.

---

<div class="post-metadata">

**Author:** ![stoneleaf](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/stoneleaf/32/88_2.png) [@stoneleaf](https://discuss.python.org/u/stoneleaf)\
**Post date:** [April 27, 2023, 9:57pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/16 "2023-04-27T21:57:19Z")

</div>

> [@hugovk](#):
>
> 4 were because they were not re-nominated

I’m willing to bet that those four also stepped down by choice, since self-nomination is allowed.

---

<div class="post-metadata">

**Author:** ![tjreedy](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/tjreedy/32/137_2.png) [@tjreedy](https://discuss.python.org/u/tjreedy)\
**Post date:** [April 28, 2023, 2:58am UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/17 "2023-04-28T02:58:23Z")

</div>

Thank you Hugh. After the first group, we have had 2,1,2,1 new members. This seems to me about right. In the first 4 completed terms, 4 people have served, for whatever reason, just 1 year. I think the SC is doing well enough and we should put energy into other things.

---

<div class="post-metadata">

**Author:** ![encukou](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/encukou/32/2461_2.png) [@encukou](https://discuss.python.org/u/encukou)\
**Post date:** [April 28, 2023, 8:56am UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/18 "2023-04-28T08:56:59Z")

</div>

> [@willingc](#):
>
> I want a mix of experienced and new members as well. Would you please explain a bit more about your comment re: current system and way to vote? I’m trying to understand your perspective on that.

Thomas summarized it well.

With overlapping terms, I could vote to get in people with opinions/experiences that are missing from the rest of the SC. And vote against someone who’d be a great council member individually, but is too similar to people already on the SC and thus wouldn’t add anything new to the discussion.

---

<div class="post-metadata">

**Author:** ![willingc](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/willingc/32/20_2.png) [@willingc](https://discuss.python.org/u/willingc)\
**Post date:** [April 28, 2023, 9:39pm UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/19 "2023-04-28T21:39:01Z")

</div>

Thanks @encukou. @thomas and I had a good chat yesterday during the sprint. I have a lot of respect for his view on governance and do support the spirit of this discussion. My takeaways after our chat:

- transparency and documenting board practices and meetings are most critical (healthy governance)
- continuity is a good thing
- agree with @encukou that there is a learning curve as a board member. Most on the first few councils had served on the PSF board at some point, and onboarding was a bit easier.
- if we truly accept that people serve for 2 years (or 1 year with no stigma if stepping down), then 2 years seems reasonable. In practice, I think that there will always be incumbents that serve again that I don’t believe that a 2 year term is needed but don’t object either.
- Do we change the cadence of the elections and terms to shift to an earlier in the release cycle? Perhaps first beta?

In all, I told Thomas that I trust his judgement and I don’t see a big downside for trying out 2 years.

---

<div class="post-metadata">

**Author:** ![Mariatta](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/mariatta/32/30581_2.png) [@Mariatta](https://discuss.python.org/u/Mariatta)\
**Post date:** [September 26, 2024, 4:48am UTC](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/20 "2024-09-26T04:48:06Z")

</div>

At today’s Python core sprint, while a few of us (@thomas, myself, @gpshead, and @hugovk) were chatting about a [different topic](https://discuss.python.org/t/should-we-expand-the-voter-pool-for-the-sc/62060) (expanding the SC Voters pool), the idea of staggered SC was also brought up, so I thought to revive this discussion, and share what was discussed.

One of the things mentioned in today’s chat was: because there is no guarantee of continuity in the current model, some voters might be more conservative in their vote, and would prefer to vote those who has experience being in SC, which basically is “problem #2” you mentioned [above](https://discuss.python.org/t/steering-council-continuity-guarantees/26225/14).

(not sure if I correctly summarized this, please correct me if I misquote our chat today)

Anyway, because this came up in the sprint, I just wanted to see if we can continue this discussion, and come up with ideas about SC continuity, and what path can we take to improve the current situation.

[Next page](https://discuss.python.org/t/steering-council-continuity-guarantees/26225.md?page=2)
