python / steering-council

Communications from the Steering Council
157 stars 23 forks source link

Remove commit bit from inactive core devs as part of SC elections #254

Open hugovk opened 1 week ago

hugovk commented 1 week ago

During the Language Summit 2024 one thing we discussed regarding "Strengthening Python's Security Model" was removing the commit bit for inactive core devs.

Indeed, PEP 13 already has provisions for this:

Those who haven’t made any non-trivial contribution in two years may be asked to move themselves to [the “inactive”] category, and moved there if they don’t respond. [...] While someone is in inactive status, though, they lose their active privileges like voting or nominating for the steering council, and commit access.

We further discussed this in https://github.com/python/core-workflow/issues/539, and I'd like to suggest we start doing this as part of the annual election process.

I propose a process along the lines of:

  1. As part of compiling the voter roll for the annual SC election, find inactive committers.
  2. Contact them and invite them to become Emeritus committers and remove the commit bit for security. Let them know they can have it re-enabled in the future if they wish to become active.
  3. For those that don't reply after two weeks, or those that reply saying they wish to become Emeritus, add them to the Emeritus group and remove their commit bit.
  4. Repeat annually after each SC election voter roll has been compiled.

When contacting inactive people, it's important to let them know they've not done anything wrong, it can be re-instated if they become active again, and thank them for their contribution (see https://github.com/python/core-workflow/issues/539#issuecomment-2152637975).

Please could the Steering Council consider this, starting with the upcoming 2025 term election?

sobolevn commented 1 week ago

any non-trivial

I think that this needs a bit of more context. Like: is making a commit a trivial contribution? What about a review / design discussion?

hugovk commented 1 week ago

Like: is making a commit a trivial contribution?

You can see the scripts used for the elections at 🔒 https://github.com/python/voters. It looks for any commit to CPython, which I think is okay for practicality reasons, to avoid having someone sit down and review commits for undefined "triviality".

What about a review / design discussion?

I believe this is captured by the next step, asking pending inactive people if they wish to remain active. It also covers those who have committed to non-CPython https://github.com/python repos, and indeed any of the valuable non-code core team contributions.