Skip to content

Commit 34a0bb5

Browse files
committed
[3.1.x] Refs #31676 -- Added Mergers and Releasers to organization docs.
According to DEP 0010. Backport of 228ec8e from main
1 parent d94b1e4 commit 34a0bb5

File tree

1 file changed

+142
-1
lines changed

1 file changed

+142
-1
lines changed

docs/internals/organization.txt

Lines changed: 142 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,143 @@ and its community.
2121
.. _Django Code of Conduct: https://www.djangoproject.com/conduct/
2222
.. _Django Software Foundation: https://www.djangoproject.com/foundation/
2323

24+
.. _mergers-team:
25+
26+
Mergers
27+
=======
28+
29+
Role
30+
----
31+
32+
Mergers_ are a small set of people who merge pull requests to the `Django Git
33+
repository <https://github.com/django/django>`_.
34+
35+
Prerogatives
36+
------------
37+
38+
Mergers hold the following prerogatives:
39+
40+
- Merging any pull request which constitutes a `minor change`_ (small enough
41+
not to require the use of the `DEP process`_). A Merger must not merge a
42+
change primarily authored by that Merger, unless the pull request has been
43+
approved by:
44+
45+
- another Merger,
46+
- a technical board member,
47+
- a member of the `triage & review team`_, or
48+
- a member of the `security team`_.
49+
50+
- Initiating discussion of a minor change in the appropriate venue, and request
51+
that other Mergers refrain from merging it while discussion proceeds.
52+
- Requesting a vote of the technical board regarding any minor change if, in
53+
the Merger's opinion, discussion has failed to reach a consensus.
54+
- Requesting a vote of the technical board when a `major change`_ (significant
55+
enough to require the use of the `DEP process`_) reaches one of its
56+
implementation milestones and is intended to merge.
57+
58+
.. _`minor change`: https://github.com/django/deps/blob/main/accepted/0010-new-governance.rst#terminology
59+
.. _`major change`: https://github.com/django/deps/blob/main/accepted/0010-new-governance.rst#terminology
60+
61+
Membership
62+
----------
63+
64+
`The technical board`_ selects Mergers_ as necessary to maintain their number
65+
at a minimum of three, in order to spread the workload and avoid over-burdening
66+
or burning out any individual Merger. There is no upper limit to the number of
67+
Mergers.
68+
69+
It's not a requirement that a Merger is also a Django Fellow, but the Django
70+
Software Foundation has the power to use funding of Fellow positions as a way
71+
to make the role of Merger sustainable.
72+
73+
The following restrictions apply to the role of Merger:
74+
75+
- A person must not simultaneously serve as a member of the technical board. If
76+
a Merger is elected to the technical board, they shall cease to be a Merger
77+
immediately upon taking up membership in the technical board.
78+
- A person may serve in the roles of Releaser and Merger simultaneously.
79+
80+
The selection process, when a vacancy occurs or when the technical board deems
81+
it necessary to select additional persons for such a role, occur as follows:
82+
83+
- Any member in good standing of an appropriate discussion venue, or the Django
84+
Software Foundation board acting with the input of the DSF's Fellowship
85+
committee, may suggest a person for consideration.
86+
- The technical board considers the suggestions put forth, and then any member
87+
of the technical board formally nominates a candidate for the role.
88+
- The technical board votes on nominees.
89+
90+
Mergers may resign their role at any time, but should endeavor to provide some
91+
advance notice in order to allow the selection of a replacement. Termination of
92+
the contract of a Django Fellow by the Django Software Foundation temporarily
93+
suspends that person's Merger role until such time as the technical board can
94+
vote on their nomination.
95+
96+
Otherwise, a Merger may be removed by:
97+
98+
- Becoming disqualified due to election to the technical board.
99+
- Becoming disqualified due to actions taken by the Code of Conduct committee
100+
of the Django Software Foundation.
101+
- A vote of the technical board.
102+
103+
.. _releasers-team:
104+
105+
Releasers
106+
=========
107+
108+
Role
109+
----
110+
111+
Releasers_ are a small set of people who have the authority to upload packaged
112+
releases of Django to the `Python Package Index`_, and to the
113+
`djangoproject.com`_ website.
114+
115+
Prerogatives
116+
------------
117+
118+
Releasers_ :doc:`build Django releases </internals/howto-release-django>` and
119+
upload them to the `Python Package Index`_, and to the `djangoproject.com`_
120+
website.
121+
122+
Membership
123+
----------
124+
125+
`The technical board`_ selects Releasers_ as necessary to maintain their number
126+
at a minimum of three, in order to spread the workload and avoid over-burdening
127+
or burning out any individual Releaser. There is no upper limit to the number
128+
of Releasers.
129+
130+
It's not a requirement that a Releaser is also a Django Fellow, but the Django
131+
Software Foundation has the power to use funding of Fellow positions as a way
132+
to make the role of Releaser sustainable.
133+
134+
A person may serve in the roles of Releaser and Merger simultaneously.
135+
136+
The selection process, when a vacancy occurs or when the technical board deems
137+
it necessary to select additional persons for such a role, occur as follows:
138+
139+
- Any member in good standing of an appropriate discussion venue, or the Django
140+
Software Foundation board acting with the input of the DSF's Fellowship
141+
committee, may suggest a person for consideration.
142+
- The technical board considers the suggestions put forth, and then any member
143+
of the technical board formally nominates a candidate for the role.
144+
- The technical board votes on nominees.
145+
146+
Releasers may resign their role at any time, but should endeavor to provide
147+
some advance notice in order to allow the selection of a replacement.
148+
Termination of the contract of a Django Fellow by the Django Software
149+
Foundation temporarily suspends that person's Releaser role until such time as
150+
the technical board can vote on their nomination.
151+
152+
Otherwise, a Releaser may be removed by:
153+
154+
- Becoming disqualified due to actions taken by the Code of Conduct committee
155+
of the Django Software Foundation.
156+
- A vote of the technical board.
157+
158+
.. _`Python Package Index`: https://pypi.org/project/Django/
159+
.. _djangoproject.com: https://www.djangoproject.com/download/
160+
24161
.. _technical-board:
25162

26163
Technical board
@@ -78,7 +215,11 @@ board. The election process works as follows:
78215
Both the application and the voting period last between one and two weeks, at
79216
the outgoing board's discretion.
80217

81-
.. _the technical board: https://www.djangoproject.com/foundation/teams/#technical-board-team
218+
.. _mergers: https://www.djangoproject.com/foundation/teams/#mergers-team
219+
.. _releasers: https://www.djangoproject.com/foundation/teams/#releasers-team
220+
.. _`security team`: https://www.djangoproject.com/foundation/teams/#security-team
221+
.. _`the technical board`: https://www.djangoproject.com/foundation/teams/#technical-board-team
222+
.. _`triage & review team`: https://www.djangoproject.com/foundation/teams/#triage-review-team
82223

83224
Changing the organization
84225
=========================

0 commit comments

Comments
 (0)