The Problems of Perl: The Future of Bugzilla
Nick.Barnes at pobox.com
Thu May 3 16:43:51 UTC 2007
At 2007-05-03 00:30:00+0000, Max Kanat-Alexander writes [about Perl].
I broadly agree with his views about Perl the language, although the
quality of the Perl in Bugzilla has improved enormously since I first
worked on it in the 2.10 days. However, I'm not sure that
reimplementing in another language is even possible, as the transition
might be too ghastly to survive.
If one were determined to accomplish this, I guess one would start by
choosing a Python templating system (e.g. Cheetah). It looks to me as
if converting TT templates into Cheetah could be done in a
semi-automated way. One would then start with a minor corner of the
CGI, making a hybrid Perl/Python system, and then keep hacking away at
converting the Perl until it was all gone.
Anyone wanting to fork Bugzilla to do this is of course free to do so,
and I would almost certainly contribute some effort to such a project,
as well as some expertise and possibly some pre-existing code (if I
were doing it myself, I'd start by taking a chainsaw to bugzilla.py
and dt_bugzilla.py out of a recent P4DTI).
However, it's a long and uncomfortable path and it's not clear whether
it's worth the effort. If all I wanted was a system similar to
Bugzilla but in a usable language, I would start from scratch.
Also, I have a vested interest in Bugzilla remaining Perl: it makes me
money in two different ways. Firstly, customizing Bugzilla directly
in Perl, which clients are generally unwilling to attempt for
themselves. Secondly, providing custom interfaces to Bugzilla in
Python, in which clients often are willing to work themselves.
This is not a joke: I spent part of today writing a project proposal
to do exactly that. This particular client has (as usual) a bunch of
custom requirements not met by Bugzilla out of the box. Some of these
(as usual) I am doing for them by directly hacking on the Perl.
Others (somewhat less usually) they want to do themselves. They have
looked at the Perl and decided they want to do it in "a better
language" (their term). They have some Python expertise: I will build
them a Python interface.
More information about the developers