Via Tobias Schlitt, Alexey Borzov kicked off a huge debate on PEAR quality and standards, part inspired by another discussion that raises a number of very valid issues related to PEAR (Sitepoint Forums regulars will spot a familiar name or two).
On one level I get a little weary of this topic, it seeming to repeat itself without clear resolution. It’s much like talking about template engines in PHP. At the same time, comments following Alexey’s original remark manage to stay fairly focused on specific issues rather than an all out rant, which is encouraging. Question is, what happens when it drops off everyones mental radar? Will specific points be followed up? Will we see additional volunteers willing to submit time to “right the wrongs”?
Just to fragment the debate yet further, some random thoughts on PEAR
– Should use a PHP forum application such as phpBB. Whatever the technical issues (mirroring etc. etc.), one aspect of PEAR is that it’s a community of developers. Mailing lists work for small teams to stay in touch but not much else, IMO. Forums like Sitepoint’s Advanced PHP forums result in a higher level of debate and greater participation. Ask Sitepoint, for example, how successful communities are built.
– Accept Simple Test as an alternative PHPUnit. Sorry but (someone needs to stick their neck out) PHPUnit just doesn’t cut the grade. Missing features like Mock Objects are essential. Right now I guess only about 20% (if that) of PEAR packages come with unit tests (and PHPUnit itself isn’t one of them). Simple Test would change that – it’s easy to use, it’s exceptionally well documented, it’s comes with tests of itself (big hint), it’s well evolved and is even packing “web testing” functionality (it can act as a web browser, for testing HTML). Unit tests are critical to PEARs success as whole. Without unit tests, PEAR will remain many small pieces.
– Quality cannot be directly quantified. Try Zen and the Art of Motorcycle Maintenance. At the same time, a combination of “approximate measures”, such as download statistics, can be used to see what’s “important”.
– Survey the users (survey tool?). “Can we ditch PEAR.php?”
– PEAR is “funded” by voluntary contributors, acting largely independently. That will always be a limitation, same with most all Open Source. In general, if too much manual intervention is required, my guess is PEAR will stall. At the same time the CPAN approach – welcome all comers – results in a mess. Clever use of tools has to be the way forward – automation with key decisions made by humans. The propsal system seems like the right way to go.
– Simplistic points of view “sux/rocks” contribute nothing. PEAR is a complex subject and requires thought. It also needs active contributors.
– Thousands of man-hours have gone into PEAR. Starting from scratch is not the way to go.
– PEAR needs a wiki – ideally integrated with a PHP manual-like user comment system.
– More thoughts here.