Downstreams: Please work with your users and your upstreams
To whom it may concern
If you are reading this, it's quite possibly because you're involved in a
downstream, possibly as a triager or owner. This memo is to explain the roles
of end users and downstreams wrt upstream bugs.
Normal users
... will report bugs to the first site they can find. They will not
spend time trying to create accounts with hundreds of bug trackers or hunt
down the right one.
... are at best familiar with their source of software- typically
they get it by installing a distribution.
... do not care about lines of responsibility - as far as they are concerned,
what they have came from their "distributor" (it probably has a short and shiny
name too). That distributor has a bug tracker, they may be able to find
it. If they manage to find that tracker, and submit a bug (which is painful),
they consider themselves to have done their good deed. The rest is up to you.
Please understand that just because someone reports a bug (or twenty) doesn't
mean they're paid to work on your project.
Downstream project members
You are working on a project which is shipping code. You want the code you ship
to not have bugs. If you discover a bug in the code and it affects your
product, you want to get that fixed, that means you should take the effort to
get it fixed. That involves sending the bug to someone you know who can help.
You can help because you work on this project.
What should you remember?
- It is absolutely wrong to demand end users do extra work. --
If your car breaks down, you call your dealer. Your dealer doesn't tell you
"call the guy who made the engine". The dealer works with whomever is
responsible for whichever component is broken to get it fixed. -- If the dealer
does a bad job of resolving the problem, the dealer will lose the customer and
possibly all of that customer's friends.
- It is also entirely wrong to harm all of your other customers by not trying
to get a bug you know about fixed.
- If you're given a nearly complete bug report then the cost involved for you
to send that bug report upstream is minimal.
- Once you send one bug report upstream, the incremental cost to you to send
your second and third bugs upstream are even smaller. This will pay off for
you, but no such aggregation benefits are available for actual end users beyond
reporting the bug to you.
- When you send that bug report upstream, you're helping to improve upstream
and collaborate with upstream which makes you a better downstream (you stop
being a leech), it earns you some respect from upstream and certainly
appreciation.
- If you also provide a patch to upstream, they'll like you even more.
- Getting on upstream's good side is a good thing.
- Withholding triaged bug reports and patches from upstream will get you
vilified. It is the path to the dark side, and it's a very short path.