Steering Council nomination: Victor Stinner

election

(Victor Stinner) #1

Nominated by …

Christian Heimes, Senthil Kumaran

Online presence

From the perspective of the Council’s mandate

Over the years, Victor has worked on multiple areas of the interpreter. He has done impressive work on optimization, security, and memory handling. Amongst others he designed and implemented faulthandler, tracemalloc with new memory allocator, and countless performance improvements. He is also the author or co-author of 18 PEPs (if I have counted correctly).

I let Victor fill in the details himself

Current employer

Victor works for Red Hat. Formerly he was on the OpenStack team. Last year he joined Red Hat’s Python maintenance team and now helps to maintain Python and Python packages on RHEL and Fedora Linux.

He is working remotely from the South of France, so he is part of the European core developers :slight_smile:

His manager allows him to spend (significant) time to contribute to Python upstream as part of his job. In his latest talk he even wrote that he is paid full-time to work on upstream which is not strictly true (but it’s not easy to elaborate during a short talk which wasn’t about himself :slight_smile: ).

Red Hat heavily rely on Python and has multiple products written in Python like OpenStack and Ansible to name the most famous. Making Python better and sustainable matters for Red Hat. There is also a general upstream first policy at Red Hat: fix a bug or implement a feature upstream, before considering to backport the change “downstream” (in a Red Hat package).

Victor’s plan for the next 5-10 years of Python

  • Performance. Continue to investigate options to reduce startup time, speedup the runtime, promote runtimes different than CPython, more collaboration between CPython, PyPy and Cython, prepare a GIL-less era (maybe at least replace the GIL with a lock per subinterpreter), etc. More generally be open to experiment new optimization projects/ideas :slight_smile:
  • Community. Detect earlier motivated candidates and mentor them. Write more tutorials and documentation explaining how to contribute to Python. Invite more active contributors to sprints and “core developers” events. Increase the diversity of core developers using positive actions. Detect issues to contribute to Python to enhance our workflow. More generally, continue what we are already doing well in this area.
  • Sustainability. Discuss with the PSF to see how the PSF money can be used to sponsor Python development (ex: short “grants” to develop a specific task in exchange of regular reports), open the door to companies which have Python developers who have time to help (identify our priorities, ex: better Windows for asyncio, better TLS implementaton for asyncio), continue to organize sprint, etc.
  • Maintenance. Sorry that item is less exciting but it’s just the boring reality. We have to fix CI issues, regressions, adapt Python to platform changes (hello macOS who decided to stop supporting fork without exec!), etc.

More generally, we have to ensure that Python remains competitive to modern languages like Rust, Javascript or Go.

Victor experimented different projects last years to speedup Python:

Victor mentored or is mentoring 10 contributors (he is not sure of the exact number). He mentored Pablo Galindo and Julien Palards who became core developers (honestly, they were already mostly ready, he shouldn’t say that he mentored them!). He promoted the 5 developers as core devs (Pablo Galindo, Julien Palard, Xiang Zhang, Xavier de Gaye, Charles-François Natali). He also started to write a Tutorial to contribute to the CPython project (devguide written as a tutorial).

About the maintenance, well, Victor is part of the Night Gathers who ensure that the CI remains green (tests pass) all the time (“Night gathers, and now my watch begins. It shall not end until my death.”). Some people dislike to maintain Python, but well, he is paid to do that and he is fine with that (he was already “maintaining Python” before he was paid for that :wink: ).

Usually, Victor dislikes talking about himself, it’s already way too much here, so he stops here and hide myself!

Note: I (Victor) merged Christian’s initial text with my text, I had to replace “I” with “he” and it’s sometimes weird to talk about myself using “he” instead of “I” :slight_smile:


(Christian Heimes) #2

I have added Victor to PEP 8100.


(Senthil) #3

I support @vstinner’s nomination , and I had requested him independently too.

In addition, Victor has

  • Stepped forward to mentoring many new developers.
  • Is willing to help on any issue related to CPython.
  • Has tackled complex challenges in the codebase.
  • Identified good talent by bringing many new developers.
  • Has shown deep care and concern for the CPython language and it’s relevance in the modern world. I believe has concrete concerns for the limitations imposed by GIL.
  • Has always been open to feedback on his contributions.

These are some of the great qualities I had observed and appreciated in Victor.


Senthil


(Christian Heimes) #4

Update: Senthil Kumaran asked me to add him to the list of nominators.


(Antoine Pitrou) #5

Also, for the record Victor is the 6th largest contributor of all time in number of commits (Guido is the 1st, and I’m the 7th :wink: ).


(Victor Stinner) #6

Well, I’m more or less the #1 top committer since 2013, sometimes it’s @storchaka, sometimes it’s me :wink: But I would prefer to spread the load by having more active core developers, like having 10-25 (core) devs authoring most of the commits, rather than something like 5. I’m not sure how to do that, but I’m experimenting things like spending more time on mentoring :slight_smile:


(Antoine Pitrou) #7

One way to have you commit less is to have you spend more time on bureaucratic tasks on the Council, hence this nomination :wink:


