diff options
Diffstat (limited to 'upstream/debian-bookworm/man1/perlgov.1')
-rw-r--r-- | upstream/debian-bookworm/man1/perlgov.1 | 524 |
1 files changed, 524 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man1/perlgov.1 b/upstream/debian-bookworm/man1/perlgov.1 new file mode 100644 index 00000000..6c49040e --- /dev/null +++ b/upstream/debian-bookworm/man1/perlgov.1 @@ -0,0 +1,524 @@ +.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "PERLGOV 1" +.TH PERLGOV 1 "2023-11-25" "perl v5.36.0" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +perlgov \- Perl Rules of Governance +.SH "PREAMBLE" +.IX Header "PREAMBLE" +We are forming a system of governance for development of the Perl programming +language. +.PP +The scope of governance includes the language definition, its +implementation, its test suite, its documentation, and the policies and +procedures by which it is developed and maintained. +.PP +The system of governance includes definitions of the groups that will make +decisions, the rules by which these groups are formed and changed, and the +enumerated powers and constraints on the activities of these governing +groups. +.PP +In forming a system of governance, we seek to achieve the following goals: +.IP "\(bu" 4 +We want a system that is functional. That means the governing groups may +decide to undertake large changes, or they may decide to act conservatively, +but they will act with intent and clear communication rather than fail to reach +decisions when needed. +.IP "\(bu" 4 +We want a system that is trusted. That means that a reasonable contributor to +Perl might disagree with decisions made by the governing groups, but will +accept that they were made in good faith in consultation with relevant +communities outside the governing groups. +.IP "\(bu" 4 +We want a system that is sustainable. That means it has provisions to +self-modify, including ways of adding new members to the governing groups, ways +to survive members becoming inactive, and ways of amending the rules of +governance themselves if needed. +.IP "\(bu" 4 +We want a system that is transparent. That means that it will prefer policies +that manage ordinary matters in public, and it will prefer secrecy in a limited +number of situations. +.IP "\(bu" 4 +We want a system that is respectful. That means that it will establish +standards of civil discourse that allow for healthy disagreement but avoid +rancor and hostility in the community for which it is responsible. +.SH "Mandate" +.IX Header "Mandate" +Perl language governance shall work to: +.IP "\(bu" 4 +Maintain the quality, stability, and continuity of the Perl language and +interpreter +.IP "\(bu" 4 +Guide the evolution of the Perl language and interpreter +.IP "\(bu" 4 +Establish and oversee the policies, procedures, systems, and mechanisms that +enable a community of contributors to the Perl language and interpreter +.IP "\(bu" 4 +Encourage discussion and consensus among contributors as preferential to formal +decision making by governance groups +.IP "\(bu" 4 +Facilitate communication between contributors and external stakeholders in the +broader Perl ecosystem +.SH "Definitions" +.IX Header "Definitions" +This document describes three roles involved in governance: +.ie n .IP """Core Team""" 4 +.el .IP "``Core Team''" 4 +.IX Item "Core Team" +.PD 0 +.ie n .IP """Steering Council""" 4 +.el .IP "``Steering Council''" 4 +.IX Item "Steering Council" +.ie n .IP """Vote Administrator""" 4 +.el .IP "``Vote Administrator''" 4 +.IX Item "Vote Administrator" +.PD +.PP +A section on each follows. +.SS "The Core Team" +.IX Subsection "The Core Team" +The Core Team are a group of trusted volunteers involved in the ongoing +development of the Perl language and interpreter. They are not required to be +language developers or committers. +.PP +References to specific votes are explained in the \*(L"Rules for Voting\*(R" section. +.PP +\fIPowers\fR +.IX Subsection "Powers" +.PP +In addition to their contributions to the Perl language, the Core Team sets +the rules of Perl governance, decides who participates in what role in +governance, and delegates substantial decision making power to the Steering +Council. +.PP +Specifically: +.IP "\(bu" 4 +They elect the Steering Council and have the power to remove Steering +Council members. +.IP "\(bu" 4 +In concert with the Steering Council, they manage Core Team membership. +.IP "\(bu" 4 +In concert with the Steering Council, they have the power to modify the Perl +Rules of Governance. +.PP +The Core Team do not have any authority over parts of the Perl ecosystem +unrelated to developing and releasing the language itself. These include, but +are not limited to: +.IP "\(bu" 4 +The Perl Foundation +.IP "\(bu" 4 +\&\s-1CPAN\s0 administration and \s-1CPAN\s0 authors +.IP "\(bu" 4 +perl.org, metacpan.org, and other community-maintained websites and services +.IP "\(bu" 4 +Perl conferences and events, except those organized directly by the Core Team +.IP "\(bu" 4 +Perl-related intellectual property legally owned by third-parties, except as +allowed by applicable licenses or agreements +.PP +\fIMembership\fR +.IX Subsection "Membership" +.PP +The initial Core Team members will be specified when this document is +first ratified. +.PP +Any Core Team member may nominate someone to be added to the Core Team by +sending the nomination to the Steering Council. The Steering Council must +approve or reject the nomination. If approved, the Steering Council will +organize a Membership Change Vote to ratify the addition. +.PP +Core Team members should demonstrate: +.IP "\(bu" 4 +A solid track record of being constructive and helpful +.IP "\(bu" 4 +Significant contributions to the project's goals, in any form +.IP "\(bu" 4 +Willingness to dedicate some time to improving Perl +.PP +Contributions are not limited to code. Here is an incomplete list of areas +where contributions may be considered for joining the Core Team: +.IP "\(bu" 4 +Working on community management and outreach +.IP "\(bu" 4 +Providing support on mailing lists, \s-1IRC,\s0 or other forums +.IP "\(bu" 4 +Triaging tickets +.IP "\(bu" 4 +Writing patches (code, docs, or tests) +.IP "\(bu" 4 +Reviewing patches (code, docs, or tests) +.IP "\(bu" 4 +Participating in design discussions +.IP "\(bu" 4 +Providing expertise in a particular domain (security, i18n, etc.) +.IP "\(bu" 4 +Managing Perl infrastructure (websites, \s-1CI,\s0 documentation, etc.) +.IP "\(bu" 4 +Maintaining significant projects in the Perl ecosystem +.IP "\(bu" 4 +Creating visual designs +.PP +Core Team membership acknowledges sustained and valuable efforts that align +well with the philosophy and the goals of the Perl project. +.PP +Core Team members are expected to act as role models for the community and +custodians of the project, on behalf of the community and all those who rely +on Perl. +.PP +\fITerm\fR +.IX Subsection "Term" +.PP +Core Team members serve until they are removed. +.PP +\fIRemoval\fR +.IX Subsection "Removal" +.PP +Core Team Members may resign their position at any time. +.PP +In exceptional circumstances, it may be necessary to remove someone from the +Core Team against their will, such as for flagrant or repeated violations of a +Code of Conduct. Any Core Team member may send a recall request to the +Steering Council naming the individual to be removed. The Steering Council +must approve or reject the recall request. If approved, the Steering Council +will organize a Membership Change vote to ratify the removal. +.PP +If the removed member is also on the Steering Council, then they are removed +from the Steering Council as well. +.PP +\fIInactivity\fR +.IX Subsection "Inactivity" +.PP +Core Team members who have stopped contributing are encouraged to declare +themselves \*(L"inactive\*(R". Inactive members do not nominate or vote. Inactive +members may declare themselves active at any time, except when a vote has been +proposed and is not concluded. Eligibility to nominate or vote will be +determined by the Vote Administrator. +.PP +To record and honor their contributions, inactive Core Team members will +continue to be listed alongside active members. +.PP +\fINo Confidence in the Steering Council\fR +.IX Subsection "No Confidence in the Steering Council" +.PP +The Core Team may remove either a single Steering Council member or the entire +Steering Council via a No Confidence Vote. +.PP +A No Confidence Vote is triggered when a Core Team member calls for one +publicly on an appropriate project communication channel, and another Core +Team member seconds the proposal. +.PP +If a No Confidence Vote removes all Steering Council members, the Vote +Administrator of the No Confidence Vote will then administer an election +to select a new Steering Council. +.PP +\fIAmending Perl Rules of Governance\fR +.IX Subsection "Amending Perl Rules of Governance" +.PP +Any Core Team member may propose amending the Perl Rules of Governance by +sending a proposal to the Steering Council. The Steering Council must decide +to approve or reject the proposal. If approved, the Steering Council will +organize an Amendment Vote. +.PP +\fIRules for Voting\fR +.IX Subsection "Rules for Voting" +.PP +Membership Change, Amendment, and No Confidence Votes require 2/3 of +participating votes from Core Team members to pass. +.PP +A Vote Administrator must be selected following the rules in the \*(L"Vote +Administrator\*(R" section. +.PP +The vote occurs in two steps: +.IP "1." 4 +The Vote Administrator describes the proposal being voted upon. The Core Team +then may discuss the matter in advance of voting. +.IP "2." 4 +Active Core Team members vote in favor or against the proposal. Voting is +performed anonymously. +.PP +For a Membership Change Vote, each phase will last one week. For Amendment and +No Confidence Votes, each phase will last two weeks. +.SS "The Steering Council" +.IX Subsection "The Steering Council" +The Steering Council is a 3\-person committee, elected by the Core +Team. Candidates are not required to be members of the Core Team. Non-member +candidates are added to the Core Team if elected as if by a Membership Change +Vote. +.PP +References to specific elections are explained in the \*(L"Rules for Elections\*(R" section. +.PP +\fIPowers\fR +.IX Subsection "Powers" +.PP +The Steering Council has broad authority to make decisions about the +development of the Perl language, the interpreter, and all other components, +systems and processes that result in new releases of the language interpreter. +.PP +For example, it can: +.IP "\(bu" 4 +Manage the schedule and process for shipping new releases +.IP "\(bu" 4 +Establish procedures for proposing, discussing and deciding upon changes to the +language +.IP "\(bu" 4 +Delegate power to individuals on or outside the Steering Council +.PP +Decisions of the Steering Council will be made by majority vote of non-vacant +seats on the council. +.PP +The Steering Council should look for ways to use these powers as little as +possible. Instead of voting, it's better to seek consensus. Instead of ruling +on individual cases, it's better to define standards and processes that apply +to all cases. +.PP +As with the Core Team, the Steering Council does not have any authority over +parts of the Perl ecosystem unrelated to developing and releasing the language +itself. +.PP +The Steering Council does not have the power to modify the Perl Rules of +Governance, except as provided in the section \*(L"Amending Perl Rules of +Governance\*(R". +.PP +\fITerm\fR +.IX Subsection "Term" +.PP +A new Steering Council will be chosen by a Term Election after each stable +feature release (that is, change to \f(CW\*(C`PERL_REVISION\*(C'\fR or \f(CW\*(C`PERL_VERSION\*(C'\fR) or +after two years, whichever comes first. The Term Election will be organized +within two weeks of the triggering event. The council members will serve until +the completion of the next Term Election unless they are removed. +.PP +\fIRemoval\fR +.IX Subsection "Removal" +.PP +Steering Council members may resign their position at any time. +.PP +Whenever there are vacancies on the Steering Council, the council will +organize a Special Election within one week after the vacancy occurs. If the +entire Steering Council is ever vacant, a Term Election will be held instead. +.PP +The Steering Council may defer the Special Election for up to twelve weeks. +Their intent to do so must be publicly stated to the Core Team. If any active +Core Team member objects within one week, the Special Election must be +organized within two weeks. At any time, the Steering Council may choose to +cancel the deferment and immediately commence organizing a Special Election. +.PP +If a Steering Council member is deceased, or drops out of touch and cannot be +contacted for a month or longer, then the rest of the council may vote to +declare their seat vacant. If an absent member returns after such a +declaration is made, they are not reinstated automatically, but may run in the +Special Election to fill the vacancy. +.PP +Otherwise, Steering Council members may only be removed before the end of +their term through a No Confidence Vote by the Core Team. +.PP +\fIRules for Elections\fR +.IX Subsection "Rules for Elections" +.PP +Term and Special Election are ranked-choice votes to construct an ordered list +of candidates to fill vacancies in the Steering Council. +.PP +A Vote Administrator must be selected following the rules in the \*(L"Vote +Administrator\*(R" section. +.PP +Both Term and Special Elections occur in two stages: +.IP "1." 4 +Candidates advertise their interest in serving. Candidates must be nominated by +an active Core Team member. Self-nominations are allowed. Nominated candidates +may share a statement about their candidacy with the Core Team. +.IP "2." 4 +If there are no more candidates than open seats, no vote is required. The +candidates will be declared to have won when the nomination period ends. +.Sp +Otherwise, active Core Team Members vote by ranking all candidates. Voting is +performed anonymously. After voting is complete, candidates are ranked using +the Condorcet Internet Voting Service's proportional representation mode. If a +tie occurs, it may be resolved by mutual agreement among the tied candidates, +or else the tie will be resolved through random selection by the Vote +Administrator. +.PP +Anyone voted off the Core Team is not eligible to be a candidate for Steering +Council unless re-instated to the Core Team. +.PP +For a Term Election, each phase will last two weeks. At the end of the second +phase, the top three ranked candidates are elected as the new Steering Council. +.PP +For a Special Election, each phase will last one week. At the end of the +second phase, vacancies are filled from the ordered list of candidates until +no vacancies remain. +.PP +The election of the first Steering Council will be a Term Election. Ricardo +Signes will be the Vote Administrator for the initial Term Election unless he +is a candidate, in which case he will select a non-candidate administrator to +replace him. +.SS "The Vote Administrator" +.IX Subsection "The Vote Administrator" +Every election or vote requires a Vote Administrator who manages +communication, collection of secret ballots, and all other necessary +activities to complete the voting process. +.PP +Unless otherwise specified, the Steering Council selects the Vote +Administrator. +.PP +A Vote Administrator must not be a member of the Steering Council nor a +candidate or subject of the vote. A Vote Administrator may be a member of the +Core Team and, if so, may cast a vote while also serving as administrator. If +the Vote Administrator becomes a candidate during an election vote, they will +appoint a non-candidate replacement. +.PP +If the entire Steering Council is vacant or is the subject of a No Confidence +Vote, then the Core Team will select a Vote Administrator by consensus. If +consensus cannot be reached within one week, the President of The Perl +Foundation will select a Vote Administrator. +.SH "Steering Council Members" +.IX Header "Steering Council Members" +.IP "\(bu" 4 +Neil Bowers +.IP "\(bu" 4 +Paul Evans +.IP "\(bu" 4 +Ricardo Signes +.SH "Core Team Members" +.IX Header "Core Team Members" +The current members of the Perl Core Team are: +.SS "Active Members" +.IX Subsection "Active Members" +.IP "Chad Granum <exodist7@gmail.com>" 4 +.IX Item "Chad Granum <exodist7@gmail.com>" +.PD 0 +.IP "Chris 'BinGOs' Williams <chris@bingosnet.co.uk>" 4 +.IX Item "Chris 'BinGOs' Williams <chris@bingosnet.co.uk>" +.IP "Craig Berry <craigberry@mac.com>" 4 +.IX Item "Craig Berry <craigberry@mac.com>" +.IP "Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>" 4 +.IX Item "Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>" +.IP "David Golden <xdg@xdg.me>" 4 +.IX Item "David Golden <xdg@xdg.me>" +.IP "David Mitchell <davem@iabyn.com>" 4 +.IX Item "David Mitchell <davem@iabyn.com>" +.IP "H. Merijn Brand <perl5@tux.freedom.nl>" 4 +.IX Item "H. Merijn Brand <perl5@tux.freedom.nl>" +.IP "Hugo van der Sanden <hv@crypt.org>" 4 +.IX Item "Hugo van der Sanden <hv@crypt.org>" +.IP "James E Keenan <jkeenan@cpan.org>" 4 +.IX Item "James E Keenan <jkeenan@cpan.org>" +.IP "Jason McIntosh <jmac@jmac.org>" 4 +.IX Item "Jason McIntosh <jmac@jmac.org>" +.IP "Karen Etheridge <ether@cpan.org>" 4 +.IX Item "Karen Etheridge <ether@cpan.org>" +.IP "Karl Williamson <khw@cpan.org>" 4 +.IX Item "Karl Williamson <khw@cpan.org>" +.IP "Leon Timmermans <fawaka@gmail.com>" 4 +.IX Item "Leon Timmermans <fawaka@gmail.com>" +.IP "Matthew Horsfall <wolfsage@gmail.com>" 4 +.IX Item "Matthew Horsfall <wolfsage@gmail.com>" +.IP "Max Maischein <cpan@corion.net>" 4 +.IX Item "Max Maischein <cpan@corion.net>" +.IP "Neil Bowers <neilb@neilb.org>" 4 +.IX Item "Neil Bowers <neilb@neilb.org>" +.IP "Nicholas Clark <nick@ccl4.org>" 4 +.IX Item "Nicholas Clark <nick@ccl4.org>" +.IP "Nicolas R <atoomic@cpan.org>" 4 +.IX Item "Nicolas R <atoomic@cpan.org>" +.ie n .IP "Paul ""LeoNerd"" Evans <leonerd@leonerd.org.uk>" 4 +.el .IP "Paul ``LeoNerd'' Evans <leonerd@leonerd.org.uk>" 4 +.IX Item "Paul LeoNerd Evans <leonerd@leonerd.org.uk>" +.ie n .IP "Philippe ""BooK"" Bruhat <book@cpan.org>" 4 +.el .IP "Philippe ``BooK'' Bruhat <book@cpan.org>" 4 +.IX Item "Philippe BooK Bruhat <book@cpan.org>" +.IP "Ricardo Signes <rjbs@semiotic.systems>" 4 +.IX Item "Ricardo Signes <rjbs@semiotic.systems>" +.IP "Steve Hay <steve.m.hay@googlemail.com>" 4 +.IX Item "Steve Hay <steve.m.hay@googlemail.com>" +.IP "Stuart Mackintosh <stuart@perlfoundation.org>" 4 +.IX Item "Stuart Mackintosh <stuart@perlfoundation.org>" +.IP "Todd Rinaldo <toddr@cpanel.net>" 4 +.IX Item "Todd Rinaldo <toddr@cpanel.net>" +.IP "Tony Cook <tony@develop\-help.com>" 4 +.IX Item "Tony Cook <tony@develop-help.com>" +.PD +.SS "Inactive Members" +.IX Subsection "Inactive Members" +.IP "Abhijit Menon-Sen <ams@toroid.org>" 4 +.IX Item "Abhijit Menon-Sen <ams@toroid.org>" +.PD 0 +.IP "Andy Dougherty <doughera@lafayette.edu>" 4 +.IX Item "Andy Dougherty <doughera@lafayette.edu>" +.IP "Jan Dubois <jan@jandubois.com>" 4 +.IX Item "Jan Dubois <jan@jandubois.com>" +.IP "Jesse Vincent <jesse@fsck.com>" 4 +.IX Item "Jesse Vincent <jesse@fsck.com>" |