Jacob Kaplan-Moss


I wrote this post in 2006, more than 17 years ago. It may be very out of date, partially or totally incorrect. I may even no longer agree with this, or might approach things differently if I wrote this post today. I rarely edit posts after writing them, but if I have there'll be a note at the bottom about what I changed and why. If something in this post is actively harmful or dangerous please get in touch and I'll fix it.

Lately a large number of questions posted to django-users have included phrases like “this is a show-stopper” or “this is critical”. I think it’s worth my time to point out that this is a lousy method of getting developers to do what you want. It’s the online equivalent of threatening to take your ball and go home, and is about as effective.

I understand the impulse perfectly: there’s the fear that we won’t take you seriously if you don’t tell us just how important this is.

Again, though, it doesn’t work that way.

Remember: there are over two thousand people on django-users, and I imagine that’s only a fraction of the people actually using Django in the real world. Every single one of those users them has incredibly important, show-stopping, money-losing, business-ending bugs that they need fixed yesterday.

Unfortunately, Django is an all-volunteer project. There’s a good number of dedicated smart people who constantly work on patches, and a smaller group of people with commit access, but all of them have full-time jobs, other hobbies, families, and such. So we all do what any developer has to do: we prioritize, often badly.

It isn’t a matter of only fixing the important problems – they’re all important, otherwise people wouldn’t be reporting them! Every time I read a bug report, I automatically infer its importance. Telling me that something is “critical” or “a show-stopper” is simply redundant and repetitive, and thus it gets annoying after a while.

So how should I report bugs?

Luckily, there’s some great writing out there on the Internets about how to effectively ask questions and report bugs.

I’ve linked some of it below, but really it all comes down to one simple rule: just be straightforward, and don’t try to manipulate us. Tell us what you want, maybe something about why you want it, and above all just be polite.

So, here’s that further reading I promised:

  • Django’s own documentation has a guide to contributing to Django which includes sections how how to report bugs, submit patches, and on how the community operates. It’s pretty much required reading if you want to help with Django in any way.

  • The classic in this space is How to Ask Questions The Smart Way, but it’s actually rather condescending and arrogant so I’m not going to link to it.

    Instead, check out Mike Ash’s Getting Answers – the same message, but in a much better medium (as it were).

  • Brent Simmons, the developer behind NetNewsWire, wrote at length about this topic. A bit of it is NNW-specific, but the vast majority really applies to any interaction with developers.