What Is Bugzilla and How to Use It for Bug Tracking

tutorial
What Is Bugzilla and How to Use It for Bug Tracking

Every software project, no matter how well built, eventually runs into bugs. A button that stops working, a feature that breaks after an update, a crash that only happens under specific conditions. Tracking all of these in a spreadsheet or a shared notes document quickly becomes unmanageable. That is exactly the problem Bugzilla was built to solve. It is a free, open-source bug tracking system used by some of the most significant software projects in the world, including Mozilla Firefox, the Linux kernel, Apache, LibreOffice, and KDE. This guide explains what Bugzilla is, how it works, and how to use its core features to report and track bugs effectively.

What Is Bugzilla?

Bugzilla is a web-based bug tracking system originally developed by Terry Weissman at Netscape Communications in 1998 and released as open source under the Mozilla Public License. It has been maintained by the Mozilla Foundation ever since and remains one of the most widely deployed bug tracking tools in both the open-source world and commercial software development.

The name combines "bug" and "Mozilla," and Bugzilla has been so influential in the bug tracking space that its closest modern competitor, Jira by Atlassian, was deliberately named after the Japanese word for Godzilla as a reference to Bugzilla being its predecessor in the market.

At its core, Bugzilla is a system for logging, organizing, and tracking software defects throughout their entire lifecycle, from the moment a bug is first reported to the moment it is confirmed, assigned to a developer, fixed, tested, and closed. Every bug gets a unique ID, a structured record of its details, and a history of every change made to it. Teams can search bugs, generate reports, set up email notifications, and manage complex projects with hundreds of active issues simultaneously.

Who Uses Bugzilla?

Bugzilla is trusted by teams ranging from solo developers to organizations with thousands of contributors. The Mozilla Foundation uses it for Firefox development at bugzilla.mozilla.org, which is publicly visible and a good example of Bugzilla working at scale. The Linux kernel project, Apache Software Foundation, Red Hat, GNOME, KDE, Eclipse, FreeBSD, and LibreOffice all use or have used Bugzilla for managing software defects. Over 140 organizations run publicly accessible Bugzilla installations.

It is particularly well suited to technical teams working on large, long-running projects where thorough documentation of defects, a clear audit trail, and powerful search capabilities matter more than a polished modern interface.

How Bugzilla Works

Bugzilla organizes everything around Products and Components. A Product is a top-level software project, for example "Firefox" or "Your Web Application." Components are subdivisions of that product, for example "Login System," "Search," or "Payment Processing." Every bug is filed under a specific product and component, which makes it easy to organize large codebases and assign responsibility to the right team or individual.

Each bug has a Status that moves through a defined lifecycle. A new bug starts as UNCONFIRMED or NEW. When a developer begins working on it, it moves to ASSIGNED. When the fix is complete and awaiting review, it becomes RESOLVED. After successful testing, it is marked VERIFIED and finally CLOSED. At any point, a bug can be marked WONTFIX if the team decides not to address it, or DUPLICATE if the same issue was already reported.

Every change to a bug, including status changes, comments added, attachments uploaded, and fields modified, is recorded in a complete audit trail visible to everyone with access. This history makes it easy to understand why decisions were made and who did what at each stage.

How to Report a Bug in Bugzilla

Reporting a bug well is one of the most valuable skills in software development. A clearly written bug report helps the developer reproduce the issue, understand the impact, and prioritize the fix. Here is how to file a bug in Bugzilla.

Step 1: Create an Account or Log In

Go to the Bugzilla installation you are working with, either a public instance like bugzilla.mozilla.org or a private instance your organization has set up. Click New Account if you do not have one and enter your email address. You will receive a confirmation email to set your password. Log in before filing a bug so your report is attached to your account and you receive email updates about its progress.

Step 2: Search Before Filing

Before filing a new bug, search to check whether it has already been reported. Click the Search link in the navigation menu and enter keywords related to the issue. Bugzilla also performs automatic duplicate detection when you type a summary for a new bug and will warn you if similar existing bugs are found. Filing a duplicate wastes everyone's time and splits the discussion about the same issue across multiple records.

Step 3: File the Bug

Click New Bug or the equivalent in your Bugzilla instance. You will be asked to select the Product and Component the bug relates to. Choosing the right component routes the bug to the correct team automatically.

The bug form has several key fields. The Summary field is the single most important part of the entire report. It should describe the problem in one clear sentence that makes sense to anyone reading a list of bugs. A poor summary is "Login is broken." A good summary is "Login button does nothing when email contains uppercase letters on Firefox 124." Write the summary as if someone needs to understand the issue at a glance without reading anything else.

The Description field is where you explain the bug in full. Structure it with three sections: steps to reproduce, which lists the exact sequence of actions that trigger the bug; actual result, which describes what actually happens; and expected result, which describes what should happen instead. The clearer and more specific these are, the faster the issue gets fixed.

Set the Severity field to reflect how seriously the bug affects users. Options typically range from Blocker and Critical for issues that prevent the software from functioning, through Major and Normal for significant but non-fatal problems, down to Minor and Enhancement for low-priority issues and feature requests.

