Home / Alt manpages / perlgov(1)

  • perlgov(1)
  • User command
  • linux

Read Perl's Governance Rules and Check Which Version You Have

You will use the installed perlgov manual as a local, versioned copy of Perl's Rules of Governance, then identify the parts that matter when you are contributing, voting or checking who has authority over a decision. This is a document, not a program that changes Perl. Allow about ten minutes for a first reading. You need a shell and the perl-doc package; no elevated privileges are normally required.

1. Confirm the installed document

Start by checking that the manual is present and recording the Perl documentation package version. These commands only read package metadata and the manual path:

$ command -v man
$ man -w perlgov
$ dpkg-query -W -f='${Package} ${Version}\n' perl-doc

On the machine used for this guide, the package reports perl-doc 5.38.2-3.2ubuntu0.6, and the manual resolves to /usr/share/man/man1/perlgov.1.gz. Your package revision may differ. That matters because the installed document includes a snapshot of the people responsible for the Perl release with which it shipped.

Checkpoint

Write down the version before comparing this copy with anything online. A later copy may have different council or Core Team membership even when the governance rules have not changed.

2. Open the rules as a document

Read the formatted manual from the terminal:

$ man perlgov

Use the manual pager's search command, usually /, for headings such as Definitions, Rules for Voting and Rules for Elections. Press q to leave the pager. The name resembles an executable, but perlgov is a section 1 manual page containing policy prose. There are no options to apply, enable or configure.

If man is unavailable but the documented file exists, inspect it without editing or decompressing it in place:

$ zcat /usr/share/man/man1/perlgov.1.gz | less

If both checks fail, install perl-doc through your normal package-management process. That is a system change and may require elevated privileges, so do not add sudo to a read-only check merely because the page describes governance.

3. Understand what the governance covers

The mandate is about developing and releasing the Perl language and interpreter. It covers the language definition, implementation, test suite, documentation and the processes used to maintain them. It does not give the Perl governance groups control over every Perl-related service.

The document explicitly separates the Core Team, the Steering Council and the Vote Administrator. The Core Team sets governance rules, manages membership with the council and elects or removes council members. It has no authority over CPAN administration, Perl-related websites, conferences outside its direct organisation or third-party intellectual property. This boundary is a useful guard against treating a Perl language decision as an instruction to a separate service or community.

The Steering Council is a three-person committee elected by the Core Team. It can make decisions about the language, interpreter and the systems that produce releases. Its decisions use a majority of non-vacant seats. The council should prefer consensus and general processes, and it cannot change the governance rules except through the amendment process described by the document.

4. Apply the voting rules to a real proposal

Before assuming that a poll settles a proposal, classify it. Membership changes, amendments and no-confidence votes require two-thirds of participating Core Team votes. Voting is anonymous and has two phases: the Vote Administrator describes the proposal and allows discussion, then active Core Team members vote for or against it.

The time limits are easy to confuse. Each phase of a Membership Change Vote lasts one week. Each phase of an Amendment or No Confidence Vote lasts two weeks. A Core Team member may propose an amendment to the Steering Council, but the council must first approve organising the Amendment Vote. A no-confidence vote begins when one Core Team member calls for it publicly in an appropriate project channel and another seconds it.

Checkpoint

For a proposal you are tracking, record its type, the current phase, the administrator and the phase deadline. Do not infer any of these from a general community discussion. The rules assign the administrator responsibility for communication, secret ballots and the activities needed to complete the vote.

5. Read election and membership details carefully

Term and Special Elections use ranked-choice voting to produce an ordered candidate list. Candidates need a nomination from an active Core Team member, although self-nomination is allowed. If there are no more candidates than open seats, no vote is required. Otherwise, the rules use the Condorcet Internet Voting Service's proportional representation mode; a tie may be settled by agreement between the tied candidates or random selection by the Vote Administrator.

A new council is selected after each stable feature release, meaning a change to PERL_REVISION or PERL_VERSION, or after two years, whichever comes first. A vacant seat normally triggers a Special Election within one week, although the council can publicly defer it for up to twelve weeks subject to the objection process in the document.

Core Team membership is not limited to committers or language developers. The document includes support, triage, documentation, tests, design, infrastructure and community work among the possible contribution areas. Members who stop contributing may declare themselves inactive. Inactive members remain listed, but cannot nominate or vote until they become active again, subject to the rule about an undecided vote.

6. Check the online copy when currency matters

The installed page is the right starting point for behaviour you can reproduce on this machine, but its member list is release-specific. For current upstream wording, compare it with the perlgov.pod file in Perl's blead source. Treat that online copy as the current development branch, not as proof that your installed package has already adopted every change.

Do not copy names or election outcomes from an old local page into a current announcement without checking the date and branch. Conversely, do not describe a local installation as having rules that only appear in blead. Keep the package version, the document date and the source revision together when making an operational record.

Done means

  • You confirmed that perlgov is an installed manual document and recorded the perl-doc version.
  • You can distinguish the Core Team, Steering Council and Vote Administrator.
  • You know that the rules govern Perl language development and releases, not the whole Perl ecosystem.
  • You can identify the two-phase voting timetable and the two-thirds threshold for the specified votes.
  • You will check the upstream blead copy before relying on membership or other time-sensitive details.