I use IRC a LOT. Most/all IRC Clients can send what are called “private messages” (or PM’s).

There are a few cases where PM’s could possibly be acceptable:

  • You have something that NEEDS to be private (account info, phone number, etc). You should ask yourself however if a unencrypted IRC session is the right place to send that info. Perhaps a phone call, a scp to a secure server, or a gpg encrypted email would be better?
  • It’s something you need to impart to JUST that one person. A friendly jibe or conversation with someone you know well perhaps, or a quick note from someone that they are running late or are going to do something for you.

That said, there are a number of cases where they are NOT a good idea (especially in support channels):

  • The person you are PMing might be busy, so you get no answer, but many others in a common channel may know the answer to your question.
  • The person you are PMing might give you a incorrect or incomplete answer, which other people in a common channel could correct or expand on.
  • Other people in a common channel cannot learn from your question or any answers you get. Perhaps they too were interested in doing that? Perhaps they have a related question that comes from that one? It’s good for everyone to ask questions in a common channel.
  • It doesn’t scale. You can’t always ask a person your questions directly. Sometimes people are on vacation or busy and you will not get answers. If 100 people try and ask one person privately each question most IRC clients would go crazy with tabs and trying to keep track of those seperate conversations.
  • Some people provide support for things for a living. If you are directly PMing them shouldn’t you pay for private support?
  • IRC is somewhat transitory. Unless someone has setup a bouncer (znc, bip, dircproxy) and set it to record private messages, they can easily be lost (just reboot without checking all of them and many clients won’t show them on restart of the app). So, if you PM someone the message may well not get through anyhow.

Finally there are some modes of interest (on freenode at least):

  • /umode +R – This will prevent people who are unidentified with freenode services from sending you private messages.
  • /umode +g – This will prevent you from receiving private messages from anyone not on a session-defined whitelist. The content of the whitelist can be controlled using the /accept command. When a user not on the whitelist attempts to contact you, you will receive a notice informing you of the fact and you can then use /accept user to speak to them. Users can be removed from the whitelist using /accept -user. Finally, /accept * will print the whitelist.
  • Other clients or IRC bouncers may have ways to log/ignore/etc private messages. See your clients docs.

In some channels/areas it’s polite to ask before PMing: “Hey, foo, mind if I PM you my phone number?” or “Hey foo, can I PM?”.

So, next time you are in a community channel and want to PM someone, do consider the above before doing so, odds are it would be much better to just ask in the main community channel than PM some particular person.