1PERLGOV(1)             Perl Programmers Reference Guide             PERLGOV(1)
2
3
4

NAME

6       perlgov - Perl Rules of Governance
7

PREAMBLE

9       We are forming a system of governance for development of the Perl
10       programming language.
11
12       The scope of governance includes the language definition, its
13       implementation, its test suite, its documentation, and the policies and
14       procedures by which it is developed and maintained.
15
16       The system of governance includes definitions of the groups that will
17       make decisions, the rules by which these groups are formed and changed,
18       and the enumerated powers and constraints on the activities of these
19       governing groups.
20
21       In forming a system of governance, we seek to achieve the following
22       goals:
23
24       •   We want a system that is functional.  That means the governing
25           groups may decide to undertake large changes, or they may decide to
26           act conservatively, but they will act with intent and clear
27           communication rather than fail to reach decisions when needed.
28
29       •   We want a system that is trusted. That means that a reasonable
30           contributor to Perl might disagree with decisions made by the
31           governing groups, but will accept that they were made in good faith
32           in consultation with relevant communities outside the governing
33           groups.
34
35       •   We want a system that is sustainable.  That means it has provisions
36           to self-modify, including ways of adding new members to the
37           governing groups, ways to survive members becoming inactive, and
38           ways of amending the rules of governance themselves if needed.
39
40       •   We want a system that is transparent.  That means that it will
41           prefer policies that manage ordinary matters in public, and it will
42           prefer secrecy in a limited number of situations.
43
44       •   We want a system that is respectful.  That means that it will
45           establish standards of civil discourse that allow for healthy
46           disagreement but avoid rancor and hostility in the community for
47           which it is responsible.
48

Mandate

50       Perl language governance shall work to:
51
52       •   Maintain the quality, stability, and continuity of the Perl
53           language and interpreter
54
55       •   Guide the evolution of the Perl language and interpreter
56
57       •   Establish and oversee the policies, procedures, systems, and
58           mechanisms that enable a community of contributors to the Perl
59           language and interpreter
60
61       •   Encourage discussion and consensus among contributors as
62           preferential to formal decision making by governance groups
63
64       •   Facilitate communication between contributors and external
65           stakeholders in the broader Perl ecosystem
66

Definitions