Use the Attach File button to upload a screenshot, a log file, or a video recording that demonstrates the problem. Attachments make it significantly easier for developers to understand and reproduce the issue, particularly for visual or intermittent bugs.

Click Submit Bug to file the report.

Step 4: Follow the Bug

After filing, Bugzilla automatically adds you to the CC list so you receive email notifications whenever the bug status changes, a developer adds a comment, or someone uploads an attachment. You can add other people to the CC list by entering their email addresses in the CC field on the bug page.

If you have additional information after filing, for example you discovered the bug also happens on a different version, add it as a comment on the existing bug rather than filing a new one. Keep the entire conversation about the issue in one place.

How to Search for Bugs

Bugzilla has two search modes. Simple Search is a keyword search similar to a basic web search, useful for quickly finding a specific known bug by ID or keyword. Advanced Search gives you full control, letting you filter by product, component, status, severity, assignee, date range, keywords, and any combination of fields. Advanced Search is the right tool when you want to answer questions like "show me all open Critical bugs in the Payment component assigned to my team."

Search results can be saved and shared with other users, which is useful for creating a persistent view of a specific subset of bugs such as all open bugs on the current release or all bugs assigned to a particular developer.

Key Bugzilla Features Worth Knowing

Dependency Tracking lets you mark bugs as blocking or depending on other bugs. If Bug 123 cannot be fixed until Bug 100 is resolved, you mark Bug 123 as depending on Bug 100. Bugzilla displays a graphical dependency tree showing these relationships, which helps teams understand which issues are blocking progress on others.

Email Notifications are configurable per user. You can choose to receive emails for every change to bugs you are watching, or limit notifications to specific types of changes such as status updates only. This prevents your inbox from filling up with minor changes to bugs you are loosely following.

Time Tracking lets developers log actual hours worked on a bug and estimate remaining time. This is useful for project managers who need to track effort and forecast completion.

Graphical Reports let you generate charts and tables showing bug trends over time, the distribution of bugs by severity or component, how quickly bugs are being resolved, and how many open bugs remain per milestone. These reports are useful for communicating project health to stakeholders.

Flags and Requests allow team members to request specific actions from other users, such as requesting a code review or approval from a team lead before a fix is marked complete. This adds a lightweight approval workflow without requiring a separate system.

Bugzilla vs Jira: Understanding the Difference

FeatureBugzillaJira
PriceFree, open-sourceFree up to 10 users, paid from $7.53/user/month
Primary purposeBug and defect trackingBug tracking plus agile project management
InterfaceFunctional, datedModern, polished
Agile boardsNoYes, Scrum and Kanban
Self-hostedYes, requiredOptional, cloud available
CustomizationExtensive via fields and templatesExtensive via plugins and workflows
Best forTechnical teams focused on defect trackingAgile software teams managing full project lifecycle
Used byMozilla, Linux kernel, Apache, LibreOfficeAtlassian ecosystem users, startups, enterprises

Bugzilla is the right choice for teams that need a focused, powerful defect tracking system they can host themselves at no cost. Jira is the better choice for teams that want agile project management, Kanban boards, and a modern interface alongside bug tracking, and are willing to pay for it. Many organizations use Jira for project management and integrate it with Bugzilla for specialized defect tracking on specific components.

Final Thoughts

Bugzilla has been around for over 25 years and remains the benchmark against which other bug tracking tools are measured. Its staying power comes not from a flashy interface but from doing its core job exceptionally well: giving software teams a structured, searchable, and auditable system for managing defects from first report to final close. If you work on any software project larger than a handful of features, having a proper bug tracking system in place makes a genuine difference to quality and team coordination. Bugzilla is free, proven, and trusted by some of the most complex software projects ever built.

Frequently Asked Questions

Is Bugzilla free to use?

Yes. Bugzilla is completely free and open-source under the Mozilla Public License. There are no per-user fees, no licensing costs, and no paid tiers. The only costs involved are hosting and server maintenance if you run your own instance.

What is the difference between a bug's status and its resolution in Bugzilla?

Status tracks where a bug is in the workflow, such as NEW, ASSIGNED, or RESOLVED. Resolution is set when a bug is resolved and explains why it was closed, such as FIXED, WONTFIX, DUPLICATE, or WORKSFORME. A bug marked RESOLVED FIXED means the issue was confirmed and a fix was implemented. A bug marked RESOLVED WONTFIX means the issue was acknowledged but the team decided not to address it.

Can Bugzilla be used for feature requests, not just bugs?

Yes. While Bugzilla was designed primarily for defect tracking, many teams use it to track enhancement requests and feature work by setting the Severity field to Enhancement. The same structured workflow, search, and notification system that works for bugs works equally well for tracking new feature development.

Does Bugzilla support email notifications?

Yes. Bugzilla sends email notifications whenever a bug you are watching changes status, receives a new comment, or has any field updated. You can customize which types of changes trigger notifications in your account preferences, so you only receive the updates that matter to you.

What programming languages and databases does Bugzilla use?

Bugzilla is written in Perl and uses MySQL, Oracle, or SQLite as its database. It runs as a web application on a server, typically with Apache as the web server. Most organizations self-host Bugzilla on Linux, though it can run on Windows servers as well.

Discover: Uncategorized

Discussion (0)

Be the first to comment.