Re: [PEAR-QA] Volunteering to take over CodeGen_PECL

[email protected] (Matthew Fonda) Sun, 14 Oct 2012 11:13:26 -0700
Newsgroups php.pear.qa
Message-ID <CAJF_ukX1Lsn1Z_fAQbp6QEk1ZTZfdT93GtUkeYassCNpYOQZ3Q@mail.gmail.com>
Hi Christian,

Please see responses inline:

On Sat, Oct 13, 2012 at 3:06 AM, Christian Moellenberg
<[email protected]> wrote:
> Hi all,
>
> My name is Christian Moellenberg and I work as a software engineer
> in the telecom business in Germany.
>
> Having used PHP since 2004 or so, I recently got interested in how
> to write extensions for PHP. So I read what I could find on the web
> and studied also S. Golemon's great book, then started experimenting
> with the PEAR tools, CodeGen and GodeGen_PECL.
>
> When I downloaded the packages I found that CodeGen_PECL has open
> bugs but is unmaintained. Also, I seemed to find one or two more
> bugs in the code that haven't been recorded yet. So I thought why
> not start to repair things and, if all goes well, take over the
> package altogether? ;-)
>

PEAR always welcomes new contributors. Most PEAR packages are now on
GitHub, which makes contributing really easy. Simply fork the package
(https://github.com/pear/CodeGen_PECL) and commit your changes. You
can then submit a pull request to get your changes back into the
package. Continue to follow this process and someone can eventually
give you maintainership of the package.

> Things I plan to do:
> - Test and record bugs
> - Fix open bugs

Excellent!

> - Add PHP 5.3+ support (namespaces)

If this is referring to updating CodeGen_PECL to generate namespaced
PECL code, then this sounds like a great addition. If you are
referring to updating the PHP code by moving it into namespaces, then
this cannot be done as it is a BC break.

> - Get rid of PEAR_Error, use PEAR_Exception instead
>   (this will simplify the code a lot, but likely affect the parent
>   package CodeGen and siblings of CodeGen_PECL)

These changes break BC and therefore would not be allowed.

> - Replace Console_Getopt (deprecated) with Console_GetoptPlus
> - Provide an XSchema file for extension.xml
>   (the current distro doesn't have one, and the referenced DTD
>   seems to be missing)

Sounds good!

> - Discuss what can / should be done to support PHP 6

PHP 6 does not currently exist, so nothing to worry about this.

>
> Things I need (and definitely want) to learn:
> - to use GIT
> - to set up unit testing and provide proper tests
>

I think your changes all sound like great additions, but as mentioned
above, some of the changes break BC, which is not allowed in stable
packages. As such, there's an alternative approach you could take
here. Instead of working on CodeGen_PECL, create a new package
CodeGen_PECL2 that has all of the improvements you mentioned. Once
it's ready, you can then propose it as a new package.

Cheers,
--Matthew