Skip to content

Commit a530e82

Browse files
authored
Point to Discourse instead of mailing lists as the nominal core dev discussion venue (GH-945)
1 parent 0aa8522 commit a530e82

File tree

13 files changed

+157
-154
lines changed

13 files changed

+157
-154
lines changed

core-developers/become-core-developer.rst

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,15 @@ Gaining Commit Privileges
2727

2828
The steps to gaining commit privileges are:
2929

30-
1. A core developer starts a poll at https://discuss.python.org/c/committers/5
30+
1. A core developer starts a poll in the
31+
`Committers category`_ on the `Python Discourse`_ (``discuss.python.org``)
3132

3233
- Open for 7 days
3334
- Results shown upon close
3435

35-
2. The poll is announced on python-committers
36+
2. The poll is announced on the `python-committers mailing list`_
3637
3. Wait for the poll to close and see if the results confirm your membership
37-
as per the voting results required by PEP 13
38+
as per the voting results required by :pep:`13`
3839
4. The person who nominated you emails the steering council with your email
3940
address and a request that the council either accept or reject the proposed
4041
membership
@@ -44,7 +45,7 @@ The steps to gaining commit privileges are:
4445
- Account details as required by
4546
🔒 https://github.com/python/voters/
4647
- Your preferred email address to
47-
subscribe to python-committers with
48+
subscribe to the python-committers mailing list with
4849
- A reminder about the `Code of Conduct`_ and to report issues to the PSF
4950
Conduct WG
5051

@@ -54,6 +55,9 @@ The steps to gaining commit privileges are:
5455
8. They will update the devguide to publicly list your team membership at
5556
:ref:`developers`
5657
9. An announcement email by the steering council member handling your new
57-
membership will be sent to python-committers
58+
membership will be sent to the Committers Discourse category
5859

5960
.. _Code of Conduct: https://www.python.org/psf/conduct/
61+
.. _Committers category: https://discuss.python.org/c/committers/5
62+
.. _Python Discourse: https://discuss.python.org
63+
.. _python-committers mailing list: https://mail.python.org/mailman3/lists/python-committers.python.org/

core-developers/committing.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ to enter the public source tree. Ask yourself the following questions:
3939
:ref:`Run the entire test suite <runtests>` to make sure that everything
4040
still passes. If there is a change to the semantics, then there needs to
4141
be a strong reason, because it will cause some peoples' code to break.
42-
If you are unsure if the breakage is worth it, then ask on python-dev.
42+
If you are unsure if the breakage is worth it, then ask
43+
on the `Core Development Discourse category
44+
<https://discuss.python.org/c/core-dev/23>`__.
4345

