CPython Core Developers

What is a CPython Core Developer?

Video of Mariatta Wijaya’s talk: “What is a Python Core Developer?” (Pycon US 2018): https://www.youtube.com/watch?v=hhj7eb6TrtI

No one has exclusive control over any part of the code base

Email of the Steering Council (2010): https://mail.python.org/archives/list/python-committers@python.org/message/DCKAPZVXEQHP7OPS3GLEVNDXMXX5QAE6/

How to increase the number of core developers?

Guido van Rossum, June 2018 about the low number of active core developers:

The best course of action seems to be to take measures to acquire new committers (and contributors), not to try and reactivate old inactive committers.
  • Mentoring
  • Write less code, spend more time on reviews and mentoring

Statistics

Statistics on new CPython core developer per year using devguide as data:

  • 2007: 15
  • 2008: 19
  • 2009: 11
  • 2010: 20
  • 2011: 12
  • 2012: 9
  • 2013: 4
  • 2014: 10
  • 2015: 2
  • 2016: 5
  • 2017: 4
  • 2018: 6
  • 2019: 7
  • 2020: 5

Links:

October 2017:

  • 6542 pull requests, 4966 merged
  • 848 contributors (including core devs)
  • 34 core developers active on GitHub (4% of all contributors)
  • 24% of PR are written by core devs

Process to become a core developer

https://github.com/vstinner/misc/blob/master/cpython/pep-core_dev_process.rst

Misc

Core developers who stopped contributing to Python

Most core developers who stopped contributing did not announce it publicly, or even did not tell anyone. They just disappear. Only a few made a public announcement.

  • January 2018: Xavier de Gaye who maintained pdb and the Android support.

    I have decided for personal reasons to stop contributing to CPython as a core developer, that does not mean I will stop contributing to CPython. So please remove me from the list of core developers and revoke all my access rights. Thank you.

    Xavier.

  • January, 2016: Andrew MacIntyre. Extract of his email:

    As a practical matter I have not actively participated in Python development in some years and as a consequence I don’t think I have any valid keys still on record. Nor do I now have any operational OS/2 systems to support the Python port to that platform that was my primary interest and contribution.

    (…)

    While the announcement today of the planned move of the Python repository to GitHub has no bearing whatsoever on my decision, I would note that GitHub’s requirement that a person only have one account - to be used for both personal activity and any activity on behalf of an employer - is of sufficient concern to me that had I decided to continue as a committer I would be seeking legal advice concerning my position. I say this as to date I have been able to satisfy my employer’s requirements for clear separation of my personal activities, including my participation in Python development, from my activities as an employee. This has been possible by exclusively using only provably personal resources, including accounts and internet access, for personal activities. Such clear separation becomes much more difficult when resources such as accounts are shared between personal and employee roles, especially when being seen to do the right thing is as important as actually doing the right thing.

  • April, 2015: Skip Montanaro:

    Alas, my commit bit long ago fell into disuse. I haven’t checked anything in since long before the days of Mercurial and the current workflow. I would almost certainly mess something up. In fact, to avoid confusion in the future, removal of my commit bit might not be a bad idea.