Skip to content

Commit aa2d0b0

Browse files
AA-Turnerezio-melotti
authored andcommitted
Split out core dev process from responsibilities
1 parent 4619dca commit aa2d0b0

File tree

3 files changed

+128
-125
lines changed

3 files changed

+128
-125
lines changed
Lines changed: 5 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
.. _coredev:
22

3-
How to Become a Core Developer
4-
==============================
3+
================================
4+
How to Become a Core Developer
5+
================================
56

67
What it Takes
7-
-------------
8+
=============
89

910
When you have consistently contributed patches which meet quality standards
1011
without requiring extensive rewrites prior to being committed,
@@ -19,47 +20,9 @@ developers agree that you should gain commit privileges you are then extended
1920
an official offer. How core developers come to that agreement are outlined in
2021
:pep:`13`.
2122

22-
What it Means
23-
-------------
24-
25-
As contributors to the CPython project, our shared responsibility is to
26-
collaborate constructively with other contributors, including core developers.
27-
This responsibility covers all forms of contribution, whether that's submitting
28-
patches to the implementation or documentation, reviewing other peoples'
29-
patches, triaging issues on the issue tracker, or discussing design and
30-
development ideas on the core mailing lists.
31-
32-
Core developers accept key additional responsibilities around the ongoing
33-
management of the project:
34-
35-
* core developers bear the additional responsibility of handling the
36-
consequences of accepting a change into the code base or documentation.
37-
That includes reverting or fixing it if it causes problems in the
38-
Buildbot fleet or someone spots a problem in post-commit review, as well
39-
as helping out the release manager in resolving any problems found during
40-
the pre-release testing cycle. While all contributors are free to help out
41-
with this part of the process, and it is most welcome when they do, the
42-
actual responsibility rests with the core developer that merged the change
43-
* core developers also bear the primary responsibility for deciding when
44-
changes proposed on the issue tracker should be escalated to python-ideas
45-
or python-dev for wider discussion, as well as suggesting the use of the
46-
Python Enhancement Proposal process to manage the design and justification
47-
of complex changes, or changes with a potentially significant impact on
48-
end users
49-
50-
As a result of the additional responsibilities they accept, core developers
51-
gain the privilege of being able to approve proposed changes, as well as being
52-
able to reject them as inappropriate. Core developers are also able to request
53-
that even already merged changes be escalated to python-dev for further
54-
discussion, and potentially even reverted prior to release.
55-
56-
Becoming a core developer isn't a binary "all-or-nothing" status - CPython
57-
is a large project, and different core developers accept responsibility for
58-
making design and development decisions in different areas (as documented
59-
in the :ref:`experts` and :ref:`developers`).
6023

6124
Gaining Commit Privileges
62-
-------------------------
25+
=========================
6326

6427
The steps to gaining commit privileges are:
6528

@@ -93,86 +56,3 @@ The steps to gaining commit privileges are:
9356
membership will be sent to python-committers
9457

