Supporting Free Software – Bug Hunting

In a previous post I mentioned that Free Software should more properly be considered “Community-Supported” software, and I said I would come back to discuss just what that means.

There are lots of ways for someone to support Free Software, but one of the most important is by submitting bugs to the developers. Remember that these fine people are creating wonderful software with minimal budgets, and that means they cannot possibly test their software under all possible conditions. Many of us (myself included) build our own computers out of parts we mix and match, everyone installs their own custom blend of software, etc. Under the circumstances, you have to expect that we will stumble over problems that no one knew about. And the only way they can get fixed and the software improved for everyone is by filing bugs. This is how the developers get informed about the problems, and is step one to fixing them.

The first place to look for filing bugs is with your distro. The major distros tend to have online bug-tracking mechanisms of some kind, and they will have specific directions on how to file a bug. They may decide that it should go upstream (i.e. the bug is in a package that they included but don’t directly support), but it is really never wrong to start with the distro. If you want to read more about this, a good place to start is at LinuxCareeer.com. Note how they start off their discussion:

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.

This site give more specific instructions for Ubuntu, Mint, Fedora, Debian, and openSUSE. But if you use some other distro, just go to the site of the distro and you will be certain to find how they do it. Or Google for the name of the distro and the phrase “filing bugs” and you will probably get there right away.

Now, aside from the specific mechanics of submitting a bug for your distro, there are some general things that are important to any good bug report, and you should learn to look for these:

  • Did anything just change? Did you just add a new video card. for instance? If you change to a different video card, does that affect the problem? Did you just install new software? Did you just update something? Can you roll back the change and try again? Knowing the answers to these questions can be very important in determining where the problem lies.
  • What were you doing when the problem occurred? Is it reproducible, i.e. if you do the same things again do you get the exact same problem? Again, a very important piece of information for tracking down the bug.
  • Do you have any log data to add to the report? Get to know where this data lives, and how to access it. For instance, dmesg is a great source of information. Just including this file in your bug report can be useful, but even better is finding out how to pull out the relevant details first.
  • Check to see if this bug has already been submitted. If so, you may be able to add on to the report as an additional case of the bug. Even better, if you learned how to get good information, you can improve the original bug report to the point where the developers can actually work on it. When you look at how bugs are submitted, a large number of them cannot be worked on because there is no useful information. Learn to make yours useful. Also, you may discover that the bug has already been fixed, and all you need to do is update your software. That is pretty good, right?

Here is an example of one problem I had. The software package in question was Miro, which downloads and plays videos from the Web, which for me is mostly video podcasts. And I use it every day, so this problem mattered to me. I had just upgraded my Distro to the newest version, and suddenly Miro would not play any of my videos. I checked and I could play them in other software, but I wanted Miro to work for me again. I also checked on another computer with the same Distro version, and had the exact same problem. So I filed a bug in two places, one with the distro, the other with Miro itself. I got a reply from a developer on the Miro project within hours, and he said that he had tried that exact Distro version and had no problems. So there was probably some combination of software that I tended to use that did something unexpected. He asked me to grab a log file from Miro, and send it to him. I did so, and again he wrote back promptly pointing out a couple of lines in the log file, and saying that it looked like I was missing a critical package. I checked, and it looked like this package was on my system, but I removed it, reinstalled it, and then Miro worked properly again. I think this counts as a very good outcome.

When you create good bug reports, you help yourself and you help others. And that is a big part of what it means to have Community-Supported Software.

Listen to the audio version on Hacker Public Radio!