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 administer 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 within two
281       weeks after each stable feature release (that is, change to
282       "PERL_REVISION" or "PERL_VERSION") or after two years, whichever comes
283       first. The council members will serve until the completion of the next
284       Term Election unless they are removed.
285
286       Removal
287
288       Steering Council members may resign their position at any time.
289
290       Whenever there are vacancies on the Steering Council, the council will
291       organize a Special Election within one week after the vacancy occurs.
292       If the entire Steering Council is ever vacant, a Term Election will be
293       held instead.
294
295       If a Steering Council member is deceased, or drops out of touch and
296       cannot be contacted for a month or longer, then the rest of the council
297       may vote to declare their seat vacant.  If an absent member returns
298       after such a declaration is made, they are not reinstated
299       automatically, but may run in the Special Election to fill the vacancy.
300
301       Otherwise, Steering Council members may only be removed before the end
302       of their term through a No Confidence Vote by the Core Team.
303
304       Rules for Elections
305
306       Term and Special Election are ranked-choice votes to construct an
307       ordered list of candidates to fill vacancies in the Steering Council.
308
309       A Vote Administrator must be selected following the rules in the "Vote
310       Administrator" section.
311
312       Both Term and Special Elections occur in two stages:
313
314       1.  Candidates advertise their interest in serving. Candidates must be
315           nominated by an active Core Team member. Self-nominations are
316           allowed.  Nominated candidates may share a statement about their
317           candidacy with the Core Team.
318
319       2.  Active Core Team Members vote by ranking all candidates.  Voting is
320           performed anonymously.  After voting is complete, candidates are
321           ranked using the Condorcet Internet Voting Service's proportional
322           representation mode.  If a tie occurs, it may be resolved by mutual
323           agreement among the tied candidates, or else the tie will be
324           resolved through random selection by the Vote Administrator.
325
326       Anyone voted off the Core Team is not eligible to be a candidate for
327       Steering Council unless re-instated to the Core Team.
328
329       For a Term Election, each phase will last two weeks.  At the end of the
330       second phase, the top three ranked candidates are elected as the new
331       Steering Council.
332
333       For a Special Election, each phase will last one week.  At the end of
334       the second phase, vacancies are filled from the ordered list of
335       candidates until no vacancies remain.
336
337       The election of the first Steering Council will be a Term Election.
338       Ricardo Signes will be the Vote Administrator for the initial Term
339       Election unless he is a candidate, in which case he will select a non-
340       candidate administrator to replace him.
341
342   The Vote Administrator
343       Every election or vote requires a Vote Administrator who manages
344       communication, collection of secret ballots, and all other necessary
345       activities to complete the voting process.
346
347       Unless otherwise specified, the Steering Council selects the Vote
348       Administrator.
349
350       A Vote Administrator must not be a member of the Steering Council nor a
351       candidate or subject of the vote.  A Vote Administrator may be a member
352       of the Core Team and, if so, may cast a vote while also serving as
353       administrator.  If the Vote Administrator becomes a candidate during an
354       election vote, they will appoint a non-candidate replacement.
355
356       If the entire Steering Council is vacant or is the subject of a No
357       Confidence Vote, then the Core Team will select a Vote Administrator by
358       consensus.  If consensus cannot be reached within one week, the
359       President of The Perl Foundation will select a Vote Administrator.
360

Core Team Members

362       The current members of the Perl Core Team are:
363
364       •   Abhijit Menon-Sen (inactive)
365
366       •   Andy Dougherty (inactive)
367
368       •   Chad Granum
369
370       •   Chris 'BinGOs' Williams
371
372       •   Craig Berry
373
374       •   Dagfinn Ilmari Mannsaaker
375
376       •   Dave Mitchell
377
378       •   David Golden
379
380       •   H. Merijn Brand
381
382       •   Hugo van der Sanden
383
384       •   James E Keenan
385
386       •   Jan Dubois (inactive)
387
388       •   Jesse Vincent (inactive)
389
390       •   Karen Etheridge
391
392       •   Karl Williamson
393
394       •   Leon Timmermans
395
396       •   Matthew Horsfall
397
398       •   Max Maischein
399
400       •   Neil Bowers
401
402       •   Nicholas Clark
403
404       •   Nicolas R.
405
406       •   Paul "LeoNerd" Evans
407
408       •   Philippe "BooK" Bruhat
409
410       •   Ricardo Signes
411
412       •   Steve Hay
413
414       •   Stuart Mackintosh
415
416       •   Todd Rinaldo
417
418       •   Tony Cook
419
420
421
422perl v5.34.1                      2022-03-15                        PERLGOV(1)
Impressum