Get the highlights in your inbox every week.
Why you need to learn IRC if you're into open source
Getting started with IRC
Recent years have shown a resurgence in online chat technology. From WhatsApp and SnapChat on mobile to Mattermost, Telegram, and Slack (among others) on all platforms, real time text communication is hot. These tools help support collaboration and communication among distributed team members as well as enable the building and management of diverse communities.
Yet this is an example of "everything old is new again." Realtime chat has been a cornerstone of online life since before the invention of the World Wide Web. MUDs (and MUSHes and MUCKs), BBSes, and the talk command allowed real- (or near real-) time chat as early as 1980. ICQ, AOL | Yahoo! | Microsoft Messengers, Google Talk—and aggregators for them such as Meebo—dominated the online chat scene throughout the 1990s and early 2000s.
Through all of the realtime chat churn, however, the venerable IRC continues to perservere.
Created in 1988 by Jarkko Oikarinen (a year before Tim Berners-Lee invented the World Wide Web), Internet Relay Chat (aka IRC) has had a sometimes tumultuous history. Its networks have forked—and then forked again—over issues of implementation and community, yet still it persists as a robust realtime chat option today.
Software doesn't reach such a venerable age without developing a reputation. The most commonly mentioned facets of IRC's reputation is that it is arcane and opaque to learn, with an online presence which is neither logged nor persistent by default. Beyond that, it's just not as "shiny" or "usable" as more modern alternatives. Whether this reputation is deserved appears to depend upon the experience and preference of the listener. Some of us (and, yes, I proudly count myself among this number) are more swayed by other facets of IRC's reputation: It is open to anyone. It is loggable. It is scriptable. It is discoverable. It is ubiquitous. It is free, in all senses of the word.
Whatever your personal opinion of IRC, the truth remains that if you wish to participate in open source software and communities, you will need to learn how to use it. The Open and Free Technology Community (OFTC) IRC network has nearly 2500 different channels. Mozilla's IRC network hosts thousands of users and over a thousand channels. The Freenode IRC network boasts over 50,000 different channels and over eighty thousand users, most of them dedicated to free and open source projects.
At this point I must admit that at least some of the negative aspects of IRC's reputation are deserved. As chat systems go, this one is not the most approachable for new users. It's not that the learning curve is steep so much as it can be very difficult for new users to find the commands or accessible documentation necessary to perform relatively simple operations. When you get right down to it though, in order to participate in IRC conversations all you need are four basic things: A network, a client, a nickname, and a channel.
IRC networks, as with most other IT networks, are composed of servers. At the time of this writing, for instance, 27 different servers comprise the Freenode IRC network, one of the most popular and highly trafficked IRC networks currently operating.
When connecting to an IRC network, you should connect to the network and not to a specific server. The network will do the heavy lifting of making sure you are connected to the server appropriate for your location and for current network traffic. Regardless of the server to which you are connected, you will be able to communicate with any other person on the network.
The most popular IRC networks for free and open source projects are Freenode, OFTC, and Mozilla, but other projects such as Perl also have IRC networks to help with collaboration and community building.
The choice of IRC client is as personal as the choice of text editor. And, similarly, there is no wrong answer. Each client has its own features and flavor. The best choice is the one which works best for you.
According to a recent survey, the most popular clients by platform are:
- Windows: mIRC
- Linux: Irssi or WeeChat (usually in a screen session for IRC network connection persistence)
- OS X: Textual
However, it's not necessary to install a native client in order to use IRC. Many IRC networks provide a web-based interface to their services. Have a look at their websites for more information.
If you'd like to connect to multiple networks at once while not having to install a native client, the IRCCloud online web service provides maximum IRC benefit with minimum setup or headaches. It also provides mobile clients which seamlessly hand off conversations between web, desktop, and mobile clients. Because of its ease of use and modern features, it's the client option I recommend to most new IRC users whom I encounter and, even as an experienced user, is my personal client of choice.
Much like on Twitter, your handle or nickname ("nick" in IRC terms) is how everyone on IRC will know you. Your nick can be just about anything you want, as long as it's not already registered by someone else.
While it is not necessary to register your nick with the IRC network, it's a good idea to do so. If you don't, then should you not be online someone can come along and use the same nick, leading to confusion for those with whom you usually chat. This isn't identity theft, per se (since you did not register the nick it is therefore up for grabs), but it can be a very uncomfortable situation nevertheless.
When choosing your nick, there are two points to remember. First of all, your nick is not the same as your network login. It can be the same, but it's not advisable. Secondly, choose your nick with care. On IRC you are your nick. A nick which seems amusing at first can be seen as immature or even offensive later.
An IRC channel is a discrete chatroom. People outside of the room cannot see what is being said within. Channels are usually topical in nature. To reflect that, most will set a topic which will appear when you join the channel. Please always read the topic (and any links contained in it) and adhere to any strictures written there.
There are different types of channels on IRC, signified by a prefix before the channel name. The two which you will see most often (if not 100% of the time) are '#' and '##'. Channels whose name is prefixed with a single '#' are "official" channels for projects or groups. These are places where work gets done and where you should strive to stay on topic. Then there are channels which start with a double '##'. These channels are "unofficial" and usually are more casual in nature. Either way, please always be sure to read the channel topic and obey the rules of that particular channel.
With these concepts under your belt, you're ready to dive in and get started with IRC. I've written an IRC quick start guide to help minimize the learning curve and get you into the conversations as easily as possible. Once you get started you'll find that IRC can be a great place for learning, fun, and friendships.
So check out the IRC quick start guide, join us on
#opensource.com on the Freenode network, and lend your voice to the community of IRC!