12.12. The PEAR Release Process
Before you begin, you need a PEAR account. You can request one by following a link from the login page, or by going directly to http://pear.php.net/account-request.php.
The PEAR Release Process is a procedure for developers who publish PEAR package releases. The first time you release a package, you need to go through the following steps:
Propose a package.
Wait for vote results.
Create a package.
Roll a tarball.
Upload the release.
Steps 1 through 3 are only required for the first release. For subsequent releases, you only need to go through Steps 4 to 6.
Once you intend to publish a package through the PEAR infrastructure, it is a good idea to just suggest the package to the pear-dev mailing list, so you do not put a lot of effort into duplicating an existing package or to get reactions from the community before the proposal process:
Propose a package. You propose a package by going to http://pear.php.net/ and clicking New Proposal in the left-hand sidebar.
The proposal process is meant to help you pick a good name for your package, and to ensure that standards are being followed from the very first release. The PEAR developer community manages PEAR's namespace. When you create a package, you occupy part of that namespace, so the PEAR community wants to ensure that your package has a function that fits with the name.
The proposal goes through a voting phase that is open to all registered PEAR package developers. Other PEAR developers may look at whether your package offers functionality that exists in another package. If it does, they may propose incorporating your code into that package, or request that you justify the need for another package. When voting closes, your package proposal will be accepted, accepted with comments, or rejected. "Accepted with comments" means that the proposal is accepted on the condition that you change something.
Wait for vote results. The voting process takes some time, so have patience and wear your goggles; not everyone expresses the same amount of tact when disagreeing with people.
Create a package. After your package proposal is accepted, you submit a package creation request on http://pear.php.net/package-new.php. A PEAR administrator will approve the request, and then you are ready to start uploading releases.
Roll a tarball. This is when you create the package tarball (a gzip-compressed UNIX tar file). See the "Packaging" section for details.
Test/QA. Run your regression tests (that you have diligently written), and convince yourself that your release is ready to face the masses.
Upload the release. Finally, you make your release available to the world. See the "Uploading" section later in this chapter for the details.