Official list of core developers

Hi,

Last months, we discussed multiple times the list of core developers, Python maintenance and things like that. So far, no action has been taken. My intent is to get a better idea of the number of active core developers.

Don’t get me wrong, my intent is not to kick anyone outside Python without their consent. It has been said multiple times that we must ask each core dev if they want to be moved to the “inactive” list, and an inactive core dev can be moved bacl to the active list as soon as they ask.

In my latest talk, I computed that we have 2 developers paid at full time to maintain Python: I am full time, Barry, Brett, Eric, Steve and Guido have 1 day per week if I understood correctly.

December 2017, I posted Statistics: growth of core dev number vs growth of the code size/complexity.

June 2018, Ethan Furman started number of active core devs (was: Comments on moving issues to GitHub) thread.

June 2018, I started a thread on python-committers: Missing In Action. Then I understood that the title is misleading, I really “inactive”, not “dead people” :slight_smile: In the thread, Guido van Rossum proposed to create a list of “emeritus core developers”.

Sept 2018, Lukasz asked: Which list of core developers is authoritative?.

November 2018, I was surprised that Thomas Wouters wasn’t listed in https://devguide.python.org/developers/ and so I wrote a PR to add him: devguide:Complete the core dev list. Then I noticed that many others are missing: “(Incomplete list) Brett Cannon, Barry Warsaw, David Goodger, Fred Drake, Gregory P. Smith, Neal Norwitz, Martin v. Loewis, Raymond Hettinger, Thomas Wouters, Tim Peters and Guido van Rossum commit bit predates the start of that list.” Last week, Brett closed my PR: “I’m going to close this and refer to it to later to help fill in any future details. I’m planning to try and work on fixing this whole situation as part of the whole steering council election situation anyway, so this will get resolved.”

Inactive core devs was discussed again in the discussions on governance PEPs. Sorry, I didn’t keep links to messages.

December 2018, core developers voted for the PEP 8016 governance which became the PEP 13. The PEP 13 has a section about “inactive core devs”: https://www.python.org/dev/peps/pep-0013/#membership The section ends with: “The initial active core team members will consist of everyone currently listed in the “Python core” team on Github”. Is this PEP “implemented” yet? :slight_smile:

There are multiple lists of core devs, most are different…

There is also https://devguide.python.org/motivations/ which has a different purpose.

I also have a very incomplete list of Twitter handle of core devs: https://pythondev.readthedocs.io/communication.html

Maybe we would need a new Git repository or website which would be the official list of core developers. Each core dev would be free to edit their profile:

  • Twitter handle
  • bugs.python.org login
  • GitHub login
  • email address
  • affiliation
  • photo?!
  • personal website, blog, whatever
  • favorite stdlib modules
  • etc.

All these fields would be optional, but it seems like multiple core devs would like to share such info. Obviously, only core developers would be allowed to modify this Git repository :wink:

In the past, @brettcannon told me that he wants to work on that, but well, I don’t think that last months were the best timing to touch the list of core devs in any way :slight_smile: Brett also told me that @emmatyping may want to contact inactive core devs.

See also my notes on Python core developers.

1 Like

Officially so, but it doesn’t always work out that way. :wink:

I was under the impressions that this number was larger. Two seems incredibly few for a language as prominent as Python is today.

I think this would also be incredibly useful for non-committers who’d like to know who we are, see what we write, etc. I’m +1, whatever the technical implementation, as long as we also make the other current lists reference it.

I can be wrong. If you are aware of someone else having an “OSS day” (@emily maybe?), tell me :wink:

Yeah, I tried to put this number in perspective with the popularity of the Python language: #3 most popular language in the world according to TIOBE index… and only 2 full-time paid developers…

Python is not a product. It’s hard to justify to your manager to spend money on it. Well, Python works, why would anyone spend money on it, right? …

Correct, I also have 1 day per week for OSS contributions which is usually about a half day for Python depending on what else I have going on.

