Full disclosure: I am employed by Zend to
program Zend Framework. That said,
the following is all my opinion, and is based on my experiences with Zend
Framework, as well as answering questions on a variety of mailing lists and
with other OSS projects (PEAR, Solar, and Cgiapp in particular).
One of my biggest pet peeves in the OSS world is vague bug/issue reports and feature requests. I
cannot count the number of times I've seen a report similar to the following:
<Feature X> doesn't work; you need to fix it now!
If such a report comes in on an issue tracker, it's invariably marked
critical and high priority.
What bothers me about it? Simply this: it gives those responsible for
maintaining Feature X absolutely no information to work on: what result they
received, what was expected, or how exactly they were using the feature. The
reviewer now has to go into one or more cycles with the reporter fishing for
that information -- wasting everyone's time and energy.
Only slightly better are these reports:
<Feature X> doesn't work -- I keep getting <Result X> from it,
which is incorrect.
At least this tells the reviewers what they reporter is receiving... but it
doesn't tell them how they got there, or what they're expecting.
So, the following should be your mantra when reporting issues or making feature requests:
- What is the minimum code necessary to reproduce the issue or show the desired API?
- What is the expected result?
- What is the actual result?