Under Construction!
Introduction
IRC stands for Internet Relay Chat and is one of the primary means of synchronous communication between people working on an open source project. It's a text-based chat system where clients connect to one or more servers, and the servers forward messages between themselves. Communication is done in channels which individual users join, and users are identified by nicks (nicknames). In addition to human users, various services and bots (robots -- programs) are present in many channels.
- The Freenode network is used by Fedora, X.org, OpenOffice.org, and many other open source projects. For information about the Freenode IRC network, see http://freenode.net/. Freenode's IRC servers are accessible at irc://irc.freenode.net
- For information about Mozilla's IRC server see http://irc.mozilla.org. Mozilla's IRC server is irc://moznet (irc.mozilla.org).
Basic Usage
IRC Client Software
There are many IRC client programs available. Wikipedia maintains a comparison list of IRC clients. Three good choices include:
- Chatzilla - a Firefox extension
- XChat - a cross-platform (Linux/Mac OSX/Windows) graphical client. XChat is available in Fedora.
- Irssi - a text-mode client. When used with the screen program on a Linux or Mac OSX host, it can be left running constantly and you can disconnect/reconnect to it from multiple locations. Irssi is available in Fedora.
How to Connect to moznet using Chatzilla
When ChatZilla first opens, it will present you with a list of possible networks to join--hyperlinks at the bottom of the screen. Click the link for moznet to connect.
Choosing a nickname
Probably you want to use something short and in lowercase. Most people use their name or some portion thereof, but you can choose anything. You can change your nick using the drop-down in the bottom-left corner of the ChatZilla window, or with the /nick command (e.g., /nick roger)
Channels, joining and leaving
Channels (similar to the concept of a "chat room") usually start with the # symbol, for example #seneca. To join a channel type:
/join #seneca
Some popular Mozilla channels include:
- #seneca - Seneca's home on moznet (best place to start)
- #firefox - For user and some developer help with Firefox or Thunderbird
- #extdev - For extension developers
- #calendar - Developers working on Mozilla's Calendar apps Lightening and Sunbird
- #js - For developers with Javascript questions
- #xul - For developers with XUL questions
- #camino - For Camino developers
- #accessibility - For developers working on Accessibility related features/bugs
You can also start your own channel by joining a new channel name. This can be useful for times when you want to chat with a few specific people at once. For example:
/join meeting123
Channels exist as long as there is someone in them. They disappear when everyone leaves (NOTE: there are ways to change this behaviour, but this is the default).
NOTE: Due to IRC spam and spambots, many channels require that you are a registered user (i.e., that your nick has been registered) before you can join and/or speak. You can find instructions for registering your nick here.
Entering text
Anything that doesn't begin with a / is regular text that will be broadcast to everyone in the channel, including you.
The reverse is also true: anything beginning with a / is interpreted as an IRC command. You'll learn many of these as you go.
Channel Culture
It is normal to join a channel and say nothing. In fact, it is expected. Don't join a channel and say "hi" or leave and say "bye" -- you may be interrupting a conversation already underway.
It is normal for someone new to join a public channel (i.e., one you can see via /list or IRC > Join Channel) uninvited. Feel free to join as many channels as you like, once you're comfortable with IRC.
It is normal to join a channel and sit there idle for a long time. You might never say anything. This is a good way for you to learn about who is in the channel, what they are talking about, etc. Listening is often more important than talking, because you learn more.
If you have a question you should just ask it rather than saying, "Can I ask a question about ..." or "Does anyone know about ..."
You don't need to direct general questions to a specific person. Rather, you should ask in the channel in general. Someone will usually answer you:
<don> How do I ask a question? <funny_guy> don: you just did!
Channels generally have a purpose, and people are often joined to many different channels at once. You'll see many of the same people in different channels. However, what might be appropriate in one channel often isn't in another. When you enter a channel, take a look at its Topic (displayed at the top, or with the /topic command) for clues.
Generally you should avoid small-talk unless you are sure that it is appropriate. Even if you see others in the channel doing it, don't take that to mean that you should (i.e., channel veterans can get away with things newcomers can't!). At the same time, be ready for a playful and sarcastic environment.
Also be aware that you never know who you are talking to based on their nicks (you will learn who people are later, as you get to know people's nicks). Don't make assumptions about people (for example, many of the people in #seneca are students, and an equal number are core Mozilla developers).
The people in channels
Channels have operators, or ops. These are people who have special administrative powers to kick people out or otherwise run IRC server commands. You can often spot them in your client (for example, in ChatZilla they will appear with a Green Circle, and in irssi they will have an @ symbol before their nick).
You can find-out more about a particular person by using the /whois command, for example:
/whois don
In ChatZilla, try right-clicking a user, then User Commands > Who is.
Many people will appear to be in the channel, but not all of them will actually be watching IRC at that moment. It is normal for people to leave their IRC clients connected forever and never leave. This way they can catch-up on conversations they missed while they were away.
Because of this, people will often check to see if someone is really there before talking to them. By convention, people will use the person's nick and "ping" or "ping?" instead of saying, "are you there?":
<don> funny_guy: ping <funny_guy> don: pong ... <don> rob: ping? <rob> hey don ... <don> jim: ping <jim> pong
The person will often respond with "pong." People preface text like ping/pong with a person's nick so that their client will alert them to it. This is helpful when there are a lot of people talking at once in a channel. (NOTE: ChatZilla automatically remembers all text that was directed to your nick so you can scan it later. You can see it in the moznet tab).
It is normal to join conversations in the middle without being invited (within reason and assuming you know the people talking ).
Often you'll want to say something to a particular person and not the whole channel. This is known alternatively as 'msg' (short for message or messaging), private message or private chat, query, etc. There are a number of ways to do this, the simplest being to use the /query command:
/query don <opens a private chat/channel with user don>
In ChatZilla, right-click a user > user Commands > Open Private Chat.
You can close this private chat with /q (irssi) or by right-clicking the chat's tab and Close Tab.
Tools for collaboration
The best way to share long sections of text with other IRC users is not to paste it into the channel. For any text longer than a few lines (9 being the maximum), for example build output, source code, error messages, configuration text files, etc., you should avoid pasting it into an IRC channel directly. Instead, you should use one of the following methods:
Using #flood
The #flood channel is designed to allow users to "flood" the system with text too long for regular channels. It is always available, and users come and go as they need to show one another something.
Using private chats with individual user(s)
Another option is to use a temporary channel, which comes to the same thing as using #flood, but is more private if you need to share something less publicly. You could ask two or three people to join you in a channel name of your choosing, then paste your text there:
/join #temp1234 ...invite others to come and see... ...paste your text and chat about it... /leave
Using pastebin.mozilla.org
The third, and perhaps most common, solution is to use an on-line pastebin. These are websites that allow users to temporarily host large quantities of text, and assign them unique URLs. Mozilla hosts its own pastebin, which is publicly accessible at http://mozilla.pastebin.org.
You use simply paste your text into the textbox, and optionally select any syntax highlighting you desire. Finally, add your Name and click the Send button. You'll be taken to a new page. Copy the URL from the address bar, which will look something like this:
http://pastebin.mozilla.org/4248
Now, you can easily share this URL in IRC without actually copying your text directly into the channel. By default such URLs will exist for 1 month, but you can manually override this prior to clicking Send.
Sharing long complicated URLs
Many of the URLs that users share with one another on IRC are long or complicated. Because some users work with command-line clients, it can be difficult to copy-and-paste these URLs into the browser. A better solution is to use TinyURL.com. TinyURL allows users to paste and submit long URLs in order to generate a much shorter URL. A typical TinyURL, for example the location of Seneca on Google Maps, looks like this:
becomes...
TinyURLs never expire, so passing them around in emails, newsgroup postings, etc. won't cause problems.