29. Core Developer Motivations and Affiliations

CPython core developers participate in the core development process for a variety of reasons. Being accepted as a core developer indicates that an individual is interested in acquiring those responsibilities, has the ability to collaborate effectively with existing core developers, and has had the time available to demonstrate both that interest and that ability.

This page allows core developers that choose to do so to provide more information to the rest of the Python community regarding their personal situation (such as their general location and professional affiliations), as well as any personal motivations that they consider particularly relevant.

Core developers that wish to provide this additional information add a new entry to the Published entries section below. Guidelines relating to content and layout are included as comments in the source code for this page.

Core developers that are available for training, consulting, contract, or full-time work, or are seeking crowdfunding support for their community contributions, may also choose to provide that information here (including linking out to commercial sites with the relevant details).

For more information on the origins and purpose of this page, see Goals of this page.

29.1. Published entries

The following core developers have chosen to provide additional details regarding their professional affiliations and (optionally) other reasons for participating in the CPython core development process:

Brett Cannon (Canada)

  • Personal site: snarky.ca
  • Extended bio
  • Microsoft (Software Developer)
  • Python Software Foundation (Fellow)

Nick Coghlan (Australia)

Nick began using Python as a testing and prototyping language while working for Boeing Defence Australia, and continues to use it for that purpose today.

As a core developer, he is primarily interested in helping to ensure Python’s continued suitability for educational, testing and data analysis use cases, as well as in encouraging good architectural practices when assembling Python applications and test harnesses from open source components.

Steve Dower (United States/Australia)

Steve started with Python while automating a test harness for medical devices, and now works for Microsoft on anything that makes Python more accessible to developers on any platform.

As a core developer, his focus is on maintaining the already excellent Windows support and improving Python’s ability to be embedded in other applications.

Christian Heimes (Germany)

  • Red Hat (Software Developer, Security Engineering / Identity Management)
  • Python Software Foundation (Fellow)

Mariatta (Canada)

Support Mariatta by sending her a happiness packet, or paypal.

R. David Murray (United States)

David has been involved in the Internet since the days when the old IBM BITNET and the ARPANet got cross connected, and in Python programming since he first discovered it around the days of Python 1.4. After transitioning from being Director of Operations for dialup Internet providers (when that business started declining) to being a full time independent consultant, David started contributing directly to CPython development. He became a committer in 2009. He subsequently took over primary maintenance of the email package from Barry Warsaw, and contributed the unicode oriented API. David is also active in mentoring new contributors and, when time is available, working on the infrastructure that supports CPython development, specifically the Roundup-based bug tracker and the buildbot system.

David currently does both proprietary and open source development work, primarily in Python, through the company in which he is a partner, Murray & Walker, Inc. He has done contract work focused specifically on CPython development both through the PSF (the kickstart of the email unicode API development) and directly funded by interested corporations (additional development work on email funded by QNX, and work on CPython ICC support funded by Intel). He would like to spend more of his (and his company’s) time on open source work, and so is actively seeking additional such contract opportunities.

Antoine Pitrou (France)

Antoine started working with Python in 2005 in order to implement a decentralized virtual world protocol. He started contributing to CPython in 2007 and became a core developer in 2008. His motivations have been driven both by the abstract desire to make Python better for the whole world, and by the concrete roadbloacks he was hitting in professional settings. His current focus is to improve support for system programming and concurrent programming (such as multiprocessing).

As a professional, Antoine has been first specializing in network programming, and more lately (since 2014) in open source data science infrastructure such as Dask, Numba, Apache Arrow.

Victor Stinner (France)

Victor is paid by Red Hat to maintain Python upstream and downstream (RHEL, CentOS, Fedora & Software collections). See Victor’s contributions to Python.

Kushal Das (India)

Barry Warsaw (United States)

Barry has been working in, with, and on Python since 1994. He attended the first Python workshop at NBS (now NIST) in Gaithersburg, MD in 1994, where he met Guido and several other early Python adopters. Barry subsequently worked with Guido for 8 years while at CNRI. From 2007 until 2017, Barry worked for Canonical, corporate sponsor of Ubuntu Linux, primarily on the Python ecosystem, and is both an Ubuntu and a Debian uploading developer. Barry has served as Python’s postmaster, webmaster, release manager, Language Summit co-chair, Jython project leader, GNU Mailman project leader, and probably lots of other things he shouldn’t admit to.

Eric Snow (United States)

  • Microsoft (Software Developer)
  • Python Software Foundation (Fellow)

Dino Viehland (United States)

Dino started working with Python in 2005 by working on IronPython, an implementation of Python running on .NET. He was one of the primary developers on the project for 6 years. After that he started the Python Tools for Visual Studio project focusing on providing advanced code completion and debugging features for Python. Today he works on Azure Notebooks bringing the Python based Jupyter notebook as a hosted on-line service.

Carol Willing (United States)

Carol is focused on Python’s usage in education and scientific research. She is interested in organizational development, operational workflows, and sustainability of open source projects.

29.2. Goals of this page

The issue metrics automatically collected by the CPython issue tracker strongly suggest that the current core development process is bottlenecked on core developer time - this is most clearly indicated in the first metrics graph, which shows both the number of open issues and the number of patches awaiting review growing steadily over time, despite CPython being one of the most active open source projects in the world. This bottleneck then impacts not only resolving open issues and applying submitted patches, but also the process of identifying, nominating and mentoring new core developers.

The core commit statistics monitored by sites like OpenHub provide a good record as to who is currently handling the bulk of the review and maintenance work, but don’t provide any indication as to the factors currently influencing people’s ability to spend time on reviewing proposed changes, or mentoring new contributors.

This page aims to provide at least some of that missing data by encouraging core developers to highlight professional affiliations in the following two cases (even if not currently paid for time spent participating in the core development process):

  • developers working for vendors that distribute a commercially supported Python runtime
  • developers working for Sponsor Members of the Python Software Foundation

These are cases where documenting our affiliations helps to improve the overall transparency of the core development process, as well as making it easier for staff at these organisations to locate colleagues that can help them to participate in and contribute effectively to supporting the core development process.

Core developers working for organisations with a vested interest in the sustainability of the CPython core development process are also encouraged to seek opportunities to spend work time on mentoring potential new core developers, whether through the general core mentorship program, through mentoring colleagues, or through more targeted efforts like Outreachy’s paid internships and Google’s Summer of Code.

Core developers that are available for consulting or contract work on behalf of the Python Software Foundation or other organisations are also encouraged to provide that information here, as this will help the PSF to better facilitate funding of core development work by organisations that don’t directly employ any core developers themselves.

Finally, some core developers seeking to increase the time they have available to contribute to CPython may wish to pursue crowdfunding efforts that allow their contributions to be funded directly by the community, rather than relying on institutional sponsors allowing them to spend some or all of their work time contributing to CPython development.

29.3. Limitations on scope

  • Specific technical areas of interest for core developers should be captured in the Experts Index.
  • This specific listing is limited to CPython core developers (since it’s focused on the specific constraint that is core developer time), but it would be possible to create a more expansive listing on the Python wiki that also covers issue triagers, and folks seeking to become core developers.
  • Changes to the software and documentation maintained by core developers, together with related design discussions, all take place in public venues, and hence are inherently subject to full public review. Accordingly, core developers are NOT required to publish their motivations and affiliations if they do not choose to do so. This helps to ensure that core contribution processes remain open to anyone that is in a position to sign the Contributor Licensing Agreement, the details of which are filed privately with the Python Software Foundation, rather than publicly.