Most of software development is, in fact, communication. Even more so for free software projects that involve more than one person. Communication is an overhead, something you need to do on top of coding, so many hackers don't pay much attention to it. This is a mistake. A project whose members communicate effective gets more done in less time than one whose members don't. Here are some hints that may be useful:
use the appropriate medium: if you need an answer soon, ask on a chat system such as IRC; if you can wait a while, use email or a blog post or a web forum
be short and clear: a long, rambling question takes more time and effort to read, never mind respond to, and is often less clear and thus results in a less helpful answer
take responsibility of getting the problem solved: develop a way to reproduce the problem, and if it's code, with the shortest, simplest piece of self-standing code you can (you'll often find you find the answer yourself)
make it easy to help you: explain what you really want to achieve (not something else, even if you think it's easier), and what you've done, and what the exact result is (use copy-paste or take a screenshot)
don't be insulting, arrogant, dismissive, or aggressive: you need help, don't make those you want it from not like you, or they might not even try
say thank you: you'll be remembered well, and those who helped you (or tried to) will have more fun and are more motivated to work for free for others in the future