Guide to bug submitting and bug tracking in Linux
Linux distributions and Open Source software in general are, before anything, community efforts. Every distribution lists somewhere on its' website ways to contribute and help to the effort. And it's quite an effort too, which programmers provide for free, working in their spare time. One recurrent theme on each of those "how to contribute" documents is "Submit bugs when found" although the exact wording may differ. Of course, if you can contribute in other ways back to the community that offers you a free, functional operating system, (like writing code, advocacy and so on), even better. This article however focuses on submitting bugs in some of the most popular distributions : Ubuntu, Mint, Fedora, Debian and OpenSUSE. If you have any prior development experience, fine, but that's not mandatory. If you are willing to offer some of your free time that's quite enough. The usual communication channels are mailing lists (subscriptions recommended), IRC and bug tracking software, as we will see.
We will outline here some general conduct rules that apply to every software project in the FOSS world. You are asked to follow these rules as much as possible, as nobody has the time or the disposition to reply to rude remarks or to people without their homework done. So, a first rule : forget about rudeness or impatience. The developers do not owe you anything, and even if they did, disruptive behavior gets you nowhere. Before reporting a bug, make sure the bug isn't reported yet, so people willing to help don't waste their time searching for duplicates themselves. If you can get any output from the buggy application, error output that is, paste it in its entirety, preferably on a text pasting site. For this we prefer the use of dpaste.org but there are other spam-free pasting sites you can find with a simple Google search. Give every piece of information possible, even if you don't deem it to be relevant. It's better to give more information rather than having the developers squeeze it out of you. Follow their advice as to what to do for getting more data, like installing some debug packages, and never be afraid to ask. The word 'community' is essential here.
Ubuntu, being a user-friendly distribution, offers solid documentation regarding almost every aspect of the system. The bug reporting part makes no exception : there are lots of developers and users ready to help you, provided you follow the minimal guidelines outlined above. Launchpad is the all-stop shop for bug reports, answers, projects, existing and new, developer information and more. In short, it's a place for users as well as developers. Take some time to click on various links, create an account and prepare yourself to help others improve the software they maintain. It's quite a feeling knowing that you actually did something helpful.
Just like Debian, "father" of Ubuntu, has 'reportbug' as a helper application for bug reporters, collecting necessary data from the system and formatting it nicely, Ubuntu has 'ubuntu-bug', as part of the apport package. Using 'ubuntu-bug $application' will collect some installation data, then take you to a browser, in order to login to Launchpad and submit the bug. You are free to use any of these methods, whatever you like best (browser vs. ubuntu-bug) .
Not so fast, though : take time to see if the bug is reproducible (exhibits the same behavior every time), and maybe ask on IRC on #ubuntu - Freenode or the Ubuntu users mailing list if any users have the same problem. As always, make extensive use of Google : maybe you will find it's only a configuration problem and what to do to make it go away. If and only if you're certain it's a bug, go on and report it. If you're not sure yet, keep asking nicely : someone is bound to know the answer, especially in a big community as Ubuntu's. You will need to enter an e-mail address when creating an account on Launchpad. Make sure you check it periodically to see if there aren't any answers or request from the maintainers. Finally, this is the place where one should go before reporting bugs, just to make sure everything is neat.
Linux Mint is a close contender when it comes to popularity in the distro world. Based on Ubuntu, with a Debian-based edition, it's very appealing to every Ubuntu user that doesn't like the direction Ubuntu is taking in terms of UI design, or just wants a more user-friendly Debian. Pleasant graphics, useful tools and a warm community - that's Linux Mint summarized. Plus you get all the cool applications available from its parents and some Mint-specific tools. Why this introduction? Because having most of its packages from Ubuntu or Debian, the job is somewhat simpler regarding bugs : forward it upstream and voila! That doesn't mean that the Mint community does a shallow job out of this : it just means their bug tracker isn't as active as other distributions' . In short, the place to go in case you find any bugs in the distribution is https://bugs.launchpad.net/linuxmint . Their forums and the IRC channel on Freenode (#linuxmint) will put you in touch with a great community ready to help you.
The Red Hat-sponsored community effort, Fedora, wants to make your life as a potential bug reporter as easy as possible. As with the other distributions mentioned thus far, you will need an account at http://bugzilla.redhat.com which will only take a minute, and you're good to go. The IRC channel (#fedora on Freenode) is friendly and the users mailing list also will help you when you're stuck somewhere. Please remember to take a look through the archives to see if someone hasn't already found a solution to your problem. But what really stands out in Fedora is abrt, which you will usually find installed already. Abrt stands for 'automatic bug reporting tool' and, just like ubuntu-bug and reportbug, does most of the things for you. What it also does is that it automatically downloads and installs missing -debug packages so you can send a comprehensive bug report. After installing the necessary -debug packages, you log in into your bugzilla account, fill in more information such as the exact situation when the application crashed, and submit the bug, all through abrt, of course.
The most community-oriented distribution, in our opinion, remains Debian. Since its inception, Debian as an organization is probably the most democratic and exclusively people-centric, mostly because it has remained free of any commercial entanglements, unlike Fedora, Ubuntu or OpenSUSE. The effect regarding bug reports is that you get a huge developer community, which means a more pleasant experience as a bug reporter. A word of warning, though : Debian, unlike the distributions we talked about until now, is more "geek-oriented", that is, more technical and with higher expectations from their user base. Do not be scared, though : if one follows the general rules exposed above, plus the remainder of this section, one is good to go. Maybe Fedora takes the cake in regard with ease regarding reporting bugs, but Debian takes the cake by means of simplicity and well-thought interfaces. The www interface teaches you the specific guidelines as well as offers a search engine. For the sake of example, let's refer to Midnight Commander. We search for 'mc', as that is the name of the package, and we get http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=mc with a whole lot of options in order to narrow down the search results to our needs. From there you might want to go to mc's Debian page (yes, every package has it's own page with download links, bug reports and more), or directly report a bug from the browser. We recommend the use of reportbug, since it's easier and it makes sure that the maintainer will get the information he/she needs. After setting up reportbug for the first time 'reportbug mc' in our particular case takes care of things. You will only need to submit additional info, like what were you doing the moment the crash occurred and any other info you may feel is useful. As with the other distros, you'll need a valid e-mail address for contact.
Last but surely not least, OpenSUSE. Whatever one feels about OpenSUSE, we believe no one can deny that it's a quality distro, with a great community and lots of packages available. Also, the online documentation is one of the best. We will show you an example : we googled 'OpenSUSE bugtracker' and the first link that popped was http://en.opensuse.org/openSUSE:Submitting_bug_reports , and the first paragraph states "Developers: You can go directly to http://bugzilla.novell.com and report a bug. Non-technical users: You may try first http://forums.opensuse.org . Want to learn: It is not the easiest thing that you ever did, but it is not rocket science either. Please read the text below that has basic instructions how to report a bug." This simply left us with nothing much to write about, since it nicely summarizes the whole idea. You might want to note that you don't have to be a OpenSUSE developer to use the bugzilla. You just have to be a little technically-inclined as it's a sure thing no one will say disparaging things about you if you try.
Remember that there is no such thing as a stupid question. Just be polite and remember you're not just helping the project, you're helping yourself as well. How? Well, with every bug report you learn something new, which will serve you later, for sure. Also, if you feel up to it, "member of the quality assurance team for $distribution" looks very nice on a CV. And it's not a big deal getting there either. The will to help and learn and a few hours a week, with a good dose of dedication will get you there. Have fun.