Reading: Making positive contributions online
The internet makes it possible to work with people from around the world but it also can dampen the social signals we need to collaborate effectively and magnify those that fray tempers and shorten patience. Getting the most from online collaboration, whether as contributor or receiver, requires a combination of attitude and practice. However practiced I grow at this kind of collaboration I always find the following points worth reviewing. These should all hold whether you are making a contribution, receiving one, or asking for help.
Assume good faith.
This holds for everyone online, whatever you think the other person meant. Remember that even things which seem like obviously bad behavior to you are often caused by ignorance, not malice.
Look at context.
A point that is productive when made privately may be seen as an attack when made in a public forum and vice versa. When you are posting something, take a moment to make sure that both your tone and content fit the context.
Find social norms
Wherever possible take a minute to look at previous communications in whatever forum you are using and see if you can identify social norms. How do people talk there? What information do they provide or ask for? Are there common resources or procedures they reference that could be useful for you?
Remember that they are not going to see you coming. Unless you are actively involved in a collaborative project with someone, no one you communicate with is going to be expecting your contribution or to know you. It can be helpful to include some context for your contribution or the circumstances around how you came to make it, even if that is as simple as pointing out that you appreciate the work the author has already put into the piece. Imagine someone is sending you a note pointing out a typo in one of your published pieces, wouldn't it help to know that they had found your piece interesting or valuable.
Make requests, not demands.
If you are in the position of looking for help or reporting a problem, remember that kindness and persistence both go a long way online. Unless you have directly paid for support on something the odds are that anyone who will see your message is busily working on their own projects. However positive and well meaning your message, it most likely means someone else will need to do more work. The most productive way to get the rest of the community invested in your request or your trouble report is with unfailing politeness and by making sure to keep working to resolve your question.
If you simply toss a question onto a forum or mailing list and hope for the best, you are quite likely to be disappointed. Be proactive. If no one responds at first, try new things, look for other places you can ask, provide more information about what you are trying to accomplish and what you have tried. If people do respond, provide any new information they ask about or that results from things they suggest you try. Respond promptly. In all cases be polite and make sure to post the final answer when you find it, either by posting your own solution or by telling whoever helped you that their solution worked and thanking you.
Whenever possible, contribute work.
Praise, feedback, critique, and other commentary are all important ways to support the people whose work you appreciate online but if you want to actually collaborate with those people, it is going to take work. When putting together your contribution to something online, whether writing an email message, filing a bug report, or editing a draft of something for publication, take a minute and try to think through if there is any way you can make your contribution more useful to the other people involved.
If you find a typo, try doing a proofreading sweep of the whole text. If you are providing citations for or against someone's argument, consider summarizing the cited material and how it relates to this author's piece or even writing your own piece and linking to the original. If you are pointing out a problem with software think about what other information you could provide to help track it down and, if you do not know what that might be, consider asking before reporting a problem. If you are suggesting a new feature, whether in software or writing, consider what you might do to help build that, even if it is just writing up who that new feature would be useful for and how it would compare to what is already put there. Even if you just want to tell someone you like their work, consider whether you could help demonstrate that thanks by sharing the work they have done with new communities that they may not have the time or ability to reach.