9558
.. _Code of Conduct: https://www.python.org/psf/conduct/
96-
97-
98-
Mailing Lists
99-
'''''''''''''
100-
101-
You are expected to subscribe to python-committers, python-dev,
102-
python-checkins, and one of new-bugs-announce or python-bugs-list. See
103-
:ref:`communication` for links to these mailing lists.
104-
105-
106-
.. _contributor_agreement:
107-
108-
Sign a Contributor Agreement
109-
''''''''''''''''''''''''''''
110-
111-
Submitting a `contributor form for Python`_ licenses any code you contribute to
112-
the Python Software Foundation. While you retain the copyright, giving the PSF
113-
the ability to license your code means it can be put under the PSF license so
114-
it can be legally distributed with Python.
115-
116-
This is a very important step! Hopefully you have already submitted a
117-
contributor agreement if you have been submitting patches. But if you have not
118-
done this yet, it is best to do this ASAP, probably before you even do your
119-
first commit so as to not forget. Also do not forget to enter your GitHub
120-
username into your details on the issue tracker.
121-
122-
123-
.. _contributor form for Python: https://www.python.org/psf/contrib/
124-
125-
126-
127-
Pull Request merging
128-
''''''''''''''''''''
129-
130-
Once you have your commit privileges on GitHub you will be able to accept
131-
pull requests on GitHub. You should plan to continue to submit your own
132-
changes through pull requests as if you weren't a core developer to benefit
133-
from various things such as automatic integration testing, but you
134-
can accept your own pull requests if you feel comfortable doing so.
135-
136-
137-
Responsibilities
138-
----------------
139-
140-
As a core developer, there are certain things that are expected of you.
141-
142-
First and foremost, be a good person. This might sound melodramatic, but you
143-
are now a member of the Python project and thus represent the project and your
144-
fellow core developers whenever you discuss Python with anyone. We have a
145-
reputation for being a very nice group of people and we would like to keep it
146-
that way. Core developers responsibilities include following the `PSF Code of
147-
Conduct`_.
148-
149-
Second, please be prompt in responding to questions. Many contributors to Python
150-
are volunteers so what little free time they can dedicate to Python should be
151-
spent being productive. If you have been asked to respond to an issue or answer
152-
a question and you put it off it ends up stalling other people's work. It is
153-
completely acceptable to say you are too busy, but you need to say that instead
154-
of leaving people waiting for an answer. This also applies to anything you
155-
do on the issue tracker.
156-
157-
Third, please list what areas you want to be considered an expert in the
158-
:ref:`experts`. This allows triagers to direct issues to you which involve
159-
an area you are an expert in. But, as stated in the second point above, if you
160-
do not have the time to answer questions promptly then please remove yourself as
161-
needed from the file so that you will not be bothered in the future. Once again,
162-
we all understand how life gets in the way, so no one will be insulted if you
163-
remove yourself from the list.
164-
165-
Fourth, please consider whether or not you wish to add your name to the
166-
:ref:`motivations` list. Core contributor participation in the list helps the
167-
wider Python community to better appreciate the perspectives currently
168-
represented amongst the core development team, the Python Software Foundation
169-
to better assess the sustainability of current contributions to CPython core
170-
development, and also serves as a referral list for organisations seeking
171-
commercial Python support from the core development community.
172-
173-
And finally, enjoy yourself! Contributing to open source software should be fun
174-
(overall). If you find yourself no longer enjoying the work then either take a
175-
break or figure out what you need to do to make it enjoyable again.
176-
177-
178-
.. _PSF Code of Conduct: https://www.python.org/psf/conduct/

core-developers/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Core Developers
55
.. toctree::
66
:maxdepth: 5
77

8+
responsibilities
89
committing
910
experts
1011
developer-log

core-developers/responsibilities.rst

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
.. _responsibilities:
2+
3+
================
4+
Responsibilities
5+
================
6+
7+
As contributors to the CPython project, our shared responsibility is to
8+
collaborate constructively with other contributors, including core developers.
9+
This responsibility covers all forms of contribution, whether that's submitting
10+
patches to the implementation or documentation, reviewing other peoples'
11+
patches, triaging issues on the issue tracker, or discussing design and
12+
development ideas on the core mailing lists.
13+
14+
Core developers accept key additional responsibilities around the ongoing
15+
management of the project:
16+
17+
* core developers bear the additional responsibility of handling the
18+
consequences of accepting a change into the code base or documentation.
19+
That includes reverting or fixing it if it causes problems in the
20+
Buildbot fleet or someone spots a problem in post-commit review, as well
21+
as helping out the release manager in resolving any problems found during
22+
the pre-release testing cycle. While all contributors are free to help out
23+
with this part of the process, and it is most welcome when they do, the
24+
actual responsibility rests with the core developer that merged the change
25+
* core developers also bear the primary responsibility for deciding when
26+
changes proposed on the issue tracker should be escalated to python-ideas
27+
or python-dev for wider discussion, as well as suggesting the use of the
28+
Python Enhancement Proposal process to manage the design and justification
29+
of complex changes, or changes with a potentially significant impact on
30+
end users
31+
32+
As a result of the additional responsibilities they accept, core developers
33+
gain the privilege of being able to approve proposed changes, as well as being
34+
able to reject them as inappropriate. Core developers are also able to request
35+
that even already merged changes be escalated to python-dev for further
36+
discussion, and potentially even reverted prior to release.
37+
38+
Becoming a core developer isn't a binary "all-or-nothing" status - CPython
39+
is a large project, and different core developers accept responsibility for
40+
making design and development decisions in different areas (as documented
41+
in the :ref:`experts` and :ref:`developers`).
42+
43+
44+
Mailing Lists
45+
=============
46+
47+
You are expected to subscribe to python-committers, python-dev,
48+
python-checkins, and one of new-bugs-announce or python-bugs-list. See
49+
:ref:`communication` for links to these mailing lists.
50+
51+
52+
.. _contributor_agreement:
53+
54+
Sign a Contributor Agreement
55+
============================
56+
57+
Submitting a `contributor form for Python`_ licenses any code you contribute to
58+
the Python Software Foundation. While you retain the copyright, giving the PSF
59+
the ability to license your code means it can be put under the PSF license so
60+
it can be legally distributed with Python.
61+
62+
This is a very important step! Hopefully you have already submitted a
63+
contributor agreement if you have been submitting patches. But if you have not
64+
done this yet, it is best to do this ASAP, probably before you even do your
65+
first commit so as to not forget. Also do not forget to enter your GitHub
66+
username into your details on the issue tracker.
67+
68+
69+
.. _contributor form for Python: https://www.python.org/psf/contrib/
70+
71+
72+
Pull Request merging
73+
====================
74+
75+
Once you have your commit privileges on GitHub you will be able to accept
76+
pull requests on GitHub. You should plan to continue to submit your own
77+
changes through pull requests as if you weren't a core developer to benefit
78+
from various things such as automatic integration testing, but you
79+
can accept your own pull requests if you feel comfortable doing so.
80+
81+
82+
Expectations
83+
============
84+
85+
As a core developer, there are certain things that are expected of you.
86+
87+
First and foremost, be a good person. This might sound melodramatic, but you
88+
are now a member of the Python project and thus represent the project and your
89+
fellow core developers whenever you discuss Python with anyone. We have a
90+
reputation for being a very nice group of people and we would like to keep it
91+
that way. Core developers responsibilities include following the `PSF Code of
92+
Conduct`_.
93+
94+
Second, please be prompt in responding to questions. Many contributors to Python
95+
are volunteers so what little free time they can dedicate to Python should be
96+
spent being productive. If you have been asked to respond to an issue or answer
97+
a question and you put it off it ends up stalling other people's work. It is
98+
completely acceptable to say you are too busy, but you need to say that instead
99+
of leaving people waiting for an answer. This also applies to anything you
100+
do on the issue tracker.
101+
102+
Third, please list what areas you want to be considered an expert in the
103+
:ref:`experts`. This allows triagers to direct issues to you which involve
104+
an area you are an expert in. But, as stated in the second point above, if you
105+
do not have the time to answer questions promptly then please remove yourself as
106+
needed from the file so that you will not be bothered in the future. Once again,
107+
we all understand how life gets in the way, so no one will be insulted if you
108+
remove yourself from the list.
109+
110+
Fourth, please consider whether or not you wish to add your name to the
111+
:ref:`motivations` list. Core contributor participation in the list helps the
112+
wider Python community to better appreciate the perspectives currently
113+
represented amongst the core development team, the Python Software Foundation
114+
to better assess the sustainability of current contributions to CPython core
115+
development, and also serves as a referral list for organisations seeking
116+
commercial Python support from the core development community.
117+
118+
And finally, enjoy yourself! Contributing to open source software should be fun
119+
(overall). If you find yourself no longer enjoying the work then either take a
120+
break or figure out what you need to do to make it enjoyable again.
121+
122+
.. _PSF Code of Conduct: https://www.python.org/psf/conduct/

0 commit comments

Comments
 (0)