4.1. Available alternatives

Bug tracking is commonly considered essential in software development endeavors. Joel Spolsky identifies the reason in his web log article [6]: “If you are developing code, even on a team of one, without an organized database listing all known bugs in the code, you are simply going to ship low quality code.”

Since bug tracking is an everyday practice, there are several tools on the market. Reinventing the wheel is not necessarily sensible, so it is rational to evaluate if one of these ready-made products or parts of them could be used. These offerings can be roughly divided into two groups: commercial products and free publicly licensed products.

Commercial options

There is a wide range of commercial bug tracking tools on the market. Both the feature and pricing range of these products is considerable. According to Softwise Company’s comparison chart (APPENDIX D) the license fees range from USD $100 to USD $1950 and beyond. The chart may be somewhat biased since it is used in the company’s marketing material for their PR-Tracker product.

The expensive high-end products such as Rational ClearQuest are highly specialized products with an excessive feature list meant for complex application development. It is clear that Morning had no need for such a tool. In addition, the commercial products might be difficult to modify to meet all the requirements that were set in the requirements phase.

Publicly licensed options

The GNU Free Software directory [7] alone lists 19 different bug tracking tools (February 2004) available for use. Most of these applications are licensed under the GNU GPL. The license [8] states the following: “You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program”. Program refers to an application, etc. licensed under the GNU GPL. The terms allow the software to be modified (with some conditions) for commercial purposes.

The public license makes the listed applications ideal for modifying them to meet the requirements of the project. The plethora of free alternatives makes it difficult to choose a particular one. Due to its popularity, the choice was to closely examine the Mozilla organization’s Bugzilla system. It is used in both open source and commercial projects. The Mozilla web site states it is used in hundreds of projects in Fortune 500 companies. [9]

Bugzilla is based on a MySQL database and Perl scripting language. It features a browser-based interface for administration and reporting. Development of the system began in 1998 and it is now at version 2.17.6 (February 2004). Efforts to further improve the system remain strong and updates are released regularly.

The system is meant to be a general-purpose tool for debugging applications of different types such as:

This results in the system having countless features that are not needed in web development projects. The standard reporting form, for example, has fields for detailing the exact setup (hardware and software) of your system. The query interface showing some of the options is shown in Image 2.

Bugzilla bug query interface

Image 2 - Bugzilla bug query interface

Conclusion

After conducting an evaluation of both commercial and publicly available options, it was decided that the best option was to build the system from ground up. Commercial systems were ruled out due to pricing issues and potential problems and effort required to modify them to reach the desired functionality. The open source option, Bugzilla, was abandoned for the latter reason.