IRC (Internet Relay Chat) is a real-time chat where you can talk to other people from around the planet. Although many channels deal with smalltalk about the weather, girl-friends and politics there are IRC networks and channels that are dedicated to provide support for a piece of software or an operating system. irc.freenode.net for example exists to support open-source projects. In case you need urgent help or just don't want to use a mailing list then you are welcome on IRC. IRC has been there for ages and has evolved with the time. So it may appear a hot tub of completely mad people at first. This article is meant to help you understand how to IRC works socially and how to get the most out of it.
Don't ask to ask
It's a bad manner if someone enters a channel and asks "May I ask a question?" or "Can anyone help me?". Although that may be polite in normal human interaction it does not work that way on IRC. You are supposed to just ask your question right away.
There is nothing worse than "My printer doesn't work." or "My mail server doesn't work.". How are others supposed to help you when you don't give them any information? Make sure you include at least this information:
- What did you try to accomplish? (I wanted to fetch my mails via POP3.)
- What has happened (wrongly) instead? (But my inbox remains empty.)
- What environment are you using? (I am using kmail 1.8 in KDE 3.4.)
- What did you try to find the cause? (I already checked my POP3 account setup.)
- Are there error message or log files? (The error message reads: "SSL negotiation failed.")
- Has it ever worked? What did you change? (I switched accounts to a new provider. It worked before with another provider.)
If all this information is included then you will have a high chance of getting a useful reply.
Tell what you are doing
Others only know what you tell them. If you change things silently then nobody will know about it. The worst thing you can do is say: "I changed something. Now I have another problem." This will get you ignored in no time. If you expect help you need to work with the supporters.
Read the /topic
Your IRC client will likely show you the "topic" of a channel when you enter it. You should find some useful information about how this channel is supposed to work. Often the topic even lists URLs for FAQs and documentation. Asking something that is clearly answered in the topic is very stupid. If there are FAQ URLs listed in the topic first look there if you find your question answered.
Do not be demanding
Do not expect a single person to stay online until your problem is fixed. IRC is a stateless medium. Anyone can quit at any time. People stay there because they like staying there. Nobody is paid for helping you.
Do not /msg people without asking
You can either talk to others in a channel publicly or /msg them privately. However the latter is considered rude. Don't occupy a single person for your purpose. Others may as well be interested in a solution to your problem, too.
Sometimes you may feel that others are rude. You may get a response like "Reinstall the package. Restart the service. Read the /usr/share/doc/mysoftware/README." Although this is a very brief reply it is likely not meant to be rude. IRC is often like human interaction without all the friendly bits. Other people have probably answered your question a dozen of times today and they just want to help you solve the problem - not become close friends with you. Don't be offended by it. The people don't mean it.
Do not repeat yourself
Asking the same question every minute is annoying. If anyone in the channel isn't paying attention then they will neither read you the second and third time. And those who came back from lunch or sleep will likely see in their "lastlog" what has happened lately. This is too demanding.
In most channels the only language spoken is english. There are certain local channels like #debian-fr which are specifically for frenchmen. But everywhere else you must not write anything but english. It doesn't matter if your english is bad. Most people in the world speak something different than english, too. And if you find another person that speaks your language then do not start to talk in your local language. Nobody else can follow you and it's considered rude.
Don't be lazy - read the documentation
If people tell you to read the documentation then you should do so. Never say: "I'm too lazy. Come on. You all know what I need to do. Just tell me what I need to do." This will get you ignored for all eternity. However you can expect to be told where to find the documentation. But if you get an URL then get it and read it. If the documentation is too technical or you don't understand certain sections then say: "I have now read chapter 3.1 of the URL you gave me and I understand how virtual domains work in general. But how would I use both virtual and non-virtual domains together?"
Give others a chance to answer
Even if you are in a hurry you should allow other participants some time to answer. Sometimes you are lucky and a helpful reply appears within a few seconds. But it is not uncommon that you will have to wait 10-20 minutes until the right person who is familiar with your problem talks to you. The pattern looks something like this:
10:07 Foo joins 10:07 Foo> How can I install the shripdibble module? 10:09 Foo quit
Then at 10:14 an expert on shripdibble joins but can't help you any more because you gave up too quickly.
Stay if you can
Using IRC is a matter of give and take. At the beginning you will surely you'll have questions over questions. Just ask them and be grateful if you get attention and replies. Others do not expect more than a "Thank you." for their help.
If you can, please consider staying online in the channel. The more knowledge you gain the more you can help other people. And you probably get to know people you like to hang out with - even if it's just virtually.
Answer the questions that you get asked?
It may sometimes be hard to follow all the conversation on IRC. But if people are trying to help you and need to ask you a few questions please answer them all. If you get asked three questions and only answer one or keep asking the same question time and again (showing that you don't read what you get asked) you risk to be ignored. Show some initiative and your problem will likely be fixed within a few minutes.
Tell others about the solution
It doesn't help anyone if you just say "Nevermind, found it." and quit the channel. Please tell the others what the solution to your problem was so everybody can learn from it. You will not look stupid - trust me.
Careful who you trust
When getting responses be careful who you trust. Some people just want to feel important and reply to you although they have no more clue than you do. Perhaps even an "educated guess" might help - just make clear if it's something that was tried and worked. Some people are even jokers who want to be funny by telling you how to erase your harddisk. So verify others' proposals instead of applying them blindly.
Do not flood the channel - use a pastebin
Sometimes you need to show others more than one line. Perhaps parts of your configuration files or a log file. Never just copy and paste larger amounts of text right into the channel. Always use a pastebin. Pastebins are public services (web sites) where you can paste your text and everybody can access them as a URL. Just paste your contents there and send the URL into the channel. That should allow everybody who's interested to take a look. Just don't paste it without any comment. Rather say: "Emails seem to get lost since I installed program foobar. Please take a look at my logs: http://..." See the list of pastebin services on the internet.