4446
* **Does documentation need to be updated?**
4547
If the pull request introduces backwards-incompatible changes (e.g.

core-developers/experts.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ Interest Areas and GitHub names for each item that indicate a maintainer or
99
an expert in the field. This list is intended to be used by issue submitters,
1010
issue triage people, and other issue participants to find people to @mention
1111
or add as reviewers to issues and pull requests. People on this list may be
12-
asked to render final judgement on a feature or bug. If no active maintainer
13-
is listed for a given module, then questionable changes should go to
14-
python-dev, while any other issues can and should be decided by any committer.
12+
asked to render final judgment on a feature or bug. If no active maintainer
13+
is listed for a given module, then questionable changes should be discussed
14+
on the `Core Development Discourse category
15+
<https://discuss.python.org/c/core-dev/23>`__,
16+
while any other issues can and should be decided by any committer.
1517

1618
Developers can choose to follow labels, so if a label that they are
1719
following is added to an issue or pull request, they will be notified

core-developers/motivations.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,11 @@ participating in the CPython core development process:
8888
8989
If there's a kind of link you'd like to include in your entry that isn't
9090
already covered by the categories mentioned above, please start a discussion
91-
about that on the python-committers mailing list.
91+
about that on the Committers category on the Python Discourse
92+
(discuss.python.org) or the python-committers mailing list.
9293
93-
python-committers is also the appropriate point of contact for any other
94+
The Committers Discourse category or the python-committers mailing list
95+
is also the appropriate point of contact for any other
9496
questions or suggestions relating to this page.
9597
9698
.. topic:: Brett Cannon (Canada)

core-developers/responsibilities.rst

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ collaborate constructively with other contributors, including core developers.
99
This responsibility covers all forms of contribution, whether that's submitting
1010
patches to the implementation or documentation, reviewing other peoples'
1111
patches, triaging issues on the issue tracker, or discussing design and
12-
development ideas on the core mailing lists.
12+
development ideas on the core
13+
:ref:`communication channels <communication-channels>`.
1314

1415
Core developers accept key additional responsibilities around the ongoing
1516
management of the project:
@@ -23,29 +24,33 @@ management of the project:
2324
with this part of the process, and it is most welcome when they do, the
2425
actual responsibility rests with the core developer that merged the change
2526
* 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
27+
changes proposed on the issue tracker should be escalated to
28+
the appropriate :ref:`Discourse <communication-discourse>` category
29+
for wider discussion, as well as suggesting the use of the
2830
Python Enhancement Proposal process to manage the design and justification
2931
of complex changes, or changes with a potentially significant impact on
3032
end users
3133

3234
As a result of the additional responsibilities they accept, core developers
3335
gain the privilege of being able to approve proposed changes, as well as being
3436
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+
that even already merged changes be escalated to
38+
:ref:`Discourse <communication-discourse>` for further discussion,
39+
and potentially even reverted prior to release.
3740

3841
Becoming a core developer isn't a binary "all-or-nothing" status - CPython
3942
is a large project, and different core developers accept responsibility for
4043
making design and development decisions in different areas (as documented
4144
in the :ref:`experts` and :ref:`developers`).
4245

4346

44-
Mailing Lists and Bug Notifications
45-
===================================
47+
Communication Channels and Bug Notifications
48+
============================================
4649

47-
Mailing lists have generally been replaced by the `Discourse forum
48-
<https://discuss.python.org/>`_. Refer to :ref:`mailinglists` for more information.
50+
Mailing lists have generally been replaced by the
51+
`Discourse forum <https://discuss.python.org/>`_ (``discuss.python.org``).
52+
Refer to the :ref:`mailinglists` and :ref:`communication-discourse` sections
53+
for more information.
4954

5055
If you want notification of new issues, you can use the appropriate GitHub notification
5156
settings for the `python/cpython <https://github.com/python/cpython>`_ repository —

developer-workflow/communication-channels.rst

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
Following Python's Development
66
==============================
77

8-
Python's development is communicated through a myriad of ways, mostly through
9-
mailing lists, but also other forms.
8+
Python's development is communicated through a myriad of ways,
9+
primarily :ref:`Discourse <communication-discourse>` along with other platforms.
1010

1111

1212
Standards of behaviour in these communication channels
@@ -63,9 +63,6 @@ be mirrored at `GMANE <https://gmane.io/>`_ and can be read and posted to in var
6363
ways, including via web browsers, NNTP newsreaders, and RSS feed readers.
6464

6565
.. _issue tracker: https://github.com/python/cpython/issues
66-
.. _new-bugs-announce: https://mail.python.org/mailman/listinfo/new-bugs-announce
67-
.. _python-bugs-list: https://mail.python.org/mailman/listinfo/python-bugs-list
68-
.. _python-checkins: https://mail.python.org/mailman/listinfo/python-checkins
6966
.. _python-committers: https://mail.python.org/mailman3/lists/python-committers.python.org/
7067
.. _python-dev: https://mail.python.org/mailman3/lists/python-dev.python.org/
7168
.. _python-help: https://mail.python.org/mailman/listinfo/python-help
@@ -77,7 +74,7 @@ ways, including via web browsers, NNTP newsreaders, and RSS feed readers.
7774
.. _web gateway: https://mail.python.org/archives/
7875

7976

80-
.. _discourse_discuss:
77+
.. _communication-discourse:
8178

8279
Discourse (discuss.python.org web forum)
8380
========================================
@@ -94,8 +91,8 @@ the `Committers`_ category, where posting is restricted to the `CPython
9491
<https://github.com/python/cpython>`_ core developers.
9592

9693
The Committers category is often used for announcements and notifications.
97-
It is also a common venue for the core developer promotion votes (this
98-
category is equivalent to the python-committers mailing list).
94+
It is also the designated venue for the core developer promotion votes
95+
(as the Discourse equivalent of the `python-committers`_ mailing list).
9996

10097
Tutorials for new users
10198
-------------------------
@@ -187,6 +184,7 @@ mailing list mode" and save changes.
187184
.. _Ideas: https://discuss.python.org/c/ideas/6
188185
.. _Python Help: https://discuss.python.org/c/users/7
189186

187+
190188
Discord (private chat server)
191189
=============================
192190

@@ -224,7 +222,6 @@ set a specific `Server Nickname`_
224222
.. _Server Nickname: https://support.discord.com/hc/en-us/articles/219070107-Server-Nicknames
225223

226224

227-
228225
IRC
229226
===
230227

developer-workflow/lang-changes.rst

Lines changed: 39 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Because of the seriousness that language changes carry, any change must be
2323
beneficial to a large proportion of Python users. If the change only benefits a
2424
small percentage of Python developers then the change will not be made. A good
2525
way to see if your idea would work for a large portion of the Python community
26-
is to ask on :ref:`python-list or python-ideas <communication>`. You can also
26+
is to ask in the `Ideas Discourse category`_. You can also
2727
go through Python's stdlib and find examples of code which would benefit from
2828
your proposed change (which helps communicate the usefulness of your change to
2929
others). For further guidance, see :ref:`suggesting-changes`.
@@ -33,34 +33,6 @@ Council can truly classify something as Pythonic, you can read the
3333
:pep:`Zen of Python <20>` for guidance.
3434

3535

36-
.. index:: PEP process
37-
38-
PEP Process
39-
-----------
40-
Once you are certain you have a language change proposal which will appeal to
41-
the general Python community, you can begin the process of officially proposing
42-
the change. This process is the Python Enhancement Proposal (PEP) process.
43-
:PEP:`1` describes it in detail.
44-
45-
You will first need a PEP that you will present to python-ideas. You may be a
46-
little hazy on the technical details as various core developers can help with
47-
that, but do realize that if you do not present your idea to python-ideas or
48-
python-list ahead of time you may find out it is technically not possible.
49-
Expect extensive comments on the PEP, some of which will be negative.
50-
51-
Once your PEP has been modified to be of proper quality and to take into
52-
account comments made on python-ideas, it may proceed to python-dev. There it
53-
will be assigned a PEP dictator and another general discussion will occur. Once
54-
again, you will need to modify your PEP to incorporate the large amount of
55-
comments you will receive.
56-
57-
The PEP dictator decides if your PEP is accepted (typically based on whether
58-
most core developers support the PEP). If that occurs then your proposed
59-
language change will be introduced in the next release of Python. Otherwise
60-
your PEP will be recorded as rejected along with an explanation as to why so
61-
that others do not propose the same language change in the future.
62-
63-
6436
.. index::
6537
single: PEP process
6638

@@ -69,27 +41,49 @@ that others do not propose the same language change in the future.
6941
Suggesting new features and language changes
7042
--------------------------------------------
7143

72-
The `python-ideas`_ mailing list is specifically intended for discussion of
73-
new features and language changes. Please don't be disappointed if your
74-
idea isn't met with universal approval: as the long list of Rejected and
75-
Withdrawn PEPs in the `PEP Index`_ attests, and as befits a reasonably mature
76-
programming language, getting significant changes into Python isn't a simple
77-
task.
44+
The `Ideas Discourse category`_
45+
is specifically intended for discussion of new features and language changes.
46+
Please don't be disappointed if your idea isn't met with universal approval:
47+
as the :pep:`long list of Withdrawn and Rejected PEPs
48+
<0#abandoned-withdrawn-and-rejected-peps>`
49+
in the :pep:`PEP Index <0>` attests,
50+
and as befits a reasonably mature programming language,
51+
getting significant changes into Python isn't a simple task.
7852

7953
If the idea is reasonable, someone will suggest posting it as a feature
80-
request on the `issue tracker`_, or, for larger changes, writing it up as
81-
a :pep:`draft PEP <1>`.
54+
request on the `issue tracker`_, or, for larger changes,
55+
writing it up as PEP following the :ref:`lang-changes-pep-process`.
56+
57+
Sometimes core developers will differ in opinion,
58+
or merely be collectively unconvinced.
59+
When there isn't an obvious victor, then the `Status Quo Wins a Stalemate`_.
8260

83-
Sometimes core developers will differ in opinion, or merely be collectively
84-
unconvinced. When there isn't an obvious victor then the
85-
`Status Quo Wins a Stalemate`_ as outlined in the linked post.
61+
For some examples on language changes that were accepted,
62+
see `Justifying Python Language Changes`_.
63+
64+
65+
.. index:: PEP process
66+
67+
.. _lang-changes-pep-process:
68+
69+
PEP Process
70+
-----------
71+
72+
Once you are certain you have a language change proposal
73+
which will appeal to the general Python community,
74+
you can begin the :abbr:`PEP (Python enhancement proposal)` process
75+
to officially propose the change.
76+
See :pep:`1` for information on PEPs and the PEP process,
77+
and the :pep:`PEP Index <0>` for examples.
78+
79+
If the PEP is accepted, then your proposed language change will be introduced
80+
in the next release of Python.
81+
Otherwise, your PEP will be recorded as rejected along with an explanation,
82+
to inform others who may propose a similar language change in the future.
8683

87-
For some examples on language changes that were accepted please read
88-
`Justifying Python Language Changes`_.
8984

90-
.. _python-ideas: https://mail.python.org/mailman3/lists/python-ideas.python.org/
9185
.. _issue tracker: https://github.com/python/cpython/issues
92-
.. _PEP Index: https://peps.python.org/
93-
.. _draft PEP: https://www.python.org/dev/peps/pep-0001/
86+
.. _Ideas Discourse category: https://discuss.python.org/c/ideas/6
9487
.. _Status Quo Wins a Stalemate: https://www.curiousefficiency.org/posts/2011/02/status-quo-wins-stalemate.html
9588
.. _Justifying Python Language Changes: https://www.curiousefficiency.org/posts/2011/02/justifying-python-language-changes.html
89+

developer-workflow/stdlib.rst

Lines changed: 25 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,19 @@ If you have found that a function, method, or class is useful and you believe
2020
it would be useful to the general Python community, there are some steps to go
2121
through in order to see it added to the stdlib.
2222

23-
First is you should gauge the usefulness of the code. Typically this is done
24-
by sharing the code publicly. You have a couple of options for this. One is to
25-
post it online at the `Python Cookbook`_. Based on feedback or reviews of the
26-
recipe you can see if others find the functionality as useful as you do.
27-
A search of the issue tracker for previous suggestions related to the proposed
28-
addition may turn up a rejected issue that explains why the suggestion will not
29-
be accepted.
30-
Another is to do a blog post about the code and see what kind of responses you
31-
receive. Posting to python-list (see :ref:`communication` for where to find the
32-
list and other mailing lists) to discuss your code also works. Finally, asking
33-
on a specific :abbr:`SIG (special interest group)` from mail.python.org or
34-
python-ideas is also acceptable. This is not a required step but it is
35-
suggested.
23+
First, you should gauge the usefulness of the code,
24+
which is typically done by sharing the code publicly.
25+
This is not a required step, but it is suggested.
26+
You have a several options for this:
27+
28+
* Search the `issue tracker`_ for discussion related to the proposed addition.
29+
This may turn up an issue that explains why the suggestion wasn't accepted.
30+
* Open a new thread in the `Ideas Discourse category`_
31+
to gather feedback directly from the Python core developers and community.
32+
* Write a blog post about the code, which may also help gather useful feedback.
33+
* Post it to the `Python Cookbook`_.
34+
Based on feedback and reviews of the recipe,
35+
you can see if others find the functionality as useful as you do.
3636

3737
If you have found general acceptance and usefulness for your code from people,
3838
you can open an issue on the `issue tracker`_ with the code attached as a
@@ -46,6 +46,7 @@ Through your public sharing of your code in order to gauge community support
4646
for it you at least can know that others will come across it who may find it
4747
useful.
4848

49+
.. _Ideas Discourse category: https://discuss.python.org/c/ideas/6
4950
.. _Python Cookbook: https://code.activestate.com/recipes/langs/python/
5051

5152

@@ -121,30 +122,16 @@ uniform.
121122

122123
Proposal Process
123124
''''''''''''''''
124-
If the module you want to propose adding to the stdlib meets the proper
125-
requirements, you may propose its inclusion. To start, you should email
126-
python-list or python-ideas to make sure the community in general would support
127-
the inclusion of the module (see :ref:`communication`).
128-
129-
If the feedback from the community is positive overall, you will need to write
130-
a :abbr:`PEP (Python enhancement proposal)` for the module's inclusion. It
131-
should outline what the module's overall goal is, why it should be included in
132-
the stdlib, and specify the API of the module. See the `PEP index`_ for PEPs
133-
that have been accepted before that proposed a module for inclusion.
134-
135-
Once your PEP is written, send it to python-ideas for basic vetting. Be
136-
prepared for extensive feedback and lots of discussion (not all of it
137-
positive). This will help make the PEP be of good quality and properly
138-
formatted.
139-
140-
When you have listened to, responded, and integrated as appropriate the
141-
feedback from python-ideas into your PEP, you may send it to python-dev. You
142-
will once again receive a large amount of feedback and discussion. A PEP
143-
dictator will be assigned who makes the final call on whether the PEP will be
144-
accepted or not. If the PEP dictator agrees to accept your PEP (which typically
145-
means that the core developers end up agreeing in general to accepting
146-
your PEP) then the module will be added to the stdlib once the creators of the
147-
module sign :ref:`contributor agreements <contributor_agreement>`.
125+
126+
If the module you want to propose adding to the stdlib meets the requirements,
127+
you may propose its inclusion
128+
by following the :abbr:`PEP (Python Enhancement Proposal)` process.
129+
See :pep:`1` for details,
130+
and the :pep:`PEP index <0>` for previously-accepted PEPs
131+
that have proposed a module for inclusion.
132+
133+
If the PEP is accepted, then the module will be added to the stdlib
134+
once the authors of the module sign
135+
:ref:`contributor agreements <contributor_agreement>`.
148136

149137
.. _issue tracker: https://github.com/python/cpython/issues
150-
.. _PEP index: https://peps.python.org/

0 commit comments

Comments
 (0)