Bugzilla


Bugzilla is a web-based general-purpose bug tracking system and testing tool originally developed and used by the Mozilla project, and licensed under the Mozilla Public License.
Released as open-source software by Netscape Communications in 1998, it has been adopted by a variety of organizations for use as a bug tracking system for both free and open-source software and proprietary projects and products. Bugzilla is used, among others, by the Mozilla Foundation, WebKit, Linux kernel, FreeBSD, KDE, Apache, Red Hat, Eclipse and LibreOffice. It is also self-hosting.

History

Bugzilla was originally devised by Terry Weissman in 1998 for the nascent Mozilla.org project, as an open source application to replace the in-house system then in use at Netscape Communications for tracking defects in the Netscape Communicator suite. Bugzilla was originally written in Tcl, but Weissman decided to port it to Perl before its release as part of Netscape's early open-source code drops, in the hope that more people would be able to contribute to it, given that Perl seemed to be a more popular language at the time.
Bugzilla 2.0 was the result of that port to Perl, and the first version was released to the public via anonymous CVS. In April 2000, Weissman handed over control of the Bugzilla project to Tara Hernandez. Under her leadership, some of the regular contributors were coerced into taking more responsibility, and Bugzilla development became more community-driven. In July 2001, facing distraction from her other responsibilities in Netscape, Hernandez handed control to Dave Miller, who was still in charge.
Bugzilla 3.0 was released on May 10, 2007 and brought a refreshed UI, an XML-RPC interface, custom fields and resolutions, mod_perl support, shared saved searches, and improved UTF-8 support, along with other changes.
Bugzilla 4.0 was released on February 15, 2011 and Bugzilla 5.0 was released in July 2015.

Timeline

Bugzilla's release timeline:

Define $now = 03/07/2020
Define $width = 556
Define $warning = 436 # $width – 120
ImageSize = width:800 height:500
PlotArea = left:40 right:10 bottom:100 top:10
DateFormat = dd/mm/yyyy
Period = from:01/01/1998 till:$now
TimeAxis = orientation:hor
Alignbars = justify
Legend = orientation:vertical position:bottom columns:1
  1. #################################################
  2. Color definitions #
  3. #################################################
