My experience becoming a new PEAR developer
| From: | Charles Brunet | Date: | Tue, 13 May 2008 21:37:16 +0000 |
| Subject: | My experience becoming a new PEAR developer | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-50109@lists.php.net to get a copy of this message | ||
Hi!
Today, I released my first PEAR package. It was an interesting
experience discovering the process to create, propose and submit a new
package. Here are some of the things I learned in the process, that
could help other new developers, as well as help improving
documentation.
== The formal proposal process ==
The first thing I learned there is that even if I already had a PEAR
account to fill bug reports, I needed another karma to be able to use
PEPr. A little email on pear-dev allowed me to get it.
Another surprise I had was that PHP4 package no longer were accepted.
I could had deduced it from the fact that code must be E_STRICT, but I
think this is something that would worth being explicitly mentioned in
documentation.
Other little details about coding standards: don't use define, but
class constants. Don't use PHP License.
== Contributing your own code ==
After proposing my package, calling for vote, and having it accepted,
I had some troubles finding what to do next. Although the page
http://pear.php.net/manual/en/developers.contributing.howto.php
contains all needed informations, I think it could be clearer. Here is
how I understand the procedure now:
1- Request PHP CVS account
2- checkout pear repository
3- Request to pear-group write access to needed directory into CVS repository
4- commit package to CVS
5- Use http://pear.php.net/package-new.php to add
the package
6- Use http://pear.php.net/release-upload.php
to release the package
== Questions still pending ==
Now, there are still some details in the process I don't fully understand.
1- Once a package is approved in PEPr, how can I be sure I applied all
requested changes? Shouldn't be there an iterative approval process
before first release?
2- How should I determine when to release beta and stable releases?
3- off topic, but what is the 'CVS Access' field for in the pear profile page?
== Conclusion ==
I learned a lot learning how to contribute to PEAR. I like the fact
that other developers review your code. I really like the high coding
standard of PEAR, that ensure high quality code over the project. And
big thanks to all of you who take time to answer questions and to
review code!
Charles Brunet.