Each package has developers assigned to the package
Extra-governmental technical gurus - these people have shell access
on the pear.php.net website, CVS karma for everything, and generally
can do things that others cannot do.
Choose 1 member of the PEAR Group to act as vice president, who will stand in
as the president if the president is incapacitated in some way (i.e. on
vacation, or more serious issues). This position may rotate.
Create and vote on actual language for all official PEAR policy that affects
more than 1 collective (simple majority approves policy)
Resolve disputes between collectives or between individuals and collectives
Grant CVS karma requests
Handle inactive collectives (either demote all packages to unmaintained,
re-assign developers, or other logical solutions)
Call elections through the web site
Promote PEAR as a repository (working with the president as much as makes sense)
Define coding standards
Resolve larger licensing and legal issues (working with the president as much
as makes sense)
Define what constitutes a Collective (how to define it - categories? Related
packages only?) and make final decisions about which collective a package should
go in
Document all communications and archive them, either through email list or
some other publicly accessible format like a forum or wiki - the first elected
PEAR Group should decide how to do this and amend the consitution. The PEAR
Group may occasionally choose to hold secret communications until a bill is
voted on, and then the communications must be made public. A summary of
communications is acceptable, and should at the least document topics debated
and alternatives to the final decision.
Post PEAR Group decisions on the web site, and add them to official
documentation if necessary. Decisions are not binding until documented
on the website.
Stand in as president until the next election if the president resigns,
or is otherwise unable to serve.
Appoint a replacement on the PEAR Group if he/she becomes president
Create actual language for all official PEAR policy that only affects
the collective
Choose a person or persons who will liaise with the PEAR group. No
restrictions are placed upon how to do this, each collective may decide
internally
Define and enforce API compatibility (self-police)
Enforce Coding Standards as defined by the PEAR Group
Enforce documentation creation. This can be done by outsourcing to
volunteers, but it must be done for all packages in a collective.
Define clear, public guidelines on code access (who has commit access
to which packages, and what is acceptable boundaries).
Self-promote the collective as a whole (this is non-restrictive, each
collective should do this in their own way)
Assign "mentors" for new developers in the collective (specific developers
who are available through email/chat to answer questions of developers new
to PEAR)
Collectives are encouraged but not required to directly contact and
collaborate with other collectives.
The Website Collective is a special collective, consisting of developers
with pear.admin karma (Website Administrators), and developers
who contribute to and maintain the actual infrastructure code for pear.php.net.
pear-dev@lists.php.net (or
php.pear.dev newsgroup) remain the
official channels for all PEAR communications. Specific enhancements to the
website may of course be created in the future to facilitate better communication.