Skip to content

Commit ec95d26

Browse files
thibaudcolasadamchainzLilyFireflytim-schilling
authored
Update DEP 7 terminology to match current landscape (django#91)
Co-authored-by: Adam Johnson <me@adamj.eu> Co-authored-by: Lily Foote <code@lilyf.org> Co-authored-by: Tim Schilling <schillingt@better-simple.com>
1 parent 4f0e335 commit ec95d26

1 file changed

Lines changed: 32 additions & 23 deletions

File tree

final/0007-official-projects.rst

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ of phases, which are:
8383
officially and initial discussions about the potential are had.
8484

8585
2. `Forming a team`_: the project gathers together an official maintenance
86-
team including a core shepherd.
86+
team including a shepherd.
8787

8888
3. `Discussion and debate`_: the community discusses the project and the
8989
merits of making it an official Django project.
9090

91-
4. `Review & Resolution`_: the project proposal is reviewed by the Technical
92-
Board and a decision made if it should be adopted.
91+
4. `Review & Resolution`_: the project proposal is reviewed by the Steering
92+
Council and a decision made if it should be adopted.
9393

9494
5. `Adoption`_: the project is officially adopted and moved into Django
9595
ownership and maintenance.
@@ -101,7 +101,7 @@ The adoption process begins when a project, new or old, looks like it might
101101
benefit greatly from adoption as an official Django project, and that Django
102102
as an overall ecosystem might benefit from the project being made official.
103103

104-
Initial discussions should be held on mailing lists and other venues to
104+
Initial discussions should be held on forum threads and other venues to
105105
solicit feedback from the community and work out if there is rough agreement
106106
that the project is a good thing for Django to adopt, particularly focusing
107107
on any alternative approaches to the same problem and the relative merits
@@ -133,9 +133,9 @@ Maintenance Team
133133
manner.
134134

135135
Shepherd
136-
The **Shepherd** is the Core Developer who will be the primary point of
137-
contact for the project with the Core Team in Django, who will liaise with
138-
the Technical Board for the final vote, and who will assist in moving and
136+
The **Shepherd** is someone who has contributed to Django for at least two years,
137+
who will be the primary point of contact for the project, who will liaise with
138+
the Steering Council for the final vote, and who will assist in moving and
139139
running the project under official Django ownership and infrastructure.
140140
They can also be part of the Maintenance Team.
141141

@@ -153,7 +153,7 @@ Discussion and debate
153153
---------------------
154154

155155
Once a team is assembled, the project will be taken for full discussion on
156-
mailing lists and other archived public fora, and the Shepherd and Maintenance
156+
the forum and other archived public fora, and the Shepherd and Maintenance
157157
Team will be responsible for guiding the discussion, making sure it does not
158158
get too long-winded or descend into "bike-shedding", and for collating the
159159
arguments for and against into a single document with linked references
@@ -174,37 +174,37 @@ The Shepherd should call an end to discussions after a reasonable time period;
174174
there is no requirement to wait until all discussions have "finished" before
175175
moving on (as this may take a very long time); instead, they should move
176176
on when they are confident that all viewpoints have been heard and collated.
177-
The Technical Board may refuse the adoption if they think the project was moved
177+
The Steering Council may refuse the adoption if they think the project was moved
178178
onto the next phase too quickly.
179179

180180
Review & Resolution
181181
-------------------
182182

183183
Once a project has been discussed and the discussion collated by the
184184
Maintenance Team and the Shepherd, it is moved onto review and decision by
185-
the Technical Board. The Shepherd will submit the project, the list of people
185+
the Steering Council. The Shepherd will submit the project, the list of people
186186
signed up for the Maintenance Team, and the collated arguments to the
187-
Technical Board for decision.
187+
Steering Council for decision.
188188

189-
The Technical Board are the final authority for deciding on adopting a project
189+
The Steering Council are the final authority for deciding on adopting a project
190190
or not. They may choose to rule on the project as a team, or they
191-
may designate one or more board members to review and decide.
191+
may designate one or more steering council members to review and decide.
192192

193-
The Technical Board should consider:
193+
The Steering Council should consider:
194194

195195
* If the project's adoption would benefit Django.
196196
* If by adopting they are crowding out other, potentially superior solutions.
197197
* If the maintenance team is sufficient to ensure the project will
198198
be maintained properly once adopted.
199-
* If the adoption of the project would place undue stress on the existing core team.
199+
* If the adoption of the project would place undue stress on existing core contributors.
200200
* If adopting the project projects the right image and message about what Django is.
201201

202202
They should err on the side of denial if there is some controversy or
203203
heavy disagreement in the community about the adoption; a project can always
204204
come back for another attempt at adoption later, but adopting it prematurely
205205
is very hard to undo.
206206

207-
Once the decision is made, the Technical Board will inform the Shepherd about
207+
Once the decision is made, the Steering Council will inform the Shepherd about
208208
the decision, and a public announcement will be made about either the success
209209
or failure of the project's adoption proposal.
210210

@@ -238,7 +238,7 @@ Once a project is an official Django project, it needs to maintain a certain
238238
quality that comes with the Django name. In particular, an official Django
239239
project must maintain the following things:
240240

241-
* An up-to-date list of maintainers and a current core Shepherd, listed in
241+
* An up-to-date list of maintainers and a current Shepherd, listed in
242242
the top-level README file.
243243

244244
* Tracking and response to security issues on par with Django's official
@@ -269,11 +269,6 @@ Maintainers are free to resign from their position at any time; the team
269269
should ideally have more than one member so that this does not put the
270270
project at risk of retirement.
271271

272-
Maintainers or people with commit access on an official Django project do not
273-
have to be core Django members, nor do they become core members by taking
274-
those positions, but they should be very strongly considered as candidates for
275-
the Core Team if they are not already.
276-
277272
The main project documentation does not have to be hosted inside the main
278273
Django documentation, and can be hosted on a third-party service to ease the
279274
maintenance load on the Django website team, but should be CNAMEd under an
@@ -298,11 +293,25 @@ Retirement involves the following steps:
298293

299294
* Remove the project from all official Django documentation.
300295

301-
* Publicly announce the retirement of the project on official mailing lists,
296+
* Publicly announce the retirement of the project on official channels.
302297

303298
* Modify the PyPI (and other) package entries to show that it is no longer
304299
maintained.
305300

301+
Revision History
302+
================
303+
304+
2024-09-10
305+
Updates to reflect changes in governance since this document was originally
306+
written, including changes from "Technical Board" to "Steering Council",
307+
the removal of the no-longer-existent "Core Developer" concept.
308+
309+
2016-07-12
310+
Subsequent updates to the initial version
311+
312+
2016-06-01
313+
Initial version
314+
306315
Copyright
307316
=========
308317

0 commit comments

Comments
 (0)