June 5, 2006
One of the funniest things on the internet, for my money, is Eric S. Raymond's epic FAQ, How To Ask Questions The Smart Way.
It's 32 pages, 1,066 paragraphs, 10,289 words, and 51,757 characters. That you must read before you ask a technical question of any kind.
It opens with this disclaimer, which sets the tone for the entire document:
We have learned the hard way that without [a notice that this document is not a help desk], we will repeatedly be pestered by idiots who think having published this document makes it our job to solve all the world's technical problems.
If you're reading this document because you need help, and you walk away with the impression you can get it directly from the authors, you are one of the idiots in question. Don't ask us questions. We'll just ignore you. We are here to show you how to get help from people who actually know about the software or hardware you're dealing with, but 99% of the time that will not be us. Unless you know for certain that one of the authors is an expert on what you're dealing with, leave us alone and everybody will be happier.
And if you dare to ask a question without reading the question FAQ first, well, you're a loser:
Among hackers, "Good question!" is a strong and sincere compliment.
Despite this, hackers have a reputation for meeting simple questions with what looks like hostility or arrogance. It sometimes looks like we're reflexively rude to newbies and the ignorant. But this isn't really true.
What we are, unapologetically, is hostile to people who seem to be unwilling to think or to do their own homework before asking questions. People like that are time sinks -- they take without giving back, and they waste time we could have spent on another question more interesting and another person more worthy of an answer. We call people like this "losers" (and for historical reasons we sometimes spell it "lusers").
Of course, users who ask clueless questions haven't the foggiest idea where to find a question FAQ-- and even if they did, they certainly wouldn't have the patience to read it. This inevitable fact of life is utterly and completely lost on Eric S. Raymond. It'd be funnier if it wasn't so sad.
This speaks volumes about the difficulty the open source community has had delivering usable software. You can't fix users by berating and browbeating them into better modes of behavior. What you can do, however, is develop software that is tolerant of mistakes, software that gently guides users in the right direction.
But there's one question that nags at me. If we know the intended audience will probably never see it, who exactly was How To Ask Questions The Right Way written for?
Posted by Jeff Atwood
From Buck: "Open Source has never been about gaining acceptance from the masses."
I find this statement to be patently silly in today's day and age. It strikes me as rationalization of rude behaviour. I won't deny that perhaps most open source aren't suitable for use by the masses, but the idea of open source certainly doesn't preclude it.
"...but I have a low tolerance level for people who comment on Open Source as if it were another commercial enterprise. Perhaps if most Open Source developers were actually making money off their creations, they would be as you would like them to be."
I have low tolerance for people who are just rude toward others, and I suspect Jeff does as well. It has nothing to do with making money; it's about common human decency.
"If we know the intended audience will probably never see it, who exactly was How To Ask Questions The Right Way written for?"
The same audience that ALL of Eric S Raymonds papers are written for.
Eric S. Raymond
I believe it's pretty presumptuous to believe any self respecting newby would want to ask a question of snotty, self serving, assholes like you.
Do the world a favor and crawl back under your rock where you can feel self important w/out disturbing those who truly are...
It was, I think, intended for the newcomer: the
person who wants to do the right thing but is unfamiliar with the "rough and tumble" of usenet culture. It is, however, rather abrupt. I didn't want to point people at it for that reason, so I tried to reframe the problem more in terms of how to get the best out of tech support rather than in terms of how not to annoy them. I wrote this:
(which I think my initals should link to if I've filled in this form correctly). Mine is more specific to my locality than that document. If its wording is useful, feel free to use the contents elsewhere. I'd like acknowledgment, but the important thing is to reduce the grief all round :-)
Quiz time! Who said this:
"... the most valuable gift you can give your users is the luxury of ignorance — software that works so well, and is so discoverable to even novice users, that they don't have to read documentation or spend time and mental effort to learn about it."
You're right! It's Eric S. Raymond!
Somehow this seems appropriate, but I can't quite see how. :-)
Actually, it occurs to me that I usually do exactly what Eric Steven Raymond suggests:
* Try to find an answer by searching the Web.
* Try to find an answer by reading the manual.
* Try to find an answer by reading a FAQ.
... and I find that (1) and (3) are very useful precisely because *other people have already asked the dumb questions*. I very frequently find anwers on forums where other people asked the same question I have. So the DIY culture of hackers, who might resolve some knotty problem by heroic effort on their own, does me no good. Hmmm.
It's like class at school -- you might as well raise your hand and ask the dumb question, because probably half the kids in the class have the same question ...
The same audience that ALL of Eric S Raymonds papers are written for. Eric S. Raymond.
"... the most valuable gift you can give your users is the luxury of ignorance — software that works so well, and is so discoverable to even novice users, that they don't have to read documentation or spend time and mental effort to learn about it." -- Eric S. Raymond
I think that's the kindler, gentler, newer Eric S. Raymond, as it was written in 2004 (compared to the 2001 date on the HTAQTSW). I wrote up a little blog entry on this back in 2004:
I have low tolerance for people who are just rude toward others
I don't have a problem with rudeness per se; it's the weird, cultural institutionalization of rudeness embodied in that FAQ/rant that I object to.
Is it "cool" to be annoyed when someone asks you a basic question?
I, unapologetically, hate that gun-toting, libertarian, obnoxious, snob and zealot called Eric S. Raymond.
Am I the only one who finds "A Newby"'s(sic) post to be defining of the characters the paper was directed at?
I take the opposite position. I think it's a great document. I agree that its not nice to be rude to a newbie asking a question because he or she has no idea where to look, but there are two different scenarios which qualify for a link to HTAQTSW.
First, we have the Help Vampire. This is a person who asks not one question but thirty. And they ask questions like "So what would happen if I enter this value instead?" (Answer: TRY IT AND FIND OUT) repeatedly. There are some people in this world who refuse to think or to do any legwork whatsoever to solve their own problems. They are the same people that post to newsgroups saying Help I need to know how to do X. And I need to know before tomorrow. Email me right away with the answer.
A second point is that most people in Linux/Unix circles that get pointed to that document should know better. These are usually not people unpacking their first PC from Best Buy - these are hackers (in the good sense of the word). To ask people a bunch of questions without using Google first is an affront to the hacker culture. This community places high value on inquisitiveness, resourcefullness, and self-reliance. That said, I've generally found them to be helpful. Check out #ubuntu on freenode and watch the same questions being repeated. You'll see no harsh replies usually a kind pointer to the FAQ or the Guide and a kind word like "Read that and if you still have trouble, let us know." There's nothing wrong with encouraging people to think for themselves. Teach a man to fish and all that.
As for your last question, I doubt any truly new user may wind up reading Eric's FAQ but it is invaluable for somebody who is starting expand their use of open source software and want to get regular help on the software they want to use.
Also Eric FAQ is typically dead on the money. Because unlike commercial software, open source software is written based on the interests of the developer and mostly on their spare time.
For example I write and maintain an open source simulation of the Project Mercury and Project Gemini space capsule. I written a lot of support documentation that walks a first time user through a mission and helps them learn the system.
Luckily I haven't really encountered a clueless users. But I have gotten a fair amount of newcomer emails over the years. If the answer is simple then I tell them, but mostly I tell them how the documentation is laid out, where to find them, and what order to read them.
This is different then when I do support for the software company work where we always walk the customer through the problem and make sure it is resolved before we hang up.
It is a time issues, I simply can't give the support for my open source project as I do for the commerical work I done. And people who refuse or can't read the documentation supplied well... maybe my simulation isn't for them.
Not to say my documentation is perfect. I have fixed problems in the past. But I likely to get into a lengthly conversation when it is obvious the person has tried to master my simulation and it just not working out.
I know other developer that made similar add-ons to mine and they are not so friendly. But again their add-on was done in their space time.
Eric's FAQ describe how it is. Now how he wishes to be or how it should be but how most of the thousands of open source developers work and how best to deal with them to get what YOU want.
I don't have a problem with rudeness per se
This is a person who asks not one question but thirty [...]
These are familiar characters in all forums (literally, haha), including classrooms. They are, however, not necessarily representative of newbies per se. Being rude to everyone who asks an "obvious" or "dumb" question is to visit the sins of some upon all. You can try to educate the occasional Help Vampire, and if it comes to that, mod them out.
I've answered a lot of forum questions in my day, including many of the same ones over and over, and including some for people who are ungrateful jerks. Even so, I go with the presumption that every question is genuine and well meant until I know different.
What's so hard about learning the differnece between this?
Q: How do you do [a thing]?
A: Quit wasting our precious resources, you time-sucking moron.
Q: How do you do [a thing]?
A: Try the FAQ at a href="http://foo.com/faq."http://foo.com/faq./a
Does it take longer to xref the person to an answer than it does to humiliate them?
Everyone knows who it was written for: Eric S. Raymond and his pals. It's a rant disguised as a "document."
Now, I'm not going to say that it wasn't caused by real world experiences, or that this doesn't happen every single day, but it's true that the people that he thinks would most benefit from this will never, ever see it.
I think the FAQ was written primarily as a rant, and I don't mean that in a negative sense. ESR was frustrated by the stupid behavior he observed in the wild, and needed to get it all off his chest. So he wrote HTAQTSW.
Has anyone ever heard a newbie say, "I just saw this great thing about how to ask questions," and link to
HTAQTSW? No. The links are all from knowledgable experts who are tired of the newbies. It was written by a frustrated expert, and has since been appreciated by frustrated experts.
Karl Fogel's book on running an open source project makes specific mention with dealing with newbie questions.
He takes the high road and points out that just because you've heard the question asked 1000 times, it is the first time that this particular person asks the question. So try to be nice and helpful. Point to the FAQ if it exists. Etc...
It is a timewaster, but it builds goodwill more than it tears it down.
I always thought it was clear that it was a rant (as others have pointed out). It is a rant that doubles as advice for those who actually care: an example of how to "participate" in the open source environment without appearing to be out of the loop.
I wonder why people are so concerned about open source gaining adoption, especially with the rank and file user. The true open source goal was to scratch an itch and share it with others who might have the same itch *and be able to contribute as well*. The Genesis of open source was during a time when the only people using it were technological geeks who could read source.
Now some projects have expanded the goals to a "commercial sheen" and broad acceptance. Some have even succeeded in bringing that to the user (Firefox for example). It isn't a goal that many open source projects aspire to though: many simply have an itch, scratch it and share it *to the technical community*. Then they get beaten up for not hand holding the noobs.
Does it take longer to xref the person to an answer than it does to humiliate them?
Yes, but which is more fun? And more importantly, which option makes ME feel more important? ;)
I really don't see the problem with what Raymond wrote, because I understand the context from which it's written. It doesn't appear that you do, Jeff. Open Source has never been about gaining acceptance from the masses. It's always been about creating something to solve a particular problem or do something cool, and sharing it with others who have the same problem or for them get some enjoyment out of it.
Sorry if you feel I'm "ranting", but I have a low tolerance level for people who comment on Open Source as if it were another commercial enterprise. Perhaps if most Open Source developers were actually making money off their creations, they would be as you would like them to be. You can't have it both ways, Jeff.
"It sometimes looks like we're reflexively rude to newbies and the ignorant."
I don't know who "we" is, but I can tell you that *I*:
1) Am much more forgiving of newbies who don't know any better than I am of the jackasses who flood lists and forums with stupid flames of said newbies, when they *do* know better.
2) Have seen said "reflexively rude" almost exclusively from posers and hangers-on, not from the serious developers. (No doubt there are exceptions, no need to list them.)
Sure, it would be lovely to always be nice to the newbies. But as a mere mortal, I have only a limited amount of patience, much of which was drained by a year working front-line telephone support out in the Real World. Now, when faced with a newsgroup post not at all far removed from
Q: What's the first result if I google X Y Z?
(ok, exaggeration: how about
Q: Which way round do the arguments to InStr go?)
it really takes a huge mental effort to reply with nothing more sarcastic than the answer, along with something like 'From Google:' or 'From the docs:'.
Does this make me a bad person? I hope not. I certainly don't think it makes me cool.
ps I have pointed people at ESR's rant before, I think; more recently I have pointed more people at Jon Skeet's page on "a short but complete program that demonstrates the problem". It's a kind of more polite version of the same rant, for programmer forums rather than user forums.
The link is a good thing to give to a nagging newbie e.g. on IRC.
"What we are, unapologetically, is hostile to people who seem to be unwilling to think or to do their own homework before asking questions."
With one site I have in mind that uses this FAQ, they are just hostile. To everyone. Regardless.
Part of the "balance of evil", I guess. Excellent free software, run by people who want to abuse you as part of the condition of using it.
Part of the flaw is that 'homework' often means 'working really hard to make up for poorly written or inadequate documentation by searching everywhere, hours/days of trial and error, and, as a last resort downloading the source code and looking at that for clues.
"On Not Reacting Like A Loser" is in particular a highly offensive excuse to behave with utmost rudeness while pretending its normal and healthy (ie: this part of the document is simply put, a lie).
With the particular forum I have in mind, I find it impossible to read it without feeling like I am going to have a stroke (literally).
The developers deliberately obfuscate answers, deliberately give wrong answers (pretending the question is unclear when the meaning is plainly obvious to everyone) and waste enormous amounts of time for days playing ping-pong QA when they could just answer the damned question (or fix the documentation or the bug) and save everyone the hassle (including themselves).
Obviously, their time is not that precious if they do this. Do they find it fun? If so, they are not people I want to associate with. "Loser" is a term invented by people who don't amount to much themselves.
"Much of what looks like rudeness in hacker circles is not intended to give offence. Rather, it's the product of the direct, cut-through-the-bullshit communications style that is natural to people who are more concerned about solving problems than making others feel warm and fuzzy."
No, it is rudeness. The rest of us can communicate in a no-bullshit manner without offending anyone - quite the opposite in fact (clients appreciate it when we do so).
I guess these guys have never been in a real development team or, say, an academic environment where people really work together to solve issues and talk plain technical talk without all these nasty, spiteful, and immature mind games.
I can certainly see how you would come to your conclusions, if you take the document out of context.
The original essay (yes, it's mutated over the years) was about asking questions in a technical forum intended primarily for communications between developers on a project. So, yes, truly "clueless" questions are out of place there, and people who ask questions should expect to have done their homework first. However, other communities have different expectations and standards.
For example, I'm the co-owner of the WinDev mailing list . WinDev's purpose is helping Windows programmers, not intra-project communication, so the atmosphere and environment are quite different. It would be unfair of me to treat "clueless" questions the same way or even to refer people to Eric's document, so with his permission, I adapted it to our community .
But most of the time, folks who cite the essay with the intent of saying "this is what's wrong with Linux/Open Source/ESR!" find it more convenient to ignore the essay's context.
 a href="http://lists.windev.org"http://lists.windev.org/a
 a href="http://www.windev.org/howtoask.html"http://www.windev.org/howtoask.html/a
My favorite moment in that Open Source movie was when that freak Eric Raymond met the Microsoft Exec in the elevator and told him "I'm your worst nightmare...". I know he scared the h#ll out of him when he looked at him because of that one eye that's pointing sideways and the other eye pointing up. That mofo could spook a horse!
I don't think that this document is that useful for the average user, however I think it is extremely useful for a lot of people. When I first started using Open-Source software, some friends pointed me to this document, and I'm very grateful that they did.
The point of this document is to allow newbies who are interested in entering the Open-Source community to gain the knowledge and experience that will help them to contribute meaningfully to that community, and to help them get easier answers to questions without causing problems for others in the community.
Yes, it is possible to pick up all of the information in that document just through experience, but it will take significantly longer, and you will make many more mistakes early on. From here, you can learn about basic etiquette in the community, without having to learn it all the hard way.
It is not the person in a forum who asks the question that is answered in the FAQ, but the 1100th person in the forum who asks the exact same question! It often happens that a luser who is attempting to get the answer to a question who, in turn, enters a forum for the free exchange of ideas, NEGLECTS to read any part of the forum except for THEIR OWN question.
Their self-centeredness is grating. On many forums, when such questions are asked, old-timers may respond with profanities, regulars may respond with "RTFM", and newbies may respond with "Please read the FAQ."
For instance, on the Alexadex forum there is the following comment:
============== begin comment ===============
862 ppl asking "what, no updates?", of which half will post the question twice, cos ~15 years after the web made it's debut, people STILL haven't figured out what it means to press a button only once. These same people repeatedly bash the elevator buttons, surely that makes the elevators go faster / arrive quicker.
76 ppl asking questions answered in the FAQ; of the questions asked, half will be a variation of "when does this thing update?", followed by a chorus of "Before posting, have you checked the FAQ?" replies.
=============== end of quote ==================
These kind of things are frustrating to the technically-minded, to those that enjoy going through all the menus of an application, just to see what each will do.
This forum would not accept my comment due to "questionable content." Therefore, I'm going to let you know my URL here: technoyid.blog spot.com
Just remove the spaces.
since he wrote his sex tips for geeks.
Oh, it's on.
Not Safe For My Emotional Well Being
NSFMEWB. Like the first time I was tricked into clicking on the goatse.cx site. Man. That's one internet merit badge that you don't want.
"Eric S. Raymond isn't afraid to let his freak flag fly."
I've ruled all links to catb.org/* as NSFW since he wrote his sex tips for geeks. Not that I ever read them outside of work to see what they contained, but DAMN, the mere thought of Eric Raymond engaged in sex... MAKE IT STOP... MAKE IT STOP.
I guess catb.org is Not Safe For My Emotional Well Being more than it is Not Safe For Work.
excuse to behave with utmost rudeness while pretending its normal and healthy
That's exactly my issue here.
folks who cite the essay with the intent of saying "this is what's wrong with Linux/Open Source/ESR!" find it more convenient to ignore the essay's context
I am sympathetic to highly focused email lists, and development email lists, which may need this kind of strict control. But that's a teeny-tiny subset of the world. I don't think ESR is scoping his advice to these contexts; he's projecting it out to the world.
Paul: I have no idea what forum you are visiting, but it sounds like either you spend your time trolling there or they are the most dysfunctional people ever. Either way, I'm not seeing how there can be any benefits between you and that group: there is a point when you simply walk away from conflict.
On the other hand, there are people who believe they have a god given right to not read documents (the comment about "what is the order of InStr() parameters" has actually happend more times than I can count).
Doh, lost half my comment to cutting and pasting from Windows to XWindows... continuing:
Yet the response "check your help file for 'InStr()'" triggers childish behaviour such as cr*pflooding the channel because you didn't go look it up *for them* (because, to be honest I forget half the time myself).
If the project you mentioned has such bad docs, and yet you have time to badger those if a forum about them, perhaps a better use of that time would be creating *better* docs? That is the weakest link in many open source projects.
But that's a teeny-tiny subset of the world.
I don't think ESR is scoping his advice to
these contexts; he's projecting it out to
I can agree with that. If I recall correctly, the document was written for the Linux kernel mailing list (you can see some vestiges of that in the example questions). It looks like it's another case of assuming "all the world's a XX", where XX is what you (ESR in this case) are used to.
It looks like some of the assumptions in this (very interresting) discussion is that:
- the people who know The Answer can communicate (can like in "have the intellectual ability")
- the people who look for stuff are usually telepaths.
I have 15+ years of hard-core unix admin experience and I asked my fair share of dumb questions (one of them even made it to alt.most.funny.of.internet which I am proud of) but I still (as we spek) face the following problem:
I need to install some firmware and I do not know how to do it exactly. I know that this is possible. i go to the forum (best and unique) where these questions are being discussed. I ask politely how to do it explaiing what I tried, what HW I have etc.
What I get is
"yo, (the umpa-umpa music is runnig in the background) you NeEd 2 cee (umpa-umpa) the kjsdhkjsdh SW BIG FONT small font BLINK BLINK umpa umpa BIG small RED YELLOW GR..and man justah flashaaaah it the way yo yo 45fde@ee did it yo"
A search for "kjsdhkjsdh" in the forum does not show anything. I search for ABC (which is what i need) but, see, the search box allows only 3 chars.
I spend the night browsing though the BIG small GREEN YeLlOw f0nt2 and all I want i to kick these people in the bottom. The problem is that they know how to do the stuff.
I guess usenet changed. Before it was RTFM in ascii, now it is l33t stuff in AJAX (or whatever is the most complicated, best looking thingie on the web) -- and the answewrs are tough to find.
My point is that the world of "how to find help on Internet" has changed. Yo.
In no way 'technically inclined' mind should imply rudeness. Open source is immature, they can write some code and feel that it is what it takes. No, it is not. User support, writing documentation, maintaining software is all work. Unfortunately they do not get paid AND have no actual subjective pleasure from it (which can appear in case of code crafting). So yes, they are very poor at that. I almost never have to read FAQs, it has to be in the online help system already. All of it. Do what it takes, but write it as if you would give it to your grandmother, clear, well presented, unambigous, full. There is no other way.
And besides that all, open source guys cannot be charged if something goes wrong - they have no responsibility, only their own good will.
"Paul: I have no idea what forum you are visiting, but it sounds like either you spend your time trolling there or they are the most dysfunctional people ever."
Whoops: I should make it clear that I am not having a conflict with them. I merely observed their behavior when perusing the discussion group looking to solve a problem that I had. I hope that the fact that I Google for things from time to time does not cause them to be rude to others (;P).
Today I went searching on Google for a solution to an issue I was having with their software under Windows Vista, and the first post I landed on, they were being rude to someone who had asked the same question. The original poster was sufficiently taken aback to reinforce the lead developer's rudeness by apologizing needlessly, and in the end the answer to his question was only indirectly hinted at within one sentence out of several paragraphs of unnecessary rudeness. We all had to figure out the rest for ourselves.
"I believe it's pretty presumptuous to believe any self respecting newby would want to ask a question of snotty, self serving, assholes like you."
Good. Because you are exactly the type of person we want to shoo away.