(Victor Stinner) #8

UPDATE: I merged this message into the first message of the thead, as suggested by Brett. I chose to keep this message to not modify the history of the thread. –

Thanks @tiran and @Senthil for nominating me and for your nice and warm biography of myself!

I am working remotely from the South of France, so I am part of the European core developers :slight_smile:

My manager allows me to spend (significant) time to contribute to Python upstream as part of my job. In my latest talk I even wrote that I’m paid full-time to work on upstream which is not strictly true (but it’s not easy to elaborate during a short talk which wasn’t about myself :slight_smile: ).

Red Hat heavily rely on Python and has multiple products written in Python like OpenStack and Ansible to name the most famous. Making Python better and sustainable matters for Red Hat. There is also a general upstream first policy at Red Hat: fix a bug or implement a feature upstream, before considering to backport the change “downstream” (in a Red Hat package).

Online presence

My plan for the next 5-10 years of Python

  • Performance. Continue to investigate options to reduce startup time, speedup the runtime, promote runtimes different than CPython, more collaboration between CPython, PyPy and Cython, prepare a GIL-less era (maybe at least replace the GIL with a lock per subinterpreter), etc. More generally be open to experiment new optimization projects/ideas :slight_smile:
  • Community. Detect earlier motivated candidates and mentor them. Write more tutorials and documentation explaining how to contribute to Python. Invite more active contributors to sprints and “core developers” events. Increase the diversity of core developers using positive actions. Detect issues to contribute to Python to enhance our workflow. More generally, continue what we are already doing well in this area.
  • Sustainability. Discuss with the PSF to see how the PSF money can be used to sponsor Python development (ex: short “grants” to develop a specific task in exchange of regular reports), open the door to companies which have Python developers who have time to help (identify our priorities, ex: better Windows for asyncio, better TLS implementaton for asyncio), continue to organize sprint, etc.
  • Maintenance. Sorry that item is less exciting but it’s just the boring reality. We have to fix CI issues, regressions, adapt Python to platform changes (hello macOS who decided to stop supporting fork without exec!), etc.

More generally, we have to ensure that Python remains competitive to modern languages like Rust, Javascript or Go.

I experimented different projects last years to speedup Python:

I mentored or I am mentoring 10 contributors (I’m not sure of the exact number). I mentored Pablo Galindo and Julien Palards who became core developers (honestly, they were already mostly ready, I shouldn’t say that I mentored them!). I promoted the 5 developers as core devs (Pablo Galindo, Julien Palard, Xiang Zhang, Xavier de Gaye, Charles-François Natali). I also started to write a Tutorial to contribute to the CPython project (devguide written as a tutorial).

About the maintenance, well, I’m part of the Night Gathers who ensure that the CI remains green (tests pass) all the time (“Night gathers, and now my watch begins. It shall not end until my death.”). Some people dislike to maintain Python, but well, I’m paid to do that and I’m fine with that (I was already “maintaining Python” before I was paid for that :wink: ).

Usually, I dislike talking about myself, it’s already way too much here, so I stop here and hide myself!


(Brett Cannon) #9

@vstinner @tiran do you want me to transfer ownership of the top post so Victor can keep it updated how he wants?


(Victor Stinner) #10

I don’t know what it means to be he owner of a topic :slight_smile: Which kind of actions become possible? Block further messages for example?


(Victor Stinner) #11

In case of doubt, yeah, make me the owner of this topic please :wink:


(Brett Cannon) #12

Technically I made you owner of the first post, so you can edit the opening post represent everything instead of having it split across multiple posts.


(Victor Stinner) #13

Ok, I merged my message into Christian’s first message.


(Senthil) #14

Is this true?


(Brett Cannon) #15

@vstinner FYI I removed the listing of Senthil as a nominator from PEP 8100 to try and keep the official candidate list clean and official. Otherwise we start to devolve the PEP into a popularity contest of who can list the most nominators. I think it’s totally reasonable to list other people who nominated you in your announcement, though.


(Senthil) #16

@brettcannon - I understand your point. In this case, I had reached out Victor separately, and Victor shared that Christian had reached out to him as well, and we could combine our nomination.

It was a genuine two people thinking about a same candidate separately for nomination. (And I want to say that I did not reach out to others, whom I will support, in the process).


(Brett Cannon) #17

I totally believe the nomination was as real as Christian’s and I don’t mean to suggest it doesn’t mean as much.

Anyway, to try and figure out how people feel about the topic I started a topic on this at Do we want to list nominators for core developers in PEP 8100?.


(Brett Cannon) #18

And FYI I put Senthil’s nomination back in the PEP while this gets hashed out.


(Antoine Pitrou) #19

I also asked privately two of the current candidates whether they wanted to candidate, and I would also have asked two others had they not already declared publicly :slight_smile:


(Victor Stinner) #20

Brett, Senthil: it is just that Senthil asked me if he can nominate me while Christian was doing the same. At the end, they both nominated me. I would prefer to either list no nominator or all, but I wasn’t comfortable of Senthil not being listed there. Well… at the end, it’s more up to Christian and Senthil :wink: