Finding an appropriate package name
One of the most important tasks while contributing a new package
to PEAR is finding an appropriate name for your package.
The general syntax for package names is
<Category>_<Name>. The value for
<Category> should be chosen from a
predefined list of categories that are available in PEAR (e.g.
"HTTP", "Net", "HTML").
The second part is the name of the package (like
"Upload", "Portscan", "Table").
The categories that are currently available in PEAR are
represented by the bold headings at the
Browser. If you think that your package does not fit in
any of the existing categories, you can ask the on the mailing
list to create a new category. (PEAR is usually reluctant to do
Apart from this general syntax, the package names can also contain
more than one category name. An example for this is
HTML_Template_PHPLIB: The multiple categories indicate
that the package PHPLIB is part of the category
Template, that again is part of the HTML
category. This naming scheme is necessary here since it's possible
that there are Template systems in PEAR that don't work with HTML but
with another technology. (The cases where more than one
"category" is used are pretty rare.)
If you need further advice or help for finding a name for your
package, you should ask on the
developers mailing list.
Announcing to the PEAR developers
The second step while contributing is to announce your package in
Usually this announcement will spawn some discussion. After one week
you may call for votes with PEPr and the developers will then
start to vote for or against your proposal. (You are of course
urged to join the upcoming discussion.) Announcing a package does of
course not mean that it is already accepted! That will still take
some time and likely some more efforts from your side.
The following passages are taken from the administrative
Package Proposals, which describes proposing new
packages in more details. Reading this document should be a
mandatory step for PEAR newbies.
Only the votes of active members of the PEAR community (must have
a PEAR web account, however the proposer himself is not counted)
are counted, however anyone may vote. Votes require that a final
choiceof package name is specified.
The votes are added up, which means that one -1 offsets a
+1. However -1 vote should always be considered to be serious and
may lead to decisions being made on a case by case basis by the
PEAR Group who reserves a
veto (it is intended that in the future the PEAR QA team will
assist the PEAR Group in such situations). Therefore a -1 vote
*must* contain a comment explaining that decision, it is
desirable that votes in favour (+1) should also be accompanied
with an explanation when appropriate.
A vote is accepted if the total of all votes exceeds +5.
In case the proposal is not accepted the package can be further
discussed on the list and the proposer may attempt to make
another "call for vote" (it is expected that this is only done
for sensible reasons).
Registering the package
Once you successfully went through the contribution procedure and
got your pear.php.net account, you finish with registering your
package. Registering does not mean that you are going to release
a first version of your package. It just means that some basic
information about the package will be added to the PEAR package
The registration process is quite straightforward: Fill out the
form on this site and
submit the information. After you have done that, the PEAR Group has to finally approve
your submission. This usually happens in a few hours and you will
be notified about it via email.
After having registered your package, you can create a first
release, which is described here.