Skip to content

Commit a9c499d

Browse files
committed
adding voting draft
1 parent 4a5d32a commit a9c499d

File tree

1 file changed

+53
-9
lines changed

1 file changed

+53
-9
lines changed

web/pandas/pdeps/0001-purpose-and-guidelines.md

Lines changed: 53 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[#51417](https://github.com/pandas-dev/pandas/pull/51417)
77
- Author: [Marc Garcia](https://github.com/datapythonista),
88
[Noa Tamir](https://github.com/noatamir)
9-
- Revision: 2
9+
- Revision: 3
1010

1111
## PDEP definition, purpose and scope
1212

@@ -71,17 +71,60 @@ Proposing a PDEP is done by creating a PR adding a new file to `web/pdeps/`.
7171
The file is a markdown file, you can use `web/pdeps/0001.md` as a reference
7272
for the expected format.
7373

74-
The initial status of a PDEP will be `Status: Under discussion`. This will be changed to
75-
`Status: Accepted` when the PDEP is ready and has the approval of the core team.
74+
The initial status of a PDEP will be `Status: Draft`. This will be changed to
75+
`Status: Under discussion` by the author(s), when they are ready to proceed with the descision
76+
making process.
77+
78+
#### Schedule
79+
A PDEP discussion will remain open for up to 60 days. This period aims to enable participation
80+
from volunteers, who might not always be available to respond quickly, as well as provide ample
81+
time to make changes based on suggestions and considerations offered by the participants.
82+
Similarly, the following voting period will remain open for 15 days.
83+
84+
To enable and encourage discussions on PDEPs, we follow a notification schedule. At each of the
85+
following steps, the pandas team, and the pandas dev mailing list are notified via GitHub and
86+
E-mail:
87+
- Once a PDEP is ready for discussion.
88+
- After 30 discussion days, with 30 days remaining for discussion.
89+
- After 45 discussion days, with 15 days remaining for discussion.
90+
- In case 15 days passed without any new comments, the authors may close the discussion period
91+
and open the voting period.
92+
- Once the voting period starts, after 60 days or in case of an earlier vote, with 15 days
93+
remaining for voting.
94+
- After 10 voting days, with 5 days remaining for voting.
95+
96+
#### Casting Votes
97+
As the voting period starts, a VOTE issue is created which links to the PDEP discussion issue.
98+
Each voting member may cast a vote by adding one of the following comments:
99+
100+
- +1: approve.
101+
- 0: abstain.
102+
- Reason: A one sentence reason is required.
103+
- -1: disapprove
104+
- Reason: A one sentence reason is required.
105+
A disapprove vote requires prior participation in the PDEP discussion issue.
106+
107+
Once the voting period ends, any voter may tally the votes in a comment, using the format: x-y-z,
108+
where x stands for the total of approving, y of abstaining, and z of disapproving votes cast.
109+
110+
#### Quorum and Majority
111+
For a PDEP vote to result in accepting the proposal, a quorum is required. All votes (including
112+
abstentions) are counted towards the quorum. The quorum is computed as the lower of these two
113+
values:
114+
115+
- 11 voting members.
116+
- 50% of voting members.
117+
118+
Given a quorum, a majority of 75% of the non-abstaining votes is required as well, i.e. 75% of
119+
the approving and disapproving votes must be in favor.
120+
121+
Thus, abstaining votes count towards a quorum, but not towards a majority. A voting member might
122+
choose to abstain when they have participated in the discussion, have some objections to the
123+
proposal, but do not wish to stop the proposal from moving forward, nor indicate their full
124+
support.
76125

77126
#### Accepted PDEP
78127

79-
A PDEP can only be accepted by the core development team, if the proposal is considered
80-
worth implementing. Decisions will be made based on the process detailed in the
81-
[pandas governance document](https://github.com/pandas-dev/pandas-governance/blob/master/governance.md).
82-
In general, more than one approval will be needed before the PR is merged. And
83-
there should not be any `Request changes` review at the time of merging.
84-
85128
Once a PDEP is accepted, any contributions can be made toward the implementation of the PDEP,
86129
with an open-ended completion timeline. Development of pandas is difficult to understand and
87130
forecast, being that the contributors to pandas are a mix of volunteers and developers paid from different sources,
@@ -184,6 +227,7 @@ hope can help clarify our meaning here:
184227

185228
- 3 August 2022: Initial version ([GH-47938][47938])
186229
- 15 February 2023: Version 2 ([GH-51417][51417]) clarifies the scope of PDEPs and adds examples
230+
- DD MM YY: Version 3(link) defines a structured decision making process for PDEPs
187231

188232
[7217]: https://github.com/pandas-dev/pandas/pull/7217
189233
[8074]: https://github.com/pandas-dev/pandas/issues/8074

0 commit comments

Comments
 (0)