Colors =
id:col2.0 value:orange Legend:Bugzilla_2.0-2.12
id:col2.14 value:blue Legend:Bugzilla_2.14
id:col2.16 value:green Legend:Bugzilla_2.16
id:col2.18 value:magenta Legend:Bugzilla_2.18
id:col2.20 value:teal Legend:Bugzilla_2.20
id:col2.22 value:orange Legend:Bugzilla_2.22
id:col3.0 value:blue Legend:Bugzilla_3.0
id:col3.2 value:green Legend:Bugzilla_3.2
id:col3.4 value:magenta Legend:Bugzilla_3.4
id:col3.6 value:teal Legend:Bugzilla_3.6
id:col4.0 value:orange Legend:Bugzilla_4.0
id:col4.2 value:blue Legend:Bugzilla_4.2
id:col4.4 value:green Legend:Bugzilla_4.4
id:col5.0 value:magenta Legend:Bugzilla_5.0
id:col2.0-l1 value:gray
id:col2.0-l2 value:gray
id:colbg value:gray
id:colgrmaj value:gray
id:colgrmin value:gray
id:lighttext value:rgb
ScaleMajor = gridcolor:colgrmaj unit:year increment:1 start:01/01/1998
ScaleMinor = gridcolor:colgrmin unit:month increment:3 start:01/01/1998
BackgroundColors = canvas:colbg
PlotData=
##################################################
# 2.0 filled bar #
##################################################
bar:2.0 width:35 from:26/08/1998 till:27/04/2001 color:col2.0 mark:
##################################################
# 2.0 line & text for first version every year #
##################################################
bar:2.0 mark: align:center fontsize:S
at:26/08/1998 text:"2.0" shift:
at:20/01/1999 text:"2.2"
at:09/05/2000 text:"2.10"
at:27/04/2001 text:"2.12" shift:
##################################################
# 2.0 line for all other versions #
##################################################
bar:2.0 mark:
at: 30/04/1999 # 2.4
at: 30/08/1999 # 2.6
at: 19/11/1999 # 2.8
##################################################
# 2.14 filled bar #
##################################################
bar:2.14 width:35 from:29/08/2001 till:02/01/2003 color:col2.14 mark:
##################################################
# 2.14 line & text for first version every year #
##################################################
bar:2.14 mark: align:center fontsize:S
at:29/08/2001 text:"2.14" shift:
at:05/01/2002 text:"2.14.1"
at:02/01/2003 text:"2.14.5" shift:
##################################################
# 2.14 line for all other versions #
##################################################
bar:2.14 mark:
at: 07/06/2002 # 2.14.2
at: 28/07/2002 # 2.14.3
at: 30/09/2002 # 2.14.4
##################################################
# 2.16 filled bar #
##################################################
bar:2.16 width:35 from:28/07/2002 till:20/02/2006 color:col2.16 mark:
##################################################
# 2.16 line & text for first version every year #
##################################################
bar:2.16 mark: align:center fontsize:S
at:28/07/2002 text:"2.16" shift:
at:02/01/2003 text:"2.16.2"
at:03/05/2004 text:"2.16.5"
at:15/01/2005 text:"2.16.8"
at:20/02/2006 text:"2.16.11" shift:
##################################################
# 2.16 line for all other versions #
##################################################
bar:2.16 mark:
at: 30/09/2002 # 2.16.1
at: 25/04/2003 # 2.16.3
at: 03/11/2003 # 2.16.4
at: 10/07/2004 # 2.16.6
at: 24/10/2004 # 2.16.7
at: 11/05/2005 # 2.16.9
at: 18/05/2005 # 2.16.10
##################################################
# 2.18 filled bar #
##################################################
bar:2.18 width:35 from:15/01/2005 till:15/10/2006 color:col2.18 mark:
##################################################
# 2.18 line & text for first version every year #
##################################################
bar:2.18 mark: align:center fontsize:S
at: 15/01/2005 text:"2.18" shift:
at: 20/02/2006 text:"2.18.5"
at: 15/10/2006 text:"2.18.6" shift:
##################################################
# 2.18 line for all other versions #
##################################################
bar:2.18 mark:
at: 11/05/2005 # 2.18.1
at: 07/07/2005 # 2.18.2
at: 09/07/2005 # 2.18.3
at: 30/09/2005 # 2.18.4
##################################################
# 2.20 filled bar #
##################################################
bar:2.20 width:35 from:30/09/2005 till:06/11/2008 color:col2.20 mark:
##################################################
# 2.20 line & text for first version every year #
##################################################
bar:2.20 mark: align:center fontsize:S
at: 30/09/2005 text:"2.20" shift:
at: 20/02/2006 text:"2.20.1"
at: 02/02/2007 text:"2.20.4"
at: 04/05/2008 text:"2.20.6"
at: 06/11/2008 text:"2.20.7" shift:
##################################################
# 2.20 line for all other versions #
##################################################
bar:2.20 mark:
at: 22/04/2006 # 2.18.2
at: 15/10/2006 # 2.18.3
at: 23/08/2007 # 2.18.5
##################################################
# 2.22 filled bar #
##################################################
bar:2.22 width:35 from:22/04/2006 till:02/02/2009 color:col2.22 mark:
##################################################
# 2.22 line & text for first version every year #
##################################################
bar:2.22 mark: align:center fontsize:S
at: 22/04/2006 text:"2.22" shift:
at: 02/02/2007 text:"2.22.2"
at: 04/05/2008 text:"2.22.4"
at: 02/02/2009 text:"2.22.7" shift:
##################################################
# 2.22 line for all other versions #
##################################################
bar:2.22 mark:
at: 23/08/2007 # 2.18.3
at: 12/08/2008 # 2.18.5
at: 06/11/2008 # 2.18.6
##################################################
# 3.0 filled bar #
##################################################
bar:3.0 width:35 from:09/05/2007 till:31/01/2010 color:col3.0 mark:
##################################################
# 3.0 line & text for first version every year #
##################################################
bar:3.0 mark: align:center fontsize:S
at: 09/05/2007 text:"3.0" shift:
at: 08/01/2008 text:"3.0.3"
at: 02/02/2009 text:"3.0.7"
at: 31/01/2010 text:"3.0.11" shift:
##################################################
# 3.0 line for all other versions #
##################################################
bar:3.0 mark:
at: 23/08/2007 # 3.0.1
at: 18/09/2007 # 3.0.2
at: 04/05/2008 # 3.0.4
at: 12/08/2008 # 3.0.5
at: 06/11/2008 # 3.0.6
at: 03/02/2009 # 3.0.8
at: 11/09/2009 # 3.0.9
at: 05/11/2009 # 3.0.10
##################################################
# 3.2 filled bar #
##################################################
bar:3.2 width:35 from:29/11/2008 till:24/01/2011 color:col3.2 mark:
##################################################
# 3.2 line & text for first version every year #
##################################################
bar:3.2 mark: align:center fontsize:S
at: 29/11/2008 text:"3.2" shift:
at: 02/02/2009 text:"3.2.1"
at: 31/01/2010 text:"3.2.6"
at: 24/01/2011 text:"3.2.10" shift:
##################################################
# 3.2 line for all other versions #
##################################################
bar:3.2 mark:
at: 03/02/2009 # 3.2.2
at: 30/03/2009 # 3.2.3
at: 08/07/2009 # 3.2.4
at: 11/09/2009 # 3.2.5
at: 24/06/2010 # 3.2.7
at: 05/08/2010 # 3.2.8
at: 02/11/2010 # 3.2.9
##################################################
# 3.4 filled bar #
##################################################
bar:3.4 width:35 from:28/07/2009 till:31/01/2012 color:col3.4 mark:
##################################################
# 3.4 line & text for first version every year #
##################################################
bar:3.4 mark: align:center fontsize:S
at: 28/07/2009 text:"3.4" shift:
at: 31/01/2010 text:"3.4.5"
at: 24/01/2011 text:"3.4.10"
at: 31/01/2012 text:"3.4.14" shift:
##################################################
# 3.4 line for all other versions #
##################################################
bar:3.4 mark:
at: 01/08/2009 # 3.4.1
at: 11/09/2009 # 3.4.2
at: 05/11/2009 # 3.4.3
at: 18/11/2009 # 3.4.4
at: 08/03/2010 # 3.4.6
at: 24/06/2010 # 3.4.7
at: 05/08/2010 # 3.4.8
at: 02/11/2010 # 3.4.9
at: 27/04/2011 # 3.4.11
at: 04/08/2011 # 3.4.12
at: 28/12/2011 # 3.4.13
##################################################
# 3.6 filled bar #
##################################################
bar:3.6 width:35 from:13/04/2010 till:24/05/2013 color:col3.6 mark:
##################################################
# 3.6 line & text for first version every year #
##################################################
bar:3.6 mark: align:center fontsize:S
at: 13/04/2010 text:"3.6" shift:
at: 24/01/2011 text:"3.6.4"
at: 31/01/2012 text:"3.6.8"
at: 31/01/2013 text:"3.6.13"
##################################################
# 3.6 line for all other versions #
##################################################
bar:3.6 mark:
at: 24/06/2010 # 3.6.1
at: 05/08/2010 # 3.6.2
at: 02/11/2010 # 3.6.3
at: 27/04/2011 # 3.6.5
at: 04/08/2011 # 3.6.6
at: 28/12/2011 # 3.6.7
at: 18/04/2012 # 3.6.9
at: 26/07/2012 # 3.6.10
at: 30/08/2012 # 3.6.11
at: 19/02/2013 # 3.6.12
##################################################
# 4.0 filled bar #
##################################################
bar:4.0 width:35 from:15/02/2011 till:07/07/2015 color:col4.0 mark:
##################################################
# 4.0 line & text for first version every year #
##################################################
bar:4.0 mark:
at: 15/02/2011 text:"4.0" shift: # 4.0
at: 31/01/2012 text:"4.0.4"
at: 19/02/2013 text:"4.0.10"
at: 17/04/2014 text:"4.0.12"
at: 21/01/2015 text:"4.0.16"
##################################################
# 4.0 line for all other versions #
##################################################
bar:4.0 mark:
at: 27/04/2011 # 4.0.1
at: 04/08/2011 # 4.0.2
at: 28/12/2011 # 4.0.3
at: 22/02/2012 # 4.0.5
at: 18/04/2012 # 4.0.6
at: 26/07/2012 # 4.0.7
at: 30/08/2012 # 4.0.8
at: 13/11/2012 # 4.0.9
at: 16/10/2013 # 4.0.11
at: 18/04/2014 # 4.0.13
at: 24/07/2014 # 4.0.14
at: 06/10/2014 # 4.0.15
at: 27/01/2015 # 4.0.17
at: 15/04/2015 # 4.0.18
##################################################
# 4.2 filled bar #
##################################################
bar:4.2 width:35 from:22/02/2012 till:22/12/2015 color:col4.2 mark:
##################################################
# 4.2 line & text for first version every year #
##################################################
bar:4.2 mark:
at: 22/02/2012 text:"4.2" shift: # 4.2
at: 19/02/2013 text:"4.2.5"
at: 17/04/2014 text:"4.2.8"
at: 21/01/2015 text:"4.2.12"
##################################################
# 4.2 line for all other versions #
##################################################
bar:4.2 mark:
at: 18/04/2012 # 4.2.1
at: 26/07/2012 # 4.2.2
at: 30/08/2012 # 4.2.3
at: 13/11/2012 # 4.2.4
at: 24/05/2013 # 4.2.6
at: 16/10/2013 # 4.2.7
at: 18/04/2014 # 4.2.9
at: 24/07/2014 # 4.2.10
at: 06/10/2014 # 4.2.11
at: 27/01/2015 # 4.2.13
at: 15/04/2015 # 4.2.14
at: 10/09/2015 # 4.2.15
at: 22/12/2015 # 4.2.16
##################################################
# 4.4 filled bar #
##################################################
bar:4.4 width:35 from:24/05/2013 till:$now color:col4.4 mark:
##################################################
# 4.4 line & text for first version every year #
##################################################
bar:4.4 mark:
at: 24/05/2013 text:"4.4" shift:
at: 27/01/2014 text:"4.4.2"
at: 21/01/2015 text:"4.4.7"
at: 16/05/2016 text:"4.4.12"
at: 16/02/2018 text:"4.4.13"
##################################################
# 4.4 line for all other versions #
##################################################
bar:4.4 mark:
at: 16/10/2013 # 4.4.1
at: 17/04/2014 # 4.4.3
at: 18/04/2014 # 4.4.4
at: 24/07/2014 # 4.4.5
at: 06/10/2014 # 4.4.6
at: 27/01/2015 # 4.4.8
at: 15/04/2015 # 4.4.9
at: 10/09/2015 # 4.4.10
at: 22/12/2015 # 4.4.11
##################################################
# 5.0 filled bar #
##################################################
bar:5.0 width:35 from:07/07/2015 till:$now color:col5.0 mark:
##################################################
# 5.0 line & text for first version every year #
##################################################
bar:5.0 mark: align:center fontsize:S
at: 07/07/2015 text:"5.0" shift:
at: 16/05/2016 text:"5.0.3"
at: 16/02/2018 text:"5.0.4"
at: 30/01/2019 text:"5.0.5"
##################################################
# 5.0 line for all other versions #
##################################################
bar:5.0 mark:
at: 10/09/2015 # 5.0.1
at: 22/12/2015 # 5.0.2
at: 09/02/2019 # 5.0.6
TextData =
fontsize:S
textcolor:lighttext
pos:
text:Updated on $now.