68       This document describes three roles involved in governance:
69
70       "Core Team"
71       "Steering Council"
72       "Vote Administrator"
73
74       A section on each follows.
75
76   The Core Team
77       The Core Team are a group of trusted volunteers involved in the ongoing
78       development of the Perl language and interpreter.  They are not
79       required to be language developers or committers.
80
81       References to specific votes are explained in the "Rules for Voting"
82       section.
83
84       Powers
85
86       In addition to their contributions to the Perl language, the Core Team
87       sets the rules of Perl governance, decides who participates in what
88       role in governance, and delegates substantial decision making power to
89       the Steering Council.
90
91       Specifically:
92
93       •   They elect the Steering Council and have the power to remove
94           Steering Council members.
95
96       •   In concert with the Steering Council, they manage Core Team
97           membership.
98
99       •   In concert with the Steering Council, they have the power to modify
100           the Perl Rules of Governance.
101
102       The Core Team do not have any authority over parts of the Perl
103       ecosystem unrelated to developing and releasing the language itself.
104       These include, but are not limited to:
105
106       •   The Perl Foundation
107
108       •   CPAN administration and CPAN authors
109
110       •   perl.org, metacpan.org, and other community-maintained websites and
111           services
112
113       •   Perl conferences and events, except those organized directly by the
114           Core Team
115
116       •   Perl-related intellectual property legally owned by third-parties,
117           except as allowed by applicable licenses or agreements
118
119       Membership
120
121       The initial Core Team members will be specified when this document is
122       first ratified.
123
124       Any Core Team member may nominate someone to be added to the Core Team
125       by sending the nomination to the Steering Council.  The Steering
126       Council must approve or reject the nomination.  If approved, the
127       Steering Council will organize a Membership Change Vote to ratify the
128       addition.
129
130       Core Team members should demonstrate:
131
132       •   A solid track record of being constructive and helpful
133
134       •   Significant contributions to the project's goals, in any form
135
136       •   Willingness to dedicate some time to improving Perl
137
138       Contributions are not limited to code. Here is an incomplete list of
139       areas where contributions may be considered for joining the Core Team:
140
141       •   Working on community management and outreach
142
143       •   Providing support on mailing lists, IRC, or other forums
144
145       •   Triaging tickets
146
147       •   Writing patches (code, docs, or tests)
148
149       •   Reviewing patches (code, docs, or tests)
150
151       •   Participating in design discussions
152
153       •   Providing expertise in a particular domain (security, i18n, etc.)
154
155       •   Managing Perl infrastructure (websites, CI, documentation, etc.)
156
157       •   Maintaining significant projects in the Perl ecosystem
158
159       •   Creating visual designs
160
161       Core Team membership acknowledges sustained and valuable efforts that
162       align well with the philosophy and the goals of the Perl project.
163
164       Core Team members are expected to act as role models for the community
165       and custodians of the project, on behalf of the community and all those
166       who rely on Perl.
167
168       Term
169
170       Core Team members serve until they are removed.
171
172       Removal
173
174       Core Team Members may resign their position at any time.
175
176       In exceptional circumstances, it may be necessary to remove someone
177       from the Core Team against their will, such as for flagrant or repeated
178       violations of a Code of Conduct.  Any Core Team member may send a
179       recall request to the Steering Council naming the individual to be
180       removed.  The Steering Council must approve or reject the recall
181       request.  If approved, the Steering Council will organize a Membership
182       Change vote to ratify the removal.
183
184       If the removed member is also on the Steering Council, then they are
185       removed from the Steering Council as well.
186
187       Inactivity
188
189       Core Team members who have stopped contributing are encouraged to
190       declare themselves "inactive". Inactive members do not nominate or
191       vote.  Inactive members may declare themselves active at any time,
192       except when a vote has been proposed and is not concluded.  Eligibility
193       to nominate or vote will be determined by the Vote Administrator.
194
195       To record and honor their contributions, inactive Core Team members
196       will continue to be listed alongside active members.
197
198       No Confidence in the Steering Council
199
200       The Core Team may remove either a single Steering Council member or the
201       entire Steering Council via a No Confidence Vote.
202
203       A No Confidence Vote is triggered when a Core Team member calls for one
204       publicly on an appropriate project communication channel, and another
205       Core Team member seconds the proposal.
206
207       If a No Confidence Vote removes all Steering Council members, the Vote
208       Administrator of the No Confidence Vote will then administer an
209       election to select a new Steering Council.
210
211       Amending Perl Rules of Governance
212
213       Any Core Team member may propose amending the Perl Rules of Governance
214       by sending a proposal to the Steering Council.  The Steering Council
215       must decide to approve or reject the proposal.  If approved, the
216       Steering Council will organize an Amendment Vote.
217
218       Rules for Voting
219
220       Membership Change, Amendment, and No Confidence Votes require 2/3 of
221       participating votes from Core Team members to pass.
222
223       A Vote Administrator must be selected following the rules in the "Vote
224       Administrator" section.
225
226       The vote occurs in two steps:
227
228       1.  The Vote Administrator describes the proposal being voted upon.
229           The Core Team then may discuss the matter in advance of voting.
230
231       2.  Active Core Team members vote in favor or against the proposal.
232           Voting is performed anonymously.
233
234       For a Membership Change Vote, each phase will last one week.  For
235       Amendment and No Confidence Votes, each phase will last two weeks.
236
237   The Steering Council
238       The Steering Council is a 3-person committee, elected by the Core Team.
239       Candidates are not required to be members of the Core Team.  Non-member
240       candidates are added to the Core Team if elected as if by a Membership
241       Change Vote.
242
243       References to specific elections are explained in the "Rules for
244       Elections" section.
245
246       Powers
247
248       The Steering Council has broad authority to make decisions about the
249       development of the Perl language, the interpreter, and all other
250       components, systems and processes that result in new releases of the
251       language interpreter.
252
253       For example, it can:
254
255       •   Manage the schedule and process for shipping new releases
256
257       •   Establish procedures for proposing, discussing and deciding upon
258           changes to the language
259
260       •   Delegate power to individuals on or outside the Steering Council
261
262       Decisions of the Steering Council will be made by majority vote of non-
263       vacant seats on the council.
264
265       The Steering Council should look for ways to use these powers as little
266       as possible.  Instead of voting, it's better to seek consensus. Instead
267       of ruling on individual cases, it's better to define standards and
268       processes that apply to all cases.
269
270       As with the Core Team, the Steering Council does not have any authority
271       over parts of the Perl ecosystem unrelated to developing and releasing
272       the language itself.
273
274       The Steering Council does not have the power to modify the Perl Rules
275       of Governance, except as provided in the section "Amending Perl Rules
276       of Governance".
277
278       Term
279
280       A new Steering Council will be chosen by a Term Election after each
281       stable feature release (that is, change to "PERL_REVISION" or
282       "PERL_VERSION") or after two years, whichever comes first. The Term
283       Election will be organized within two weeks of the triggering event.
284       The council members will serve until the completion of the next Term
285       Election unless they are removed.
286
287       Removal
288
289       Steering Council members may resign their position at any time.
290
291       Whenever there are vacancies on the Steering Council, the council will
292       organize a Special Election within one week after the vacancy occurs.
293       If the entire Steering Council is ever vacant, a Term Election will be
294       held instead.
295
296       The Steering Council may defer the Special Election for up to twelve
297       weeks.  Their intent to do so must be publicly stated to the Core Team.
298       If any active Core Team member objects within one week, the Special
299       Election must be organized within two weeks.  At any time, the Steering
300       Council may choose to cancel the deferment and immediately commence
301       organizing a Special Election.
302
303       If a Steering Council member is deceased, or drops out of touch and
304       cannot be contacted for a month or longer, then the rest of the council
305       may vote to declare their seat vacant.  If an absent member returns
306       after such a declaration is made, they are not reinstated
307       automatically, but may run in the Special Election to fill the vacancy.
308
309       Otherwise, Steering Council members may only be removed before the end
310       of their term through a No Confidence Vote by the Core Team.
311
312       Rules for Elections
313
314       Term and Special Election are ranked-choice votes to construct an
315       ordered list of candidates to fill vacancies in the Steering Council.
316
317       A Vote Administrator must be selected following the rules in the "Vote
318       Administrator" section.
319
320       Both Term and Special Elections occur in two stages:
321
322       1.  Candidates advertise their interest in serving. Candidates must be
323           nominated by an active Core Team member. Self-nominations are
324           allowed.  Nominated candidates may share a statement about their
325           candidacy with the Core Team.
326
327       2.  If there are no more candidates than open seats, no vote is
328           required.  The candidates will be declared to have won when the
329           nomination period ends.
330
331           Otherwise, active Core Team Members vote by ranking all candidates.
332           Voting is performed anonymously.  After voting is complete,
333           candidates are ranked using the Condorcet Internet Voting Service's
334           proportional representation mode.  If a tie occurs, it may be
335           resolved by mutual agreement among the tied candidates, or else the
336           tie will be resolved through random selection by the Vote
337           Administrator.
338
339       Anyone voted off the Core Team is not eligible to be a candidate for
340       Steering Council unless re-instated to the Core Team.
341
342       For a Term Election, each phase will last two weeks.  At the end of the
343       second phase, the top three ranked candidates are elected as the new
344       Steering Council.
345
346       For a Special Election, each phase will last one week.  At the end of
347       the second phase, vacancies are filled from the ordered list of
348       candidates until no vacancies remain.
349
350       The election of the first Steering Council will be a Term Election.
351       Ricardo Signes will be the Vote Administrator for the initial Term
352       Election unless he is a candidate, in which case he will select a non-
353       candidate administrator to replace him.
354
355   The Vote Administrator
356       Every election or vote requires a Vote Administrator who manages
357       communication, collection of secret ballots, and all other necessary
358       activities to complete the voting process.
359
360       Unless otherwise specified, the Steering Council selects the Vote
361       Administrator.
362
363       A Vote Administrator must not be a member of the Steering Council nor a
364       candidate or subject of the vote.  A Vote Administrator may be a member
365       of the Core Team and, if so, may cast a vote while also serving as
366       administrator.  If the Vote Administrator becomes a candidate during an
367       election vote, they will appoint a non-candidate replacement.
368
369       If the entire Steering Council is vacant or is the subject of a No
370       Confidence Vote, then the Core Team will select a Vote Administrator by
371       consensus.  If consensus cannot be reached within one week, the
372       President of The Perl Foundation will select a Vote Administrator.
373

