pages tagged bug-handlingyakkinghttp://yakking.branchable.com/tags/bug-handling/yakkingikiwiki2014-05-14T11:00:16ZDealing with bug reports against your own softwarehttp://yakking.branchable.com/posts/dealing-with-bugs/Lars Wirzenius2014-05-14T11:00:16Z2014-05-14T11:00:06Z
<p>When you start publishing free software, and gain users, you will
inevitably receive some bug reports. This is a good thing. It means
other people care about your software enough to tell you when they
have a problem.</p>
<p>If you're lucky, your user is reporting a bug that is easily
reproduced, and is an actual bug, and you can quickly find and fix
the problem. Your user will be very pleasantly suprised to find the
fix and the new release when they wake up in the morning, after you've
spent the evening dealing with the bug report.</p>
<p>Sometimes, however, things don't go smoothly.</p>
<ul>
<li>The bug report might be very unclear, or even wrong.</li>
<li>It might be difficult to reproduce the problem (if you can't
reproduce it, how do you know you've fixed it?).</li>
<li>The user might be very hostile. They wanted to use your program so much
to achieve some goal they have, and your program failed to help
them, and this frustrates them a lot, and they take it out on you.</li>
<li>You might be busy with other things, and not have time to deal
with a bug report.</li>
<li>The bug might be really hard to fix.</li>
</ul>
<p>Bug reports are, more than anything, about dealing with people. The
key to dealing with people is clear, courteous, and prompt
communication. If you don't have time to fix the problem, or you need
more information, respond as soon as you can. If people know you're
busy, they're happier to wait than if they hear nothing.</p>
<ul>
<li>Respond quickly, even if it is just to say you're busy and will have
a closer look as soon as you can.</li>
<li>Be courteous, even in the face of provocation.</li>
<li>If you need more information, be as clear as possible about what you
want and how they can get the information you need.</li>
</ul>
<p>If you get a lot of bug reports, you may want to set up a bug tracking
system of some sort. There are lots to choose from. As long as you and
your users are happy to use it, it doesn't matter what you choose.
However, you may want to wait until the volume of bugs warrants the
extra complexity of a tracking system. Or not. Experiment and see what
you like.</p>
<p>If you get a lot of users, but few co-developers, you may end up in a
situation where new bugs are reported faster than you can deal with
them. This is not a good situation to be in. There are a few things
you can do:</p>
<ul>
<li>Raise the quality of your software. Have fewer reasons for people
to report bugs.</li>
<li>Get people to help you, even if it's just triaging the incoming
bug reports.</li>
<li>Let the bug reports pile up and ignore them and do something else
instead.</li>
</ul>
<p>Various projects have, over time, done one or more of the above.
Sometimes the situation becomes better, sometimes it gets even worse.
Don't get into this state. Stay on top of your incoming flow of bug
reports.</p>
<p>On the other hand, if you do deal with bugs well enough, it is a
constant source of pleasant interaction with people who use your
software and like it, and you, enough to report problems in it.</p>