Requirements

Bugzilla's system requirements include:
Currently supported database systems are MySQL, PostgreSQL, Oracle, and SQLite. Bugzilla is usually installed on Linux using the Apache HTTP Server, but any web server that supports CGI such as Lighttpd, Hiawatha, Cherokee can be used. Bugzilla's installation process is command line driven and runs through a series of stages where system requirements and software capabilities are checked.

Design

While the potential exists in the code to turn Bugzilla into a technical support ticket system, task management tool, or project management tool, Bugzilla's developers have chosen to focus on the task of designing a system to track software defects. Mandated design requirements include:
In practice, most Bugzilla projects allowing the public to file bugs—such as the Bugzilla bug database for Bugzilla itself—assign all bugs to a gatekeeper, whose job is to assign responsibility and priority level.

Zarro Boogs

Bugzilla returns the string "zarro boogs found" instead of "0 bugs found" when a search for bugs returns no results. "Zarro Boogs" is intended as a 'buggy' statement itself and is thus a meta-statement about the nature of software debugging, implying that even when no bugs have been identified, some may exist.
The following comment is provided in the Bugzilla source code to developers who may be confused by this behaviour:

WONTFIX

WONTFIX is used as a label on issues in Bugzilla and other systems. It indicates that a verified issue will not be addressed for one of several possible reasons including fixing would be too expensive, complicated or risky.