Steering Council Members

375       •   Neil Bowers
376
377       •   Paul Evans
378
379       •   Ricardo Signes
380

Core Team Members

382       The current members of the Perl Core Team are:
383
384   Active Members
385       Chad Granum <exodist7@gmail.com>
386       Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
387       Craig Berry <craigberry@mac.com>
388       Dagfinn Ilmari Mannsaaker <ilmari@ilmari.org>
389       David Golden <xdg@xdg.me>
390       David Mitchell <davem@iabyn.com>
391       H. Merijn Brand <perl5@tux.freedom.nl>
392       Hugo van der Sanden <hv@crypt.org>
393       James E Keenan <jkeenan@cpan.org>
394       Jason McIntosh <jmac@jmac.org>
395       Karen Etheridge <ether@cpan.org>
396       Karl Williamson <khw@cpan.org>
397       Leon Timmermans <fawaka@gmail.com>
398       Matthew Horsfall <wolfsage@gmail.com>
399       Max Maischein <cpan@corion.net>
400       Neil Bowers <neilb@neilb.org>
401       Nicholas Clark <nick@ccl4.org>
402       Nicolas R <atoomic@cpan.org>
403       Paul "LeoNerd" Evans <leonerd@leonerd.org.uk>
404       Philippe "BooK" Bruhat <book@cpan.org>
405       Ricardo Signes <rjbs@semiotic.systems>
406       Steve Hay <steve.m.hay@googlemail.com>
407       Stuart Mackintosh <stuart@perlfoundation.org>
408       Todd Rinaldo <toddr@cpanel.net>
409       Tony Cook <tony@develop-help.com>
410
411   Inactive Members
412       Abhijit Menon-Sen <ams@toroid.org>
413       Andy Dougherty <doughera@lafayette.edu>
414       Jan Dubois <jan@jandubois.com>
415       Jesse Vincent <jesse@fsck.com>
416
417
418
419perl v5.36.0                      2022-08-30                        PERLGOV(1)
Impressum