1
1
.. _coredev :
2
2
3
- How to Become a Core Developer
4
- ==============================
3
+ ================================
4
+ How to Become a Core Developer
5
+ ================================
5
6
6
7
What it Takes
7
- -------------
8
+ =============
8
9
9
10
When you have consistently contributed patches which meet quality standards
10
11
without requiring extensive rewrites prior to being committed,
@@ -19,47 +20,9 @@ developers agree that you should gain commit privileges you are then extended
19
20
an official offer. How core developers come to that agreement are outlined in
20
21
:pep: `13 `.
21
22
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 `).
60
23
61
24
Gaining Commit Privileges
62
- -------------------------
25
+ =========================
63
26
64
27
The steps to gaining commit privileges are:
65
28
@@ -93,86 +56,3 @@ The steps to gaining commit privileges are:
93
56
membership will be sent to python-committers
94
57
95
58
.. _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/
0 commit comments