The Future of PEAR DB: No, Really
Thursday, December 21st, 2006A little while ago, Daniel Convissor announced on the PEAR developers mailing list that he was looking to step down from maintaining the PEAR DB package, due to a lack of available time. Out of pure self-interest (I work on projects that use PEAR DB every day), I offered to take over maintenance of the package, and Daniel was nice enough to agree to let me take the reins as of a few days ago.
DB is deprecated in favour of the shinier, newer and more featureful MDB2 package, and has only been receiving bug fixes and security updates for a while now. This policy won’t be changing. As a result, I’ve spent part of today sifting through the open bug reports and feature requests for DB in order to take out the requests which are no longer appropriate.
I should note at this point that I mean no offense to anyone whose ticket has been marked as Won’t Fix. Many of the feature requests were well thought through, good ideas, and often even included working code. I would have liked to see a couple of them myself. Unfortunately, including them would have meant that DB was undergoing fresh development, which is a risky proposition given how many people rely on PEAR DB behaving the way that it does — not to mention that, as noted before, MDB2 is really a better alternative now for new development. Many of those requests would be great to see in MDB2, and I’d encourage the people who suggested features and contributed patches to look into implementing their features for MDB2 and submitting them.
That doesn’t mean that DB will never be changed again, though. Bug #9599, which causes problems with error handling in PHP 5.2, will be fixed quickly after my CVS karma has been approved. There are also a number of other bugs that need to be dealt with at some point; I’ve spent a few hours today going through the open bug list, and those that remain open are likely to get more attention in the near future.
At this stage, my plan is as follows:
- Release DB 1.7.7 as soon as possible with a fix for bug #9599.
- Fix as many of the remaining open bugs as possible.
- Release 1.7.8RC1 as a beta for DB users to check that none of the bug fixes have caused inadvertent regressions.
- Release any further RCs that are required to deal with regressions, then release a 1.7.8 final with as many of the open bugs as possible fixed.
Karma permitting, 1.7.7 should be out before the new year. Beyond that, I’m not going to commit to any timeframes, but I’d certainly hope to have 1.7.8RC1 out in January or February — the exact timing will just depend on my work schedule. I’d rather take a little longer to get a good release ready than to rush it — the fact that DB is the second most downloaded PEAR package is somewhat intimidating!
Finally, I’d like to note that I’m quite happy to receive feedback, suggestions, bug reports, flames, patches and anything else DB users would like to send me. You can get me by e-mail at aharvey@php.net, or on EFnet/#pear, where my nick is LawnGnome.