How to write an effective bug report that actually gets resolved (and why everyone should)

Good software makes our lives better. That is why we use it. So what can we do to give back to the developers who are adding value to our lives? A thank you email perhaps? Donate via PayPal to the developers (even better)? Become a ravenous fan who tweets and instagrams incessantly about the awesome software? One of the best ways we can give back to the open source community is by submitting high quality bug reports.