2.1. What is Bugzilla?

Bugzilla is one example of a class of programs called "Defect Tracking Systems", or, more commonly, "Bug-Tracking Systems". Defect Tracking Systems allow individual or groups of developers to keep track of outstanding bugs in their product effectively. Bugzilla was originally written by Terry Weissman in a programming language called "TCL", to replace a crappy bug-tracking database used internally for Netscape Communications. Terry later ported Bugzilla to Perl from TCL, and in Perl it remains to this day. Most commercial defect-tracking software vendors at the time charged enormous licensing fees, and Bugzilla quickly became a favorite of the open-source crowd (with its genesis in the open-source browser project, Mozilla). It is now the de-facto standard defect-tracking system against which all others are measured.

Bugzilla has matured immensely, and now boasts many advanced features. These include:

Despite its current robustness and popularity, Bugzilla faces some near-term challenges, such as reliance on a single database, a lack of abstraction of the user interface and program logic, verbose email bug notifications, a powerful but daunting query interface, little reporting configurability, problems with extremely large queries, some unsupportable bug resolution options, little internationalization (although non-US character sets are accepted for comments), and dependence on some nonstandard libraries.

Some recent headway has been made on the query front, however. If you are using the latest version of Bugzilla, you should see a "simple search" form on the default front page of your Bugzilla install. Type in two or three search terms and you should pull up some relevant information. This is also available as "queryhelp.cgi".

Despite these small problems, Bugzilla is very hard to beat. It is under very active development to address the current issues, and continually gains new features.