IRC is primarily used for "public forum"-type chats, so the lack of encryption isn't particularly troubling. You can use SSL to protect the immediate connection, though (much like posting on HN).
I knew the CTO of a major telco in the early 90s who logged all the PRIVMSGs going through their network and used it to blackmail some people who weren't "out." When I found out I tried to report it, but this CTO faked some logs for their firm, making it look like I'd hacked them, and sent them to the dean of the university I was studying at to try to get me kicked out. That was a dicey moment.
On another security issue: I owned an EFnet server at the time, so I modified my HOSTS file to be able to go online as president@whitehouse.gov
it's dead simple early 90s text based protocol, and the servers have a remarkably lightweight footprint. simplicity also means you don't get the modern niceties like built-in media embeds or reactions (things that I really love from discord and matrix). but its simplicity also means it's easy to integrate (client, server, bot). I think it's perfect for 10-50 person channels, anything more it gets a bit too noisy to be useful or carry normal conversations.
It gets the job done. Tradition. Less annoying animated reactions and moving gifs (irc is serious business ;)
The following is a controversial opinion, but i like that it is ephemeral. You are either online or you dont see it and dont have to worry (yes i know what a bouncer is and that most other people use that)
I was going to ask why people don't like IRC. As someone else commented it gets the job done, but while I know there are better things on the market now I don't really know why e.g. Matrix is practically superior.
As much as I like IRC, it's usually missing some basic features everyone expects: history while offline, file uploads, inline images. Of course you can use a server like Ergo or self-host/rent a bouncer or client like The Lounge, but that's not an option for everyone. That's why so many people used Matrix as a free bouncer to join freenode/Libera.Chat back when that was an option
It's actually surprisingly hard to get on some IRC networks these days. A lot of e.g. EFNet servers have pretty narrow I-lines, and it's not always easy even to get a server list unless you're already on.
I like IRC for the culture, mostly. The way people use chat products seem to be pretty shaped by very small product decisions nobody probably thought much about when they were made (e.g. default notification settings), plus whoever happened to be early adopters. But of course, it's never going to have a resurgence.
With Matrix I log in and see all of the messages that were sent to me (or in the chats in in) while I was offline.
My understanding is that IRC doesn't do that.
So if I want to have a long running series of searchable chats that happen even when I'm offline then IRC isn't going to cut it.
My experience with matrix has been very poor. Ticks all the boxes on paper but ends up being quite buggy (or maybe the element client is just terrible). Its too the point that I dont think its a real competitor.
I grant you this list with decades of IRC experience (IRCnet really mostly, some FreeNode (farewell)) and maybe? ten years of Matrix :), probably forgetting some points:
- Matrix gives you persistent sessions (which sometimes seem like a concept despised by IRC proponents), meaning you won't miss messages even if your connection to the server gets disconnected for short or longer durations
- ..therefore alert sending clients are easy to implement without keeping an open connection to the server, so e.g. just a curl invocation from your favorite network monitoring system
- Side note: it seems IRC is unique in the way how people get offended if your network connectivity is poor, possibly resulting in a ban..
- You can connect these sessions from multiple devices at the same time, so I can see the same messages in PC and mobile devices, without using an additional host between Matrix server and my terminal, running screen/tmux/bouncer/etc.
- Channels (called rooms) can be configured to show past messages to new people. For some channels this is quite handy, because newcomers can see the vibes immediately after joining (traffic/no traffic/style of communication?) and participate faster. In addition, they are able to search such messages (though the search is not very featureful).
- Messages are not limited to 512 octets and there is no need for clients to come up with ad-hoc continuation messages. Instead, they are 64KiB JSON that can be easily extended for other applications, such as https://github.com/eras/mxrxtx .
- Because server communication is based on HTTP, it is easy to see in the protocol which message is in response to which request, unlike in IRC
- One can share media without uploading it first to another service
- Matrix has the modern communication tools like utf-8-per-spec, reactions, threads, replies, mentions, edits, redacts, writing status, email notifications, voice/video chat, opt-in phone number/email based people discovery—though some of these are also considered anti-features by some. Some more rare features: per-channel nicks, html subset messages (useful for tables, bot messages and pasting HTML-colorized fragments from supporting terminals)
- Matrix has end-to-end encryption available and enabled by default
- Mobile clients benefit from push notifications with better battery longetivity
- Like IRC, Matrix servers form a network; unlike IRC, anyone can just setup a server and connect to the network without arranging connectivity first with someone they know, with possibly quite tight criteria for getting the server accepted. This is quite like email.
- This is possible because the servers don't need to trust each other, via a mechanism called state resolution. So if a server doesn't have required permissions in a room (via a participating user) to e.g. change user permissions or kick a user, then it cannot (whereas, as I understand it, ircops have power beyond their IRC server)
- The communication graph (full mesh) is formed automatically per channel between participating Matrix servers, instead one per-network single-rooted tree with multiple points of failure (granted I understand IRC servers can be manually configured to overcome these failures with minimal disruptions). In Matrix each server participating in a room maintains a copy of the room contents.
- Matrix uses a novel distributed graph database for ensuring messages sent during server disconnects will eventually* reach all the participants
Not all of these features are the best they could be, though :), but I thought of not digging into them as I was just comparing to IRC.
Some of these points may have been improved by IRCv3, or are going to, I haven't followed a lot.. At least I recall it should/will have message tagging to address the problem of protocol-level request-response matching.
Many reasons. The main ones me, it's because I can chose a client that fits my needs among the many mature clients. And it's very configurable, as well as scriptable (though I haven't needed scripts for a while).
Most clients store the history locally in plain text files, which makes them easy and fast to search in with grep.
> is it encrypted?
The short answer is no. Many clients support E2EE using an OTR (https://otr.cypherpunks.ca/) plugin but it's not very user-friendly and your recipient is unlikely to have such a plugin already installed
I don't know about others, but I still use it for the same reason I still use XMPP: still works fine and is less annoying than proprietary solutions.
As for encryption, I use OMEMO with XMPP for private conversations, but I use IRC for public forum conversations, so TLS is enough for me. Think Hacker News, but in real-time.
Without an offline history and sane support for multiple clients, it does not really have the same utility. I’m using IRC, but oh my gosh is it a pain to set up and maintain. Bouncers are terrible, so the alternative is IRC clients that basically run their own little server that I connect to.
>Without an offline history and sane support for multiple clients, it does not really have the same utility. I’m using IRC, but oh my gosh is it a pain to set up and maintain. Bouncers are terrible, so the alternative is IRC clients that basically run their own little server that I connect to.
I agree, but the IRCv3 spec rectifies most of this by implementing chat history and some other niceties, while modern ircds such as Ergo implement server-side bouncer functionality so that you can have multiple clients connected.
It's not there yet, which is why I used the term "dream".
For me, the UX is the killer feature (i use irssi)
Slack and discord are very attention grabbing. I want to be logged into my chat client while still being able to get work done. The dated ux serves to not steal my attention.
I used irssi for years, but I want something that will work on my phone without the connection dropping all the time if I let the display go to sleep or if I change networks.