How to Triage
What are Bugs?
A software bug is an error or fault in a computer program which makes it fail to work as it's supposed to. This could be as simple as failing to work at all, or as complicated as a subtly incorrect result. Nevertheless, we really want to eliminate software bugs, as they make programs less useful.
For an in-depth discussion about bugs, you can read http://en.wikipedia.org/wiki/Software_bug.
Bugs in Ubuntu are tracked on a Bug Tracking System (BTS) called Launchpad (https://bugs.launchpad.net/)
What is Bug Triage & How do I get involved?
Bug Triage is an essential part of Ubuntu's development. Triaging can be broken down into the following tasks:
Responding to new bugs as they are filed - https://wiki.ubuntu.com/HelpingWithBugs
Ensuring that new bugs have all the necessary information - https://wiki.ubuntu.com/Bugs/Improving
Assigning bugs to the correct package - https://wiki.ubuntu.com/Bugs/FindRightPackage
Confirming bug reports by trying to reproduce them - https://wiki.ubuntu.com/Bugs/HowToTriage#Confirming
Searching for and marking duplicates in the bug tracking system - https://wiki.ubuntu.com/Bugs/MarkingDuplicate
Forwarding bugs to their upstream authors, when applicable - https://wiki.ubuntu.com/Bugs/HowToTriage#Forwarding%20upstream
Marking bugs that are feature requests as such - https://wiki.ubuntu.com/Bugs/HowToTriage#Feature%20Requests
Converting bug reports to “Questions” that are actually support issues rather than a genuine bug - https://wiki.ubuntu.com/Bugs/ConvertToQuestion
Every step of this process is important & doing all or any of these processes is very helpful!
http://is.gd/dE49D is a link to all of the bugs that have not been assigned to a package (currently 2294). Assigning these bugs to the correct package ensures that the correct people see these bugs & gets them one step closer towards being fixed.
Confirming bug reports by reproducing them is also another relatively easy task that is very helpful. Please bear in mind that you should not confirm your own bug reports though – we need at least 2 different people with 2 different installations to consider a bug report being “confirmed”.
All of these activities help the bug report to get fixed and subsequently are making Ubuntu even better.
The BugSquad (https://launchpad.net/~bugsquad) is the first point of contact for the bugs filed about Ubuntu, we keep track of them and try to make sure that major bugs do not go unnoticed by the Developers
Working with the BugSquad is a great way to start helping and to also learn a lot about Ubuntu and it's infrastructure.
We encourage everyone who wants to join the Ubuntu BugSquad team to also join our BugSquad Mentoring Program. You can find more details on how this Mentoring Program works at https://wiki.ubuntu.com/BugSquad/Mentors
You don't need any programming knowledge to help with triaging bugs, there are really only a 3 requirements to join the BugSquad:
1.Sign the Code of Conduct
2.Read the Triage Guide - https://wiki.ubuntu.com/Bugs/HowToTriage/
3.Subscribe to the BugSquad Mailing List - https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugsquad
The Ubuntu Bug Control team (https://launchpad.net/~ubuntu-bugcontrol) is a subset of the BugSquad who can change the Importance of Ubuntu bug tasks and set the status of an Ubuntu bug task to "Triaged" or "Won't Fix".
This team is for more experienced bug triagers and the requirements for joining this team are more involved. These requirements can be found at https://wiki.ubuntu.com/UbuntuBugControl
What is "Bug Status"?
There are currently 11 status classifications, they are: "New", "Incomplete", "Invalid", "Expired", "Confirmed", "Triaged", "In Progress", "Fix Committed", "Fix Released", "Won't Fix" and "Opinion".
A very brief explanation of what each status is used for and what it means is:
- “New” means that no-one has triaged or confirmed the report.
- “Incomplete” means that the bug is missing some information like the steps to reproduce or a requested log file.
- “Invalid” should be used when the bug report does not contain adequate information to determine whether or not it is a bug.
- “Expired” is similar to Invalid, but is meant specifically for bugs that have been Incomplete for too long. This status is only able to be set by using launchpadlib or the email interface.
- “Confirmed” is pretty self explanatory. It means that someone other than the reporter has experienced the same bug.
- “Triaged” is set by a member of the Ubuntu Bug Control team when they think that the bug has enough information for a developer to start working on fixing the issue.
- “In Progress” means that a developer is actively working on fixing the bug.
- “Fix Committed” means that a developer has committed a fix to a bzr branch or to another repository.
“Fix Released” means that the fix is released & available in an official Ubuntu repository.
- “Won't Fix” is usually used on 'controversial' bug reports or when the developer does not want to implement a feature.
- “Opinion” means that there is a difference of opinion around this bug and people are free to continue the discussion, but the project or package maintainers need to move to other work and are considering the issue closed. NOTE: This status is still officially being trialled and should realistically not be used yet except for the purpose of this trial.
More information on Bug Status can be found at https://wiki.ubuntu.com/Bugs/Status
What is "Bug Importance"?
The importance of the bug signifies the priority that it should be given by people fixing bugs. In order to set the Importance field in Launchpad, you need to be a member of UbuntuBugControl Team.
There are currently 6 Importance classifications, they are: Undecided, Wishlist, Low, Medium, High and Critical.
A very brief explanation of what each importance is used for and what it means is:
- "Undecided" is the default importance for new bug reports. It means that there is not enough information to determine its importance.
- "Wishlist" is a request to add a new feature to one of the programs in Ubuntu.
- "Low" refer to bugs which affect functionality, but to a lesser extent than most bugs (e.g easy workaround, uncommon hardware)
- "Medium" is almost like the default Importance that is set. Most bugs are of medium importance (e.g. not easy to workaround)
- "High" refers to bugs that make a default installation unusable for some users (e.g. system fails to boot or "X" fails to start or an essential piece of hardware fails to work
- "Critical" is reserved for bugs that have a severe impact on a large portion of Ubuntu users.
More information on Bug Importance can be found at https://wiki.ubuntu.com/Bugs/Importance
If you find that you like triaging bugs & want to get more involved, the BugSquad organises an event called "Ubuntu Bug Day" or Hug day (Triage a bug win a hug!) once a week.
The basic idea of a Hug Day is to work together with the BugSquad and project maintainers to focus on a specific package or task.
Hug Days are perfect to start working on the Bugsquad as there are always plenty of people around to guide you & answer any questions you might have. More information on Hug Days can be found at https://wiki.ubuntu.com/UbuntuBugDay/
There are usually plenty of people willing to help with Bug Triage in #ubuntu-bugs (on the Freenode IRC Network).
https://wiki.ubuntu.com/AustralianTeam/Projects/BugJams#Helpful%20Bug%20Triaging%20Links has a collection of useful links.