Most user communities take a typical path–the newbies ask questions, and a select group of more advanced users answer
them. But that’s a slow path to building the community, and it leaves a
huge gaping hole in the middle where most users drop out. If we want to
keep beginning and intermediate users more engaged (and increase the
pool of question answerers), we need them to shift from asker
to answerer much earlier in their learning curve. But that leaves two
big questions… 1) How do we motivate them? 2) How do we keep them
from giving lame answers?

Actually, this isn’t the biggest problem with most user
communities. The real deal-killer is when a new or beginning user asks
a “dumb” question. Most supportive, thriving user communities have a
culture that encourages users to ask questions, usually through
brute-force moderation with a low-to-no-tolerance policy on ridiculing
a question. In other words, by forcing participants to “be reasonably
nice to newbies”, beginners feel safe posing questions without having
to start each one with, “I know this is probably a dumb question,

It was precisely that idea that led to the original javaranch… in
1997, the newsgroup was just too nasty a place to ask
questions. Even if you were brave enough to ask an obviously stupid one, the slamming you got was enough to make it your last. And without users asking questions, the community evaporates.

But most user communities–especially the new ones–aren’t hurting for people asking
for help, they’re in desperate need of people willing to help the
newbies. And one of the quickest ways to keep a user community from
emerging is when questions go unanswered. So the real problem is getting people to answer questions.

Encouraging a “There Are No Dumb Questions” culture is only part of the solution. What we really need is a “There are No Dumb Answers” policy.

The best way to grow a user community is to get even the beginners
to start answering questions. The more they become involved, the more
likely they are to stick with it through the rough spots in their own
learning curve, and we all know that having to teach or explain
something to another person accelerates our own understanding and memory of the topic. The problem, of course, is that the beginners are… beginners.
So, here are a few tips used by javaranch, one of the most successful
user communities on the planet (3/4 million unique visitors each MONTH):

1) Encourage newer users–especially those who’ve been active askers–to start trying to answer questions
One way to help is by making sure that the moderators are not always
the Ones Who Know All. Sometimes you have to hold back the experts to
give others a chance to step in and give it a try.

2) Give tips on how to answer questions
Post articles and tips on how to answer questions, which also helps
people learn to communicate better. You can include tips on how to
write articles, teach a tough topic, etc.

3) Tell them it’s OK to guess a little, as long as they ADMIT they’re guessing

4) Adopt a near-zero-tolerance “Be Nice” policy when people answer questions
Don’t allow other participants (especially the more advanced users) to
slam anyone’s answer. A lot of technical forums especially are
extremely harsh, and have a culture where the regulars say things like,
“If you think that, you have no business answering a question. In fact,
you have no business even DREAMING about being a programmer. Better
keep your paper hat day job, loser.”

5) Teach and encourage the more advanced users (including moderators) how to correct a wrong answer while maintaining the original answerer’s dignity.
And again, zero-tolerance for a**holes. All it takes is one jerk to stop someone from ever trying it again.

6) Re-examine your reward/levels strategy for your community
Is there a clear way for new users to move up the ranks? Are there achievable, meaningful “levels”?