Similar to how I think email is still the best discussion platform, I think there is still a solid place for Internet Relay Chat (IRC) in our lives.
IRC is a communications protocol created in 1988 and, yeah, it shows. It is 100% plain text: no images, no videos, no stickers, no emoji reactions, just good ol’ plain text.
It was designed to transmit everything in plain text (that is unencrypted) all across the Internets in a time when the use of these computer networks was limited mostly to universities, governments, and large corporations. This was a time when Hollywood-style 1337 h4x0rs were pretty much just kids using their modems to make long-distance calls for free.
Nowadays, IRC is probably not such a good platform for private personal chats, but that doesn’t mean it’s not good for other things.
Advantages of plain text
Arguably the best ‘feature’ of IRC is that it’s still all in plain text.
Having no multimedia or fancy features such as emoji reactions, integrations, or stickers keeps the bandwidth usage down and the focus on the content of what people are saying, rather than on distracting memes and flashy things. It’s the same reason why people like lean websites, plain text email, plain text notes, and so on: the plain text is easy, portable, lean, and pure. You can even still send files using IRC.
One aspect of computing and software design that many developers seem to forget nowadays is that over half of the world’s population does not have access to fast Internet and many people, even in developed economies, are limited by bandwidth caps and spotty satellite or mobile Internet access. For these people, IRC can be the much better option compared to other collaboration platforms such as RocketChat, Mattermost, Slack, or Matrix, even if they have to use an IRC bouncer or a screen/tmux session on a remote server to not miss things if their connection is that spotty.
Did you know, IRC played a critical role in getting networks back up during the recent CenturyLink outage?
One of the biggest flaws I see people discuss when talking about IRC is that the chat history is not saved by the server. This means that, if you want a record of the conversations that happen when you’re not connected, you’d have to use an IRC bouncer or screen/tmux session, which will keep you connected when you have to go offline.
I can definitely see this being a limitation for a private group chat if this is not something you’re willing to do. But when it comes to open source collaboration or support, this makes IRC great for hashing out ideas, asking quick questions, and having conversations while hacking on things. In these cases, you don’t really care what’s happening when you’re not there because these are synchronous conversations that are perfect for the ephemeral nature of IRC.
IRC is secure…
Even though encryption is not mandated by IRC or enabled by default in many cases, you can still enforce encrypted client-server or server-server connections on your IRC server. This means that all messages in transit between clients and your server would be encrypted (usually with Transport Layer Security) and the only weakness would be logs on the servers themselves or logs on client machines.
If you and your friends like the plain text medium, it’s entirely possible to set up an IRC server that mandates encryption and doesn’t store logs long-term. If you’re in a group of people you can trust to be competent then it’s entirely possible to make IRC work this way and have a reasonable guarantee of privacy and security.
and allows for communities
I suppose I should also mention the federating aspect of IRC since that’s quite a hot topic in the open-source social platform world.
IRC does federate in a way, but it’s not quite like the way Pleroma or Mastodon do. In the world of IRC, IRC networks comprise one or more IRC servers. If you connect to an IRC server, you can view and interact with any channels or users on the same network that server is a part of.
The way IRC exists right now is due to several network splits (netsplits) where many servers decided to split off of a big network to form their own, separate network several times throughout IRC history. This is similar to having a group of several Mastodon/Pleroma instances that have decided to federate with nobody else except those also in the group, and is why we have the Freenode IRC network alongside the Undernet, EFnet, and so on.
The reason why this isn’t really such a big issue when it comes to IRC, though, is that IRC doesn’t really have accounts. Sure, you can usually register a nickname with a network’s NickServ bot to reserve it, but that’s not mandatory on most networks. This means you can join however many IRC networks you want with little hassle; you just have to connect and set your nick.
Ultimately, it’s about choosing the right tool for the job
So, overall, IRC is still a really useful platform especially for software minimalists and technical users who wish to have a relatively hassle-free experience. It’s great for open collaboration and quick support in free software projects (far better than Slack or Discord) and it can be made to work for private chats as long as you can trust everyone in the group to be competent.
Yes, IRC may not necessarily be great for non-technical users or those who require extensive guarantees of security; it might even be too much of a hassle for you, but this doesn’t mean it’s dead, useless, or outdated.
IRC is not only still useful, but can still be the best tool for the job in the modern age. There are also improvements coming in the form of IRCv3.
Adapted from original post which appeared on paritybit.ca
Jake Bauer is a student of computer science with a strong interest in computer security, networking, and low-level stuff.
The views expressed by the authors of this blog are their own and do not necessarily reflect the views of APNIC. Please note a Code of Conduct applies to this blog.