1 Like

Great! Thanks to your employer :wink:

Over the past 20 years, I have done open source development work on company time. This was done with the explicit permission of my employer but we never made a formal arrangement about how much time was spent. Generally it would be less than one day per week unless the work would clearly produce direct value for the company.

Edit: I mention this because I suspect there are other core developers with similar arrangements. So, the question of how much paid effort goes into maintaining Python is a bit tricky to quantify. I agree with Victor’s point in that for as popular as Python is, there seems to be a very small number of people paid to work on it.

3 Likes

I can use my paid time for OSS in my discretion too. (I’m in KLab Inc.)
Sometime I help company’s internal projects. Sometime I use 100% time to OSS.

1 Like

We don’t needs a new one since we have https://github.com/python/voters/ and we already have the devguide for having some form of public output.

I would rather not have all that stuff. It’s just going to going to be outdated all the time.

It’s the first task I plan to tackle once the steering council is operating smoothly and forward. IOW I’m not prepared to discuss this right now and https://github.com/python/devguide/issues/390 is still the best place to discuss any details and where I will (and already have) post(ed) any ideas.

Cheryl Sabella isn’t there. Should I add her?

Up to you. Whatever new list we come up with will start from the current developer’s log and probably migrate in-place, and then move over to python/voters and get updated with email addresses along with cross-listing. And once it moves over we will update the devguide to say that new core devs need to update that file.

It’s going to be a multi-step process in order to minimize accidentally dropping people from the final list, so I’m not too worried about trying to prematurely worry about the next election quite yet. :slight_smile:

Sorry but I don’t understand how https://github.com/python/voters/ can be used right now as the list of core developers:

  • .voters.csv only contains 48 persons, it’s incomplete
  • 2018-12-01-governance-election.csv and 2019-01-21-2019-python-steering-council-election.csv are historical list of voters: these files must not be modified

I don’t see where I’m supposed to add Cheryl for example?

generate-voter-roll.py uses the GitHub API to get the members of the Python core developers team. Should I understand that this team is the official list of core developers?

I will see https://github.com/python/devguide/issues/390 in the meanwhile :wink:

You don’t understand because you can’t use that list isn’t the authoritative one. :wink: I purposefully said “we don’t need a new [repository]” when you asked if we “[needed] a new Git repository”, not that it already was the authoritative list. Sorry if I gave you a different impression. The key point is that the devguide’s https://devguide.python.org/developers/ is the closest we come to the list of core devs until we mine the commit history to backfill the list (and where you need to add Cheryl as specified.

Please just follow the steps as outlined in Gaining Commit Privileges and just trust that I will figure stuff out.

(Somehow offtopic.) I promoted some new core devs recently, and I was really confused by these instructions. The instructions start with “When you have been extended an official offer to become a Python core developer, there are several things you must do.” Except that it doesn’t work like that in practice.

  • Mailing Lists: python-committers is a special mailing lists, not everyone is allowed to subscribe. I never understood if the new core dev is supposed to subscribe them self, or if someone else should do that. In my exprience, it was someone else. Now the question is: who should I (the one who promote a new core dev) contact? Or maybe it shouldn’t be me but someone else who contact the mailing list admin?
  • “If you did not gain the Developer role in the issue tracker before gaining commit privileges, please say so.” It’s unclear who should be contacted. Hopefully, I became a coordinator and so can add the Developer role :wink:

Well, in practice, I usually contact you and you magically do what is needed :wink: Maybe it’s a good process :wink:

Oh… I see :slight_smile: Yeah, I was confused.

List admins add the person manually when asked.

The person doing the bugs.python.org permissions for the new core dev.

Yep, almost everyone just emails me and the new core dev and ask “what needs to happen?” and then I take care of it. :slight_smile: I plan to clean up that page and make it much clearer on what to do once the future of discuss.python.org is settled.