# Bugzilla

Bugzilla es una herramienta basada en Web de seguimiento de errores (Bug Tracking System o BTS, por sus siglas en inglés), originalmente desarrollada y usada por el proyecto Mozilla. Lanzado como software de código abierto por Netscape Communications en 1998, Bugzilla ha sido adoptado por una variedad de organizaciones para su empleo en el seguimiento de defectos (errores), tanto para software libre como para software propietario.
Su licenciamiento es bajo la Licencia Pública de Mozilla.
Bugzilla permite organizar en múltiples formas los defectos de software, permitiendo el seguimiento de múltiples productos con diferentes versiones, a su vez compuestos de múltiples componentes. Permite además categorizar los defectos de software de acuerdo a su prioridad y gravedad, así como asignarles versiones para su solución.
También permite anexar comentarios, propuestas de solución, designar a responsables a los que asignar la resolución y el tipo de solución que se aplicó al defecto, todo ello llevando un seguimiento de fechas en las cuales sucede cada evento y, si se configura adecuadamente, enviando mensajes de correo a los interesados en el error.
Bugzilla utiliza un servidor HTTP (como puede ser Apache) y una base de datos (normalmente, MariaDB o MySQL) para llevar a cabo su trabajo. Los errores pueden ser enviados por cualquiera y pueden ser asignados a un desarrollador en particular. Cada error puede tener diferente prioridad y encontrarse en diferentes estados, así como ir acompañado de notas del usuario o ejemplos de código que ayuden a corregir el error.
La noción de "error" en Bugzilla es muy general; por ejemplo, Mozilla.org lo utiliza también para registrar las peticiones de nuevas funcionalidades, con lo que el espectro de cuestiones sobre las que permite realizar un seguimiento se amplía.

## Historia

Bugzilla fue escrito originalmente por Terry Weissman en 1998 para el entonces naciente proyecto Mozilla.org como una aplicación de código abierto para reemplazar el sistema de andar por casa que en ese tiempo estaba en uso en Netscape Communications para el seguimiento de defectos en la suite Netscape Communicator. En un principio, Bugzilla fue escrito en el lenguaje Tcl. Con posterioridad, Terry decide portarlo al lenguaje Perl antes de su lanzamiento como parte del primer "goteo" de código abierto de Netscape, con la esperanza de que más gente pudiera contribuir a él, pues el Perl parecía ser un lenguaje más popular en ese entonces.
La versión 2.0 de Bugzilla fue el resultado de portar el programa desde Tcl a Perl y fue la primera versión liberada al público mediante el uso de CVS anónimo. En abril de 2000, Weissman dio el control del proyecto de Bugzilla a Tara Hernández. Bajo la dirección de Tara, algunos de los contribuidores regulares fueron forzados a tomar más responsabilidad y el desarrollo de Bugzilla llegó a ser más conducido por la propia comunidad. En julio de 2001, haciendo frente a las distracciones producidas por sus otras responsabilidades en Netscape, Tara dio el control a Dave Molinero, quien en febrero de 2007 se mantiene al cargo del proyecto.

## Requerimientos

Los requerimientos de sistema de Bugzilla incluyen:
* Un sistema administrador de bases de datos (DBMS) (como MySQL 3.22.5 o superior o PostgreSQL)
* Perl (5.005 o superior, 5.6.1 recomendado para utilizar Bundle::Bugzilla)
* Módulos Perl como:
** Template (v2.07)
** AppConfig (v1.52)
** Text::Wrap (v2001.0131)
** File::Spec (v0.8.2)
** Data::Dumper (cualquier versión)
** DBD::mysql (v1.2209)
** DBI (v1.13)
** Date::Parse (cualquier versión)
** CGI::Carp (cualquier versión)
* Un servidor web como Apache.

## Módulos opcionales

* Plantillas para su uso en idioma español.
* GD (v1.19) para dibujar gráficos de errores
* Chart::Base (v0.99c) para dibujar gráficos de errores
* XML::Parser (cualquier versión) para la interfaz XML
* MIME::Parser (cualquier versión) para la interfaz con el mail