Tuesday, 19 April 2005

Support rant - Dave goes 'off on one'!!!

Warning: The following rant is not aimed at anyone in particular. It applies to a very small minority of the people I deal with on a daily basis who have unfortunately found a great way to cheese me off. I have been very careful to try not to make it sound like I don't respect end-users in general, however, if any of it does sound that way, it is entirely unintentional and I apologise in advance!

It's a fact of life that if you publically contribute to an Open Source project, then your inbox is going to bloat. Google currently has around 2000 hits for my primary email address in the web and groups databases, which means that that address is probably on a fair percentage of the spam address lists in the world- certainly it seems that way given that I can receive 200 or more junk messages on a bad day! 

That's not what this rant is about though - I've long since given up complaining about spam and setup various filters instead that keep the majority of it from hitting my inbox at all. This rant is about support. Like many other people involved on OSS projects, I spend a great deal of time writing code and documentation, fixing bugs and helping users out, all for the fun of working on the project. What really irks me though, are the few users that cannot be bothered to take the time to help themselves and simply send a private email demanding immediate help with their 'problem'. Consider the following email, typical of a dozen or more I might receive in a week:

Dear Save,

I need Postgre for my prject. Tell me where I can download the Postgre and how to set it up for my project.

I expect you immediate attention in this matter.

Sincerly xyz

OK, first off, my name is Dave. Not Save but Dave with a 'D' for doughnut. Why should I be bothered to help you (for free) if you can't be bothered to get my name right? You would be amazed how often people do this - and it's not like Dave is a particularly unusual name.

Second, you got the project name wrong. OK, I'll grant you that we in the Open Source business have an annoying habit of giving projects cryptic names, but c'mon, Google has 5.75 million pages with PostgreSQL in them - surely that's a clue?

Right, third. Spelling & grammar. It's one thing if you're not an English speaker - heck, your English is probably far better than I'll ever manage to speak your language - but if you're going to demand help from someone, then it wouldn't hurt to check for at least the most glaring errors before hitting send. There really is no reason to spell the same word 14 different ways in the same message!

Next up, why are you mailing me directly? I'm one of a hundred or more people working on PostgreSQL, and nowhere is my email address listed as a support resource. OK, so I could maybe understand this more if it was a pgAdmin query given that I started the project (not that that makes it OK), but this is a PostgreSQL query.

Next one - downloading PostgreSQL. Really, how hard is it to go to the website and click 'Download'? A very wise PostgreSQL hacker recently said to me 'if someone cannot figure out that for themselves, what hope do they have of running a DBMS?'. 

OK, number 6. 'Tell me how to set it up for my project'. WTF? I really do see this one quite often. How on earth am I expected to tell you anything about your project - and even if you had remembered to tell me what it was, why would I want to provide free consultancy? Bug fixing and a little guidance is one thing, but I'm not about to do your job as well as mine!

Finally, number 7. My immediate attention is expected? Yup, I'll give it my immediate attention - click, drag, drop, empty trash. Done. Next please.

OK, so it probably sounds like I've got a downer on everyone that asks for help - that is absolutely not the case. Although Eric Raymond puts it best in his paper How To Ask Questions The Smart Way, here's a few simple hints to avoid cheesing off the people you want a little help from:

  1. Try to help yourself first. Check the website, the docs, Google Web/Google Groups. Above all, make sure you don't end up asking questions that are answered in easily accessible places such as FAQs, or worse, the project homepage.

  2. Ask in the right place. Check the website for the project - there will almost certainly be support forums or other resources listed somewhere. Only contact the author directly as an absolute last resort.

  3. Describe your problem clearly, and simply. Include system configuration details such as OS and software versions. If reporting a bug, try to include a procedure with which the bug may be reproduced.

  4. Don't demand help. I personally take great exception to that, and I'm sure most other people do as well. Taking that sort of tone with me is a privilege reserved solely for my wife and my boss!

  5. Don't expect your task to be done for you. Hackers and other users will usually help with problems, but not lazyness!

So there you go. How to piss off a hacker and how to get help in one simple rant! 

This blog entry has been checked by an independent PostgreSQL hacker. Please send any objections to the sentiments held within to /dev/null