The Linux Foundation is a non-profit consortium dedicated to fostering the growth of Linux.
Bugzilla is a database for bugs. The LSB project uses this tool to let people report bugs, and assigns these bugs to the appropriate developers. Developers can use Bugzilla to keep a to-do list as well as to prioritize, schedule and track dependencies.
Not all 'bugs' are bugs. Some items in the database are known as Requests For Enhancement (RFE). An RFE is a bug whose severity field is set to 'enhancement'. People often say 'bug' when they mean 'item in Bugzilla', so RFEs often wind up being called bugs.
Enter the tasks you're planning to work on as enhancement requests and Bugzilla will help you track them and allow others to see what you plan to work on. If people can see your flight plan, they can avoid duplicating your work and can possibly help out or offer feedback.
Most significant work should have a bug. Bugs are the audit trail for work done towards a release, and the primary means of generating release notes and other information about what was changed/added. cvs logs exist as a backup, but are not as useful since a single conceptual change may be spread across many components and directories, and are harder to track unless there's a bugzilla entry to unify them.
Bugs and RFEs are composed of many fields. Some of them are described here.
Product
Component
Platform
Keywords
Dependency
Attachment
Bugs submitted to the LSB Bugzilla by default go straight into the NEW state. Unless otherwise marked at submission time, it will get the default owner, which is the mailing list for the subproject that owns that product. This means it doesn't have a specific developer assigned to it yet. Bug triage will cause this to be assigned, or someone may simply take it. If the bug remains new and inactive for more than a week, Bugzilla nags the bug's owner with email until action is taken. Whenever a bug is reassigned or has its component changed, its status is set back to NEW. The NEW status means that the bug is newly added to a particular developer's plate, not that the bug is newly reported - this gives the developer a chance to either Accept the bug or disagree with the assignment by assigning it to someone else, possibly back to the category owner.
Whenever you change a field in a bug it's a good idea to add additional comments to explain what you are doing and why. Make a note whenever you do things like change the component, reassign the bug, create an attachment, add a dependency or add someone to the CC list. Whenever someone makes a change to the bug or adds a comment, the owner, reporter and the the CC are sent an email (unless they have switched it off) showing the changes to the bug report. The LSB Bugzilla is configured to require a comment for most changes.
There are two ways that a bug typically gets resolved:
diff -u or gendiff) and attach that to the bug (see "Attachments" above). Add any appropriate reviewers to the bug's "Cc list". Leave the bug Open (assigned to you) until others have had a chance to review your patch. Only commit the patched code to cvs and mark the bug RESOLVED-FIXED after this review has taken place. Note that other people may have updated the same source while the bug was in review, so always cvs updateall the affected files and reapply the patch to them before commiting them to CVS.
For bugs which affect multiple categories, if someone else has to work on some other category, the bug should be reassigned after your piece is complete.
The LSB project has not used the bugzilla voting feature, if someone can suggest how that would be beneficial, we'll consider it.
When work on a bug is complete it's marked RESOLVED and given one of the following resolutions:
FIXED
INVALID
WONTFIX
DUPLICATE
WORKSFORME
Next, someone will need look at resolved bugs and ensure the appropriate action has been taken. If they agree, the bug is marked VERIFIED. Bugs remain in this state until the product ships, at which time the bug is marked CLOSED. If they are not verifiable, they should come back to life by becoming REOPENED. Blocker bugs are not considered fully unblocked until they are verified. This means that rollup bugs cannot be marked RESOLVED-FIXED until the blockers are verified; and ollups must also be verified. As a matter of policy, someone other than the bug fixer or major contributors should verify fixed bugs. It's fine for the submitter to verify, subject to the aforementioned policy. Bugs are fixed when the change is committed, but are verified against the product, not the cvs tree: spec bugs should be checked against a generated spec, software bugs against snapshot or beta builds.
Be careful when changing the status of someone else's bugs. Instead of making the change yourself, you may wish to make a note of your proposed change as a comment and let the bug's owner review this and make the change themselves. For instance, if you think one bug is a duplicate of another, make a note of it in the 'Additional Comments' section.
[wiki:UsingLsbBugzilla/Comments User Comments] [[Include(UsingLsbBugzilla/Comments)]]