Skip to content

Commit ee80f05

Browse files
authored
Update the Org Repository Policy per the 2022 PSC (#1036)
This is a result of the discussion started by the 2022 Python Steering Council on https://discuss.python.org/t/new-python-organization-repository-policy/17376 and https://mail.python.org/archives/list/python-dev@python.org/message/FAASOMUNQZDJBCOTZK6I2KH55SDOONF6/. It is based on Petr's original text from the discuss thread, omitting any mention of the PSF Contributor Agreement (CLA) as discussion revealed that it may not make sense for all repos (see thread). It also adopts the suggestion from Joannah to have people discuss additions in our Committers forum before bringing an addition to the Python Steering Council.
1 parent abb135e commit ee80f05

File tree

1 file changed

+36
-9
lines changed

1 file changed

+36
-9
lines changed

developer-workflow/development-cycle.rst

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -216,16 +216,43 @@ The source code is currently hosted on `GitHub
216216
Organization Repository Policy
217217
------------------------------
218218

219-
Within the `Python organization <https://github.com/python/>`_, repositories are expected to fall within these general categories:
219+
Within the `GitHub Python organization <https://github.com/python/>`_,
220+
repositories are expected to relate to the Python language, the CPython
221+
reference implementation, their documentation and their development workflow.
222+
This includes, for example:
223+
224+
* The reference implementation of Python and related repositories (i.e. `CPython <https://github.com/python/cpython>`_)
225+
* Tooling and support around CPython development (e.g. `pyperformance <https://github.com/python/pyperformance>`_, `Bedevere <https://github.com/python/bedevere>`_)
226+
* Helpers and backports for Python/CPython features (e.g. `typing_extensions <https://github.com/python/typing_extensions>`_, `typeshed <https://github.com/python/typeshed>`_, `tzdata <https://github.com/python/tzdata>`_, `pythoncapi-compat <https://github.com/python/pythoncapi-compat>`_)
227+
* Organization-related repositories (e.g. the `Code of Conduct <https://github.com/python/pycon-code-of-conduct>`_, `.github <https://github.com/python/.github>`_)
228+
* Documentation and websites for all the above (e.g. `python.org repository <https://github.com/python/pythondotorg>`_, `PEPs <https://github.com/python/peps>`_, `Devguide <https://github.com/python/devguide>`_, docs translations)
229+
* Infrastructure for all the above (e.g. `docsbuild-scripts <https://github.com/python/docsbuild-scripts>`_, `buildmaster-config <https://github.com/python/buildmaster-config>`_)
230+
* Discussions and notes around official development-related processes and events (e.g. `steering-council <https://github.com/python/steering-council>`_, `core-sprint <https://github.com/python/core-sprint>`_)
231+
232+
Before adding a new repository to the organization, open a discussion to seek consensus
233+
in the `Committers Discourse category <https://discuss.python.org/c/committers/5>`_.
234+
Once people are satisfied with that, ask the `Python steering council <https://github.com/python/steering-council>`_
235+
to grant permission.
236+
237+
Note that several repositories remain in the organization for historic reasons,
238+
and would probably not be appropriate to add today.
239+
240+
Generally, new repositories should start their life under personal GitHub
241+
accounts or other GitHub orgs. It is relatively easy to move a repository to
242+
the organization once it is mature. For example, this would now apply to
243+
experimental features like `asyncio <https://github.com/python/asyncio>`_,
244+
`exceptiongroups <https://github.com/python/exceptiongroups>`_,
245+
and drafts of new guides and other documentation (e.g. `redistributor-guide
246+
<https://github.com/python/redistributor-guide>`_).
247+
248+
General-use tools and libraries (e.g. `mypy <https://github.com/python/mypy>`_
249+
or `Black <https://github.com/psf/black>`_) should also be developed outside
250+
the ``python`` organization, unless core devs (as represented by the SC)
251+
specifically want to “bless” one implementation (as with e.g.
252+
`typeshed <https://github.com/python/typeshed>`_,
253+
`tzdata <https://github.com/python/tzdata>`_, or
254+
`pythoncapi-compat <https://github.com/python/pythoncapi-compat>`_).
220255

221-
1. The reference implementation of Python and related repositories (i.e. `CPython <https://github.com/python/cpython>`_)
222-
2. Reference implementations of PEPs (e.g. `mypy <https://github.com/python/mypy>`_)
223-
3. Tooling and support around CPython and the language (e.g. `python.org repository <https://github.com/python/pythondotorg>`_)
224-
4. PSF-related repositories (e.g. the `Code of Conduct <https://github.com/python/pycon-code-of-conduct>`_)
225-
5. PSF Infrastructure repositories (e.g. the `PSF Infrastructure Salt configurations <https://github.com/python/psf-salt>`_)
226-
227-
For any repository which does not explicitly and clearly fall under one of these categories, permission should be sought
228-
from the `Python steering council <https://github.com/python/steering-council>`_.
229256

230257
Organization Owner Policy
231258
-------------------------

0 commit comments

Comments
 (0)