Important
This is part of a Draft of the Python Contributor’s Guide. Text in square brackets are notes about content to fill in. Currently, the devguide and this new Contributor’s Guide co-exist in the repo. We are using Sphinx include directives to demonstrate the re-organization. The final Contributor’s Guide will replace the devguide with content in only one place. We welcome help with this!
The [Plan for the Contributor’s Guide] page has more details about the current state of this draft and how you can help. See more info about the Contributor Guide in the discussion forum: Refactoring the DevGuide.
[This is the existing core developers Motivations and affiliations page from the devguide. We’ll adjust “core developer” to “core team” where appropriate.]
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.
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:
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 pull requests 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 accepting submitted pull requests, 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.
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.