diff --git a/README.rst b/README.rst index fde4a6c27..e2f0c5617 100644 --- a/README.rst +++ b/README.rst @@ -17,7 +17,7 @@ The CPython Developer's Guide This guide covers how to contribute to CPython. It is known by the -nickname of "the devguide" by the Python core developers. +nickname of "the devguide" by the Python core team. The official home of this guide is https://devguide.python.org. diff --git a/contrib/core-team/experts.rst b/contrib/core-team/experts.rst index 73a9431c0..aa16f10bd 100644 --- a/contrib/core-team/experts.rst +++ b/contrib/core-team/experts.rst @@ -5,7 +5,6 @@ |purpose| -[This is the existing core developers :ref:`experts` page from the devguide. We'll -adjust "core developer" to "core team" where appropriate.] +[This is the existing core team :ref:`experts` page from the devguide.] .. include:: ../../core-team/experts.rst diff --git a/contrib/core-team/index.rst b/contrib/core-team/index.rst index d51a8a4e8..2ca21344b 100644 --- a/contrib/core-team/index.rst +++ b/contrib/core-team/index.rst @@ -11,8 +11,7 @@ Core team ========= -[This is mostly re-organized from the :ref:`core-team` section of the devguide, -but with "core developer" language changed to "core team" where possible.] +[This is mostly re-organized from the :ref:`core-team` section of the devguide] .. toctree:: :maxdepth: 5 diff --git a/contrib/core-team/join-team.rst b/contrib/core-team/join-team.rst index 70557589d..932216f7c 100644 --- a/contrib/core-team/join-team.rst +++ b/contrib/core-team/join-team.rst @@ -5,7 +5,6 @@ |purpose| -[This is the existing core developers :ref:`join-core-team` page from the devguide. We'll -adjust "core developer" to "core team" where appropriate.] +[This is the existing core team :ref:`join-core-team` page from the devguide.] .. include:: ../../core-team/join-team.rst diff --git a/contrib/core-team/motivations.rst b/contrib/core-team/motivations.rst index 8fc6f94db..38ba31023 100644 --- a/contrib/core-team/motivations.rst +++ b/contrib/core-team/motivations.rst @@ -5,7 +5,6 @@ |purpose| -[This is the existing core developers :ref:`motivations` page from the devguide. We'll -adjust "core developer" to "core team" where appropriate.] +[This is the existing core team :ref:`motivations` page from the devguide.] .. include:: ../../core-team/motivations.rst diff --git a/contrib/core-team/responsibilities.rst b/contrib/core-team/responsibilities.rst index 973385a15..d6902bd78 100644 --- a/contrib/core-team/responsibilities.rst +++ b/contrib/core-team/responsibilities.rst @@ -5,7 +5,6 @@ |purpose| -[This is the existing core developers :ref:`responsibilities` page from the devguide. We'll -adjust "core developer" to "core team" where appropriate.] +[This is the existing core team :ref:`responsibilities` page from the devguide.] .. include:: ../../core-team/responsibilities.rst diff --git a/contrib/core-team/team-log.rst b/contrib/core-team/team-log.rst index d6b480d25..ecfe856a4 100644 --- a/contrib/core-team/team-log.rst +++ b/contrib/core-team/team-log.rst @@ -5,7 +5,6 @@ |purpose| -[This is the existing core team :ref:`team-log` page from the devguide. We'll -adjust "core developer" to "core team" where appropriate.] +[This is the existing core team :ref:`team-log` page from the devguide.] .. include:: ../../core-team/team-log.rst diff --git a/core-team/committing.rst b/core-team/committing.rst index d83d42321..41cf67254 100644 --- a/core-team/committing.rst +++ b/core-team/committing.rst @@ -5,7 +5,7 @@ Accepting pull requests .. highlight:: none -This page is a step-by-step guide for core developers who need to assess, +This page is a step-by-step guide for the core team to assess, merge, and possibly backport a pull request on the main repository. Assessing a pull request @@ -54,7 +54,7 @@ to enter the public source tree. Ask yourself the following questions: developer can apply the label ``needs backport to X.Y`` to the pull request. Once the backport pull request has been created, remove the ``needs backport to X.Y`` label from the original pull request. (Only - core developers and members of the :ref:`Python Triage Team ` + the core team and members of the :ref:`Python Triage Team ` can apply labels to GitHub pull requests). * **Does the pull request pass a check indicating that the submitter has signed the CLA?** @@ -152,7 +152,7 @@ How to write a NEWS entry All ``NEWS`` entries end up being part of the changelog. The changelog contains *a lot* of entries, -and its intended audience is mainly users, not core devs and contributors. +and its intended audience is mainly users, not the core team and contributors. Take this into consideration when wording your ``NEWS`` entry. Describe the user-visible effects of your change succinctly and accurately; avoid long technical elaborations, digressions, and do not expect or require @@ -179,7 +179,7 @@ Working with Git_ .. seealso:: :ref:`gitbootcamp` -As a core developer, you have the ability to push changes to the official +As a core team member, you have the ability to push changes to the official Python repositories, so you need to be careful with your workflow: * **You should not push new branches to the main repository.** You can @@ -224,12 +224,12 @@ Backporting changes to an older version ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If it is determined that a pull request needs to be backported into one or -more of the maintenance branches, then a core developer can apply the label +more of the maintenance branches, then a core team member can apply the label ``needs backport to X.Y`` to the pull request. After the pull request has been merged, miss-islington (bot) will first try to do the backport automatically. If miss-islington is unable to do it, -then the pull request author or the core developer who merged it should look into +then the pull request author or the core team member who merged it should look into backporting it themselves, using the backport generated by cherry_picker.py_ as a starting point. @@ -252,7 +252,7 @@ Note that cherry_picker.py_ adds the branch prefix automatically. Once the backport pull request has been created, remove the ``needs backport to X.Y`` label from the original pull request. (Only -core developers and members of the :ref:`Python Triage Team ` +members of the core team and :ref:`Python Triage Team ` can apply labels to GitHub pull requests). .. _cherry_picker.py: https://github.com/python/cherry-picker diff --git a/core-team/join-team.rst b/core-team/join-team.rst index 1067696bb..eb0f56e09 100644 --- a/core-team/join-team.rst +++ b/core-team/join-team.rst @@ -11,15 +11,15 @@ What it takes When you have consistently made contributions which meet quality standards without requiring extensive rewrites prior to being committed, -you may qualify for commit privileges and become a core developer of Python. -You must also work well with other core developers (and people in general) +you may qualify for commit privileges and join the core team of Python. +You must also work well with other core team members (and people in general) as you become an ambassador for the Python project. -Typically a core developer will offer you the chance to gain commit privilege. +Typically a core team member will offer you the chance to gain commit privilege. The person making the offer will become your mentor and watch your commits for a while to make sure you understand the development process. If other core developers agree that you should gain commit privileges you are then extended -an official offer. How core developers come to that agreement are outlined in +an official offer. How core team members come to that agreement are outlined in :pep:`13`. @@ -29,7 +29,7 @@ Gaining commit privileges After a candidate has demonstrated consistent contributions, commit privileges are granted through these steps: -#. A core developer (submitter, usually the mentor) starts a poll +#. A core team member (submitter, usually the mentor) starts a poll (see the :ref:`template ` below) in the `Committers category`_ on the `Python Discourse`_. diff --git a/core-team/memorialization.rst b/core-team/memorialization.rst index 2bcf24ae1..7ab0fab02 100644 --- a/core-team/memorialization.rst +++ b/core-team/memorialization.rst @@ -1,4 +1,5 @@ .. _memorialize-core-developer: +.. _memorialize-core-team-member: =============== Memorialization @@ -7,7 +8,7 @@ Memorialization Rationale ========= -When a core developer passes away, memorializing accounts helps create +When a core team member passes away, memorializing accounts helps create a space for remembering the contributor and protects against attempted logins and fraudulent activity. @@ -16,9 +17,9 @@ The process The memorialization process is performed by a member of the PSF staff with administrative access to current and historical systems where -core developers have access. +the core team has access. -After the status of the core developer in question is confirmed, +After the status of the core team member in question is confirmed, access to the systems listed below is revoked and some changes are made to how the user displays to others. diff --git a/core-team/motivations.rst b/core-team/motivations.rst index b19c3062b..d5a87e22c 100644 --- a/core-team/motivations.rst +++ b/core-team/motivations.rst @@ -4,22 +4,22 @@ 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 +CPython core team members participate in the core development process for a +variety of reasons. Being accepted as a core team member indicates that an individual is interested in acquiring those responsibilities, has the -ability to collaborate effectively with existing core developers, and has had +ability to collaborate effectively with existing core team members, 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 +This page allows core team members 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 +Core team members that wish to provide this additional information add a new entry to the :ref:`published-motivations` 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 +Core team members who 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). @@ -32,7 +32,7 @@ For more information on the origins and purpose of this page, see Published entries ================= -The following core developers have chosen to provide additional details +The following core team members have chosen to provide additional details regarding their professional affiliations and (optionally) other reasons for participating in the CPython core development process: @@ -43,7 +43,7 @@ participating in the CPython core development process: Topic headings should be in the form of "Name (Country)" or "Name (Continent)" to help give some indication as to the geographic - distribution of core developers. + distribution of core team members. NOTE: The rest of these guidelines are highly provisional - we can evolve them as people add entries, and we decide on the style we like. The @@ -112,7 +112,7 @@ participating in the CPython core development process: for Boeing Defence Australia. She now primarily uses it as the lead project maintainer for the open source ``venvstacks`` Python deployment utility. - As a core developer, she is primarily interested in helping to ensure Python's + As a core team member, she 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. @@ -132,7 +132,7 @@ participating in the CPython core development process: 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 + As a core team member, his focus is on maintaining the already excellent Windows support and improving Python's ability to be embedded in other applications. @@ -194,7 +194,7 @@ participating in the CPython core development process: 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 + in 2007 and became a core team member in 2008. His motivations have been driven both by the abstract desire to make Python better for the whole world, and by the concrete roadblocks he was hitting in professional settings. Topics of choice have included interpreter optimizations, @@ -279,12 +279,12 @@ 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, +core team 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. +identifying, nominating and mentoring new core team members. 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 @@ -293,13 +293,13 @@ 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 +core team members 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 +* members working for vendors that distribute a commercially supported Python runtime -* developers working for Sponsor Members of the Python Software Foundation +* members 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 @@ -307,20 +307,20 @@ 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 +Core team members 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 +Core team members who 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. +directly employ any core team members themselves. -Finally, some core developers seeking to increase the time they have available +Finally, some core team members 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 @@ -336,15 +336,15 @@ time contributing to CPython development. Limitations on scope ==================== -* Specific technical areas of interest for core developers should be captured in +* Specific technical areas of interest for core team members should be captured in the :ref:`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 +* This specific listing is limited to CPython core team members (since it's + focused on the specific constraint that is core team member 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. + also covers issue triagers, and folks seeking to join the core team. -* Changes to the software and documentation maintained by core developers, +* Changes to the software and documentation maintained by the core team, 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 diff --git a/core-team/responsibilities.rst b/core-team/responsibilities.rst index 5cd5ed7bd..3b2137d6b 100644 --- a/core-team/responsibilities.rst +++ b/core-team/responsibilities.rst @@ -5,25 +5,25 @@ Responsibilities ================ As contributors to the CPython project, our shared responsibility is to -collaborate constructively with other contributors, including core developers. +collaborate constructively with other contributors, including core team members. This responsibility covers all forms of contribution, whether that's submitting pull requests to the implementation or documentation, reviewing other peoples' pull requests, triaging issues on the issue tracker, or discussing design and development ideas on the core :ref:`communication channels `. -Core developers accept key additional responsibilities around the ongoing +Core team members accept key additional responsibilities around the ongoing management of the project: -* core developers bear the additional responsibility of handling the +* core team members bear the additional responsibility of handling the consequences of accepting a change into the code base or documentation. That includes reverting or fixing it if it causes problems in the Buildbot fleet or someone spots a problem in post-commit review, as well as helping out the release manager in resolving any problems found during the pre-release testing cycle. While all contributors are free to help out with this part of the process, and it is most welcome when they do, the - actual responsibility rests with the core developer that merged the change -* core developers also bear the primary responsibility for deciding when + actual responsibility rests with the core team member that merged the change +* core team members also bear the primary responsibility for deciding when changes proposed on the issue tracker should be escalated to the appropriate :ref:`Discourse ` category for wider discussion, as well as suggesting the use of the @@ -31,15 +31,15 @@ management of the project: of complex changes, or changes with a potentially significant impact on end users -As a result of the additional responsibilities they accept, core developers +As a result of the additional responsibilities they accept, core team members gain the privilege of being able to approve proposed changes, as well as being -able to reject them as inappropriate. Core developers are also able to request +able to reject them as inappropriate. Core team members are also able to request that even already merged changes be escalated to :ref:`Discourse ` for further discussion, and potentially even reverted prior to release. -Becoming a core developer isn't a binary "all-or-nothing" status - CPython -is a large project, and different core developers accept responsibility for +Joining the core team isn't a binary "all-or-nothing" status - CPython +is a large project, and different core team members accept responsibility for making design and development decisions in different areas (as documented in the :ref:`experts` and :ref:`developers`). @@ -82,7 +82,7 @@ Pull request merging Once you have your commit privileges on GitHub you will be able to accept pull requests on GitHub. You should plan to continue to submit your own -changes through pull requests as if you weren't a core developer to benefit +changes through pull requests as if you weren't a core team member to benefit from various things such as automatic integration testing, but you can accept your own pull requests if you feel comfortable doing so. @@ -90,13 +90,13 @@ can accept your own pull requests if you feel comfortable doing so. Expectations ============ -As a core developer, there are certain things that are expected of you. +As a core team member, there are certain things that are expected of you. First and foremost, be a good person. This might sound melodramatic, but you are now a member of the Python project and thus represent the project and your -fellow core developers whenever you discuss Python with anyone. We have a +fellow core team members whenever you discuss Python with anyone. We have a reputation for being a very nice group of people and we would like to keep it -that way. Core developers responsibilities include following the `PSF Code of +that way. Core team responsibilities include following the `PSF Code of Conduct`_. Second, please be prompt in responding to questions. Many contributors to Python @@ -118,7 +118,7 @@ remove yourself from the list. Fourth, please consider whether or not you wish to add your name to the :ref:`motivations` list. Core contributor participation in the list helps the wider Python community to better appreciate the perspectives currently -represented amongst the core development team, the Python Software Foundation +represented amongst the core team, the Python Software Foundation to better assess the sustainability of current contributions to CPython core development, and also serves as a referral list for organisations seeking commercial Python support from the core development community.