8000 PEP 772: A round of updates (#4320) · python/peps@d0f2868 · GitHub
[go: up one dir, main page]

Skip to content

Commit d0f2868

Browse files
pradyunsgwarsawAA-Turnerhugovk
authored
PEP 772: A round of updates (#4320)
* Rewrap to 79 character wide Certain lines were wrapped incorrectly. * Tighten up language for the steering council delegations Instead of "expected", make it clear that the Steering Council "will" change their delegations. * Disallow PSF staff from serving on the packaging council There is a potential CoI around direct control over the funding that they would have approval power on. * Change initial membership organisations to an explicitly curated list This list needs to be written down before the PEP can be voted on / approved. * Soften language on Packaging workgroup members becoming voters They might not want to become a voting member, or be appropriately available to do so. * Packaging community member -> voting member * 🎨 Consistently use single space after period * Explicitly require listing affiliations * Update peps/pep-0772.rst Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> * Update peps/pep-0772.rst Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> * Update peps/pep-0772.rst Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> * Update peps/pep-0772.rst * Update peps/pep-0772.rst * Update peps/pep-0772.rst --------- Co-authored-by: Pradyun Gedam <pradyunsg@users.noreply.github.com> Co-authored-by: Barry Warsaw <barry@python.org> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
1 parent d4dba2d commit d0f2868

File tree

1 file changed

+68
-65
lines changed

1 file changed

+68
-65
lines changed

peps/pep-0772.rst

+68-65
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,8 @@ The council shall work to:
141141
* Establish appropriate decision-making processes.
< 8000 code>142142
* Improve Python packaging's user experience.
143143
* Make contributing as accessible, inclusive, and sustainable as possible.
144-
* Strive to seek consensus among contributors before acting in a formal capacity.
144+
* Strive to seek consensus among contributors before acting in a formal
145+
capacity.
145146

146147
Responsibilities
147148
================
@@ -167,19 +168,17 @@ publicly in a timely fashion.
167168
Delegations
168169
-----------
169170

170-
The Python Steering Council is expected to delegate decision making to
171-
the Packaging Council for PEPs related to the Python packaging. The bodies
172-
would work together on issues that intersect the packaging domain and language
173-
stewardship (including the CPython implementation, standard library, and
174-
distribution).
171+
The Python Steering Council will delegate decision making to the Packaging
172+
Council for PEPs related to the Python packaging. The bodies would work
173+
together on issues that intersect the packaging domain and language stewardship
174+
(including the CPython implementation, standard library, and distribution).
175175

176-
The PSF Board is encouraged to formally deprecate the Packaging Workgroup
177-
and the Packaging Council would take on the responsibilities of the
178-
PSF's Packaging Workgroup.
176+
The PSF Board is encouraged to formally deactivate the Packaging Workgroup and
177+
the Packaging Council would take on the responsibilities of the PSF's Packaging
178+
Workgroup.
179179

180-
The PyPA is expected to work with the Packaging Council to establish a
181-
decision making process that governs the technical projects under the PyPA
182-
umbrella.
180+
The PyPA is expected to work with the Packaging Council to establish a decision
181+
making process that governs the technical projects under the PyPA umbrella.
183182

184183
Processes
185184
=========
@@ -189,13 +188,14 @@ Election of the council
189188

190189
A council election consists of two phases:
191190

192-
* Phase 1: A member of the Packaging community (defined later in this document)
193-
can self-nominate themselves for the council elections.
194-
* Phase 2: Each Packaging community member can assign zero to five stars to
195-
each candidate. Voting is performed anonymously. The outcome of the vote is
196-
determined using the `STAR voting system`_, modified to use the `Multi-winner
197-
Bloc STAR`_ approach. If a tie occurs, it may be resolved by mutual agreement
198-
among the candidates, or else the winner will be chosen at random.
191+
* Phase 1: A voting member (defined later in this document) can self-nominate
192+
themselves, or nominate any other candidate, for the council elections. Such a nomination must include
193+
information about the member's relevant affiliations.
194+
* Phase 2: Each voting member can assign zero to five stars to each candidate.
195+
Voting is performed anonymously. The outcome of the vote is determined using
196+
the `STAR voting system`_, modified to use the `Multi-winner Bloc STAR`_
197+
approach. If a tie occurs, it may be resolved by mutual agreement among the
198+
candidates, or else the winner will be chosen at random.
199199

200200
Each phase should last two weeks.
201201

@@ -209,8 +209,8 @@ election for the council.
209209
Term
210210
----
211211

212-
There shall be two cohorts of council members: Cohort A composed of two
213-
members and Cohort B composed of three members.
212+
There shall be two cohorts of council members: Cohort A composed of two members
213+
and Cohort B composed of three members.
214214

215215
Each council member shall be elected for a two-year term, unless they are
216216
replacing a council member that resigned, was removed, or otherwise becomes
@@ -223,9 +223,9 @@ finalised until the next elections for their cohort are finalised.
223223

224224
Only for elections involving the entire council (like the initial council
225225
election), the two candidates receiving the highest number of votes shall be
226-
designated Cohort A with a two year term, and the three candidates
227-
receiving the highest number of votes after shall be designated Cohort B with a
228-
one year term.
226+
designated Cohort A with a two year term, and the three candidates receiving
227+
the highest number of votes after shall be designated Cohort B with a one year
228+
term.
229229

230230
There are no term limits for individual council members.
231231

@@ -245,14 +245,18 @@ Conflicts of interest
245245
---------------------
246246

247247
No more than two Packaging Council members should be employed by or
248-
significantly affiliated with the same entity. An entity would be a company,
249-
a company and its subsidiaries, or another incorporated entity such as a
250-
non-profit or educational institution with its own mission and goals. PSF members are explicitly exempt from this restriction, but _not_ PSF employees, directors, or officers.
248+
significantly affiliated with the same entity. An entity is a company, a
249+
company and its subsidiaries, or another incorporated entity such as a
250+
non-profit or educational institution w A3DB ith its own mission and goals. PSF
251+
members are explicitly exempt from this restriction, but *not* PSF directors
252+
or officers.
251253

252254
While we trust council members to act in the best interests of Python rather
253255
than themselves or their employers, the mere appearance of any one company
254256
dominating Python development could itself be harmful and erode trust.
255257

258+
PSF staff members are not permitted to be members of the Packaging Council.
259+
256260
In a council election, if more than two of the top five vote-getters work for
257261
the same employer, then whichever of them ranked lowest is disqualified and the
258262
6th-ranking candidate moves up into 5th place; this is repeated until a valid
@@ -263,48 +267,47 @@ During a council term, if changing circumstances cause this rule to be broken
263267
council members must resign to remedy the issue, and the resulting vacancies
264268
can then be filled as normal.
265269

266-
-------------------
267-
Packaging community
268-
-------------------
270+
--------------
271+
Voting members
272+
--------------
269273

270274
Responsibility
271275
==============
272276

273-
Packaging community members participate in formal votes to elect the Packaging
274-
Council.
277+
Voting members participate in formal votes to elect the Packaging Council.
278+
275279

276280
Processes
277281
=========
278282

279283
Initial membership
280284
------------------
281285

282-
Initial membership in the Packaging community will include anyone who has taken
283-
the time to formalise their participation in the Packaging community. This
284-
includes:
286+
Initial set of voting members will include anyone who has taken the time to
287+
formalise their participation in the packaging community. This includes:
285288

286289
* PyPA members: Anyone with the triage bit or commit bit, or at least one
287290
project in the PyPA organisation.
288291
* Packaging workgroup members: Anyone who is listed on the Packaging WG charter
289-
will be moved into the Packaging community.
292+
who is willing to participate is welcome.
290293
* Interested core team members: Any Python core team member who is willing to
291294
participate is welcome.
292-
* Wider community members: Non-profit organisations that participate in
293-
packaging or working with new packagers. For example, PyOpenSci, NumFocus,
294-
Django, are encouraged to initially nominate up to seven members by sending
295-
an email to \[todo\].
295+
* Wider community members: An initial set of for-profit companies, nonprofit
296+
organizations, academic or educational institutions and smaller unaffiliated
297+
projects would be invited to nominate three individuals to represent them.
298+
See [link to Appendix] for the initial set of community voting members.
296299

297300
Adding a new member
298301
-------------------
299302

300-
Members are added to the Packaging community by a simple majority vote by the
301-
current membership. Quorum for adding new members is 50%.
303+
New voting members are added by a simple majority vote by the current
304+
membership. Quorum for adding new members is 50%.
302305

303-
A vote to add a new member is triggered when a Packaging community member calls
304-
for one publicly on an appropriate communication channel, and another Packaging
305-
community member seconds the call within two weeks.
306+
A vote to add a new member is triggered when a voting member calls for one
307+
publicly on an appropriate communication channel, and another voting member
308+
seconds the call within two weeks.
306309

307-
The vote lasts for two weeks. Packaging community members vote for or against.
310+
The vote lasts for one week. Each member can vote for or against.
308311

309312
Removal of a member
310313
-------------------
@@ -316,28 +319,28 @@ re-submit their intention to resume their participation to the Packaging
316319
Council in writing.
317320

318321
In exceptional circumstances, it may be necessary to remove someone from the
319-
Packaging community against their will (for example: egregious and ongoing code
320-
of conduct violations). A Packaging community member may be removed by a
321-
two-thirds majority vote by the Packaging Council (in practice: 4:1 for a
322-
council with five members).
322+
voting members against their will (for example: egregious and ongoing code of
323+
conduct violations). A voting member may be removed by a two-thirds majority
324+
vote by the Packaging Council (in practice: 4:1 for a council with five
325+
members).
323326

324-
If the relevant Packaging community member is also on the Packaging Council,
325-
then they can participate in the vote. They are removed from the Packaging
326-
Council if the vote removes them from the Packaging community. The vacancy is
327-
filled as per the process for filling vacancies in the Packaging Council.
327+
If the relevant voting member is also on the Packaging Council, then they can
328+
participate in the vote. They are removed from the Packaging Council if the
329+
vote removes them as a voting member. The vacancy is filled as per the process
330+
for filling vacancies in the Packaging Council.
328331

329332
Vote of no confidence
330333
---------------------
331334

332-
In exceptional circumstances, the Packaging community may remove a sitting
333-
council member, or the entire council, via a vote of no confidence.
335+
In exceptional circumstances, the voting members may remove a sitting council
336+
member, or the entire council, via a vote of no confidence.
334337

335-
A no-confidence vote is triggered when a Packaging community member calls for
336-
one publicly on an appropriate public communication channel, and another
337-
Packaging community member seconds the call within two weeks.
338+
A no-confidence vote is triggered when a voting member calls for one publicly
339+
on an appropriate public communication channel, and another voting member
340+
seconds the call within two weeks.
338341

339-
The vote lasts for two weeks. Packaging community members vote for or against.
340-
If at least two thirds of voters express a lack of confidence, then the vote
342+
The vote lasts for two weeks. Each voting member votes for or against. If at
343+
least two thirds of voters express a lack of confidence, then the vote
341344
succeeds. Quorum for a vote of no confidence is 50%.
342345

343346
There are two forms of no-confidence votes: those targeting a single member,
@@ -352,8 +355,8 @@ Changing the governance
352355
-----------------------
353356

354357
Changes to this governance model, once it is accepted, will require at least a
355-
two-thirds majority of votes cast in a Packaging community vote which should be
356-
open for two weeks.
358+
two-thirds majority of votes cast in a vote, which should be open for two
359+
weeks.
357360

358361
==============
359362
Rejected Ideas
@@ -401,7 +404,7 @@ two individuals related to a single organisation can be on the council.
401404
Limiting it to one is workable; although it hasn't come up in the SC, people do
402405
move around, and we wouldn't want good candidates to either make employment
403406
decisions based on PC membership, or have to resign based on an employment
404-
change. Limiting it to a maximum of two, plus votes of no confidence is
407+
change. Limiting it to a maximum of two, plus votes of no confidence is
405408
probably sufficient safety from any undue employer influence.
406409

407410
---------------------------------------------------------------------------
@@ -442,7 +445,7 @@ Packaging Council will meet on a regular basis (twice a month).
442445
* Coordinate with the Steering Council on PEPs that need input from both
443446
groups.
444447
* Coordinate with PyPA on their ongoing work to support individual projects.
445-
* Delegate to domain experts or working groups in the Packaging community, for
448+
* Delegate to domain experts or working groups in the packaging community, for
446449
initiatives/PEPs with a niche focus (analogous to how the Steering Council
447450
sends certain PEPs to the C API working group).
448451
* Scope out work that might best be done by hiring someone and then work with

0 commit comments

Comments
 (0)
0