IRC Will Never Die

The big kerfuffle in the open source world this week surrounds the biggest IRC server operator, Freenode. Wherever the dust settles, myriad important open source projects use Freenode’s IRC servers for their main channel of user feedback, and a number of vibrant communities call or called Freenode home. What you would call a 3D printer, and most of the software that drives it, for instance, was brainstormed up in Freenode’s #reprap. If you want help with a Linux distribution, you’ll be set straight within a few minutes in the relevant channel, because the people who wrote, packaged, or maintain it are probably on Freenode waiting to chat.

But suppose Freenode burns to the ground tomorrow, as some are suggesting. So what? My take is that is doesn’t matter. Freenode doesn’t own IRC, setting up an IRC server is essentially trivial, and what’s really important is the online community — they can just pick up and move somewhere else with very little hassle.

This is not to say that we don’t all benefit from the diligence that Freenode’s volunteer administrators and operators have donated to the cause over the years. IRC servers don’t run themselves, and Freenode’s admins fought and won an epic battle with spammers a couple years back. Keeping IRC running at scale is a different thing than setting up something for your friends, and so the Freenode folks definitely deserve our thanks.

But look, IRC is an old protocol and it’s a simple protocol. It’s so simple, in fact, that writing an IRC bot is just a few dozen lines in Python, using no external libraries. All you need to do is send plain text over a socket. You can do this — it makes a great networking hello world.

IRC is fun for hackers, but if you want a user-friendly GUI client, you ridiculously many to choose from. There are even no-install web clients if you just want to dip your toes in. Heck, you could install your own server in an hour or so.

So saying that the demise of Freenode is the end of IRC is a lot like saying that the end of Hotmail was the end of e-mail. In the grand scheme of things, almost nobody actually uses IRC — Freenode has 78,000 users while Slack has 10 million — and IRC users are very savvy, if not full-on geeky. These are the sort of people who can probably find the server field in a menu and change it from irc.freenode.net to irc.whatever.org.

In addition to our traditional #hackaday channel on irc.freenode.net, there’s also a channel set up on irc.libera.chat as well. There isn’t much action in either — IRC tends to be a slow conversation, so don’t freak out if someone responds to you an hour later — but if you want to swing by, we’re there. IRC will never die!

2021 Hackaday Prize Begins!

If you missed our announcement, this year’s Hackaday Prize is on! We’ve all had a rough year and a half, and it’s lead a lot of us to think seriously about our world. How would you want to change it going forward? Fifty entrants will rethink, refresh, and rebuild their way into $500, and the Grand Prize is $25,000. Get hacking!

49 thoughts on “IRC Will Never Die

        1. I do, and pretty much anyone I know who knows it works. No idea about big G’s spam filter, because I never had any need to e-mail anyone with a gmail address in the last 5 years. They surely are in my spam filter, though.

        2. I do actually. Thousands of letters each day. I think Google has one of the most accurate spam filters out there. The true pain in the ass are Cisco and Microsoft who pull spammyness values out of their ass.

        3. “Have you had trouble ending up in Google’s spam filter?”

          Not if you spend a few minutes learning how email DNS works…

          This is a question from a decade ago, and the answer is common knowledge.

          Before slagging on something, it is always worth spending 5 minutes to learn about the subject and make sure you’re in a position to complain. If it isn’t worth the 5 minutes, maybe it isn’t worth slagging?

      1. They did much more than that.

        They provided a front-end with defaults and mechanics intentionally in conflict with the established culture and standard, and they let loose unsuspecting public into a pretty tight and hermetic community.

        And then they made it so that using their interface you had access to more groups and messages than using the standard clients.

        And finally, once the damage has been done, they deprecated the whole thing.

  1. Most every freenode channel I’m in is going through the process of migrating to libera.chat. This should serve as yet another cautionary tale to those who think buying a community means they own it.

    1. It would be an idiom, native English speakers use them without even realising it. I’ve no idea of the history of it, but I would guess that “whenever the dust settles”, might have come from a physical fight where all the dust is kicked up into the air and eventually settles back down to the ground eventually after the fighting is over.

      idioms always remind me of a language that was entirely built upon metaphors and allegories like “Star Trek: The Next Generation”, “Darmok” – Season 5 Episode 2 which used phrases like “Temba, his arms wide” and “Shaka, when the walls fell”

      1. They ripped that off of Chinese.

        “Borrowing arrows in a straw boat.” is an old fave — useful for all sorts of tricking your more powerful enemy / using their own power against them. But you gotta know the story.

        There are like 10,000 of these.

      2. That episode always annoys me, because it’s impossible for them to teach the idioms to new people without having a language that can first describe them in ordinary terms.

        “Temba his arms wide”, is a short-hand reference to a story that they all know. That already implies the story was told and explained with language which they could have used to communicate with Picard. In other words, they were capable but just unwilling.

        1. In fact, the entire episode was a testament to the futility of the concept: they had to fight a monster just to explain the expression for “let’s work together”. If this was the easiest way to explain it to Picard, imagine what their kindergarden must be like. How do you tell a child, “don’t put your finger in a light socket”?

    2. There was a “that” too many. Fixed.

      You can actually always read “myriad” as “ten thousand”, but metaphorically.

      And that dust. It’s usually about _when_ the dust settles, but I was thinking about the location choice. You gotta give me artistic license on that one. :)

  2. The biggest problem with Freenodes new direction is in my opinion: they do not understand their user base. More specifically, they don’t understand why their audience uses freenode instead of the myriad other more “feature complete” services.

    I have always liked IRC for the sheer level of control that it gives the user. The user can use whatever client they wish to, that is suited for whatever system that they wish to use. They can then configure it in whichever manner they want. There is no mandatory fat binary with a bunch of runtime processes and hidden privacy violating processes happening in the background. Such as with Discord.

    Unfortunately, the vast majority of people are just consumers (and not power users). They want a service that is easy to use, one that takes all personal responsibility away from them, and are willing to exchange their soul for it. As long as the the terms and conditions are buried in a long click-through disclaimer that they didn’t read. That’s why the user base of services like Freenode is and will always be exceptionally low for something so popular.

    Having said that, though. I should stipulate that freenode is not IRC. The people who like the simplicity of using IRC on their own terms (which I think considering the market, that’s most people on freenode) will simply move on to the next thing (e.g. Libera) and carry on as usual.

    As far as I am concerned I will just use both until I don’t need to. The only thing that is really changing is the names.

    1. The offline chat log upgrade that the previous hackaday post mentioned would be very important for “suited for whatever system that they wish to use”. As is, IRC on mobile pretty much requires a bouncer on a server somewhere, or using a matrix bridge. And people who come, ask a question and leave are a major annoyance on many channels.

      1. Honestly, thank you. The person that you’re replying to seems to be falling into the same trap that the article’s author labored to highlight: That Freenode is, in and of itself, not IRC.

        So many articles seem to be heralding most of the Freenode operators splitting off as some sort of apocalypse-level event for the IRC protocol, but the simple reality is that it’s not. It never has been. During IRC’s heyday, a bunch of operators disagreeing on some “new direction” of a given network, and going and starting their own other IRC network, was called “Tuesday”. It was not noteworthy then, and the only reason why it’s noteworthy now is the minimal number of still-existent IRC networks.

        Why is that? Well, the IRC protocol, as ancient as it is, presents an inordinately limited set of capabilities when viewed through the lens of an average user in this day and age – something that I find HaD commenters pathologically unable to do, choosing instead to rail against either “the man” or “the young people”, depending on the flavor of today’s Ovaltine or prune juice (take your pick). I’m as guilty as the next middle-aged person of being wistful for days gone by, but ultimately I’d prefer to weigh the good against the bad, rather than looking through rose-tinted glasses and pretending there was some magical time in the past when everything was perfect.

        1. Ah these things are not about age, middle age, young or whatever — we should stop thinking in these stereotypical categories.

          Things have pros and cons, IRC always had big limitations. I just like that it seems simple and open enough, but it’s certainly far from perfect.

  3. I’ve been running a small IRC server for a decade now. My group of friends got hit by a pretty bad run of trolls and netsplits where we before, and finally we got sick of it. Haven’t looked back! We paired that up with a mumble server and bridged the two chats, so we have kind of a low-rent discord that we control. It’s not very hard to set up an ircd, and I hope that more people look at that as an alternative to freenode drama!

  4. Wait, are we here to talk about IRC never dying or Freenode?
    Freenode is replaceable. IRC would be much harder.

    I know the masses like shiny, graphical and simple so it’s no surprise to me when they go to other services. But it does surprise me when people comment on leaving it here.

    IRC is open. Yes, that means you can run your own server but how many of us have enough people we chat with to make it worth our while to do that. I suspect most of us connect to a room looking for strangers that want to talk about some common topic, not meet with a known group of friends. For example I might go join the reprap channel because I feel like talking about 3d printers. I’m not likely to open a new server and then try to attract the 3d printing community to come to me.

    But I can build an IRC client into anything. If I want IRC in my text editor there are already several emacs plugins. If I want to build an IRC kiosk to put at the local hackerspace it’s an open protocol. Just a little bit of coding and it’s done, a one-chatroom always on kiosk.

    And IRC is lite. New protocols are ridiculously heavy. Everything new is xml based. For every byte of actual chat there’s 1k of fluff. Tags, headers, layers upon layers. WSA, WSRM, WSSE, who needs all that? A message should contain a sender, the message and a destination. That’s enough. If it’s a persistent connection then the sender can be assumed. Want to make a wireless chat client from an 8-bit microcontroller and some low bandwidth wireless module? XBee, HopeRF, etc.. Sure, why not? But these newer xml protocols take about as much bandwidth as an audio stream did in the early days. Better be packing WiFi, an ARM chip and a BFBattery for that!

  5. “If you want help with a Linux distribution, you’ll be set straight within a few minutes in the relevant channel, because the people who wrote, packaged, or maintain it are probably on Freenode waiting to chat.”

    That’s a tiny bit too optimistic, don’t you think? The reality of it is more like there’s a good chance for it to go that way if you happen to be in the same time zone as the relevant personnel and your question is spot-on because you already have good knowledge of what you’re dealing with. Especially when the latter doesn’t apply, things may well go seriously pear-shaped. And, sometimes, just no one knows the solution to or even cares about your problem, just like IRL.

    “IRC tends to be a slow conversation, so don’t freak out if someone responds to you an hour later…”

    Yeah, that sounds way more like IRC. Someone recently put it quite nicely in a forum post I read: “IRC is asynchronous.” Well, it isn’t, but it still sort of is.

    “IRC is fun for hackers, but if you want a user-friendly GUI client, you[‘ve got] ridiculously many to choose from.”

    Care to name at least one? In my experience, they all suck.

    1. Have you considered lowering your expectations? ;)
      (from MADtv) Lowered Expectations: Chronically rejected singles: You’ve tried the rest, now settle for what you can get.

      I find HexChat pretty comfortable on Linux and serviceable on macOS and Windows.
      Pidgin makes a terrible IRC client but it does present it as just enough instant messenger and consolidates all protocols in a consistent UI.
      AdiIRC is a pretty good option for Windows users. I think it’s a better option than mIRC.

      If you have some constructive criticism and want to identify a layout and workflow that you think would make a good IRC client. I think that might be an interesting project to start. The problem I think I have is the clients today are good enough and I’m just so used to the old way of IRCing that I probably can’t break outside of the way ircii, epic, irssi, weechat, etc work.

        1. I’m a more of a function over form sort of hacker. If I make a tool or user a tool it doesn’t have to be pretty or even intuitive. Once I’ve put in the effort to master it, that’s good enough and I can move on to the real business.

  6. I mean, maybe I’ve been getting this wrong, but as I understand it, my previous comment was all about someone who earned his low expectations the hard way trying to lower other people’s expectations so they don’t end up utterly disappointed. That’s what I’d call an act of humanity.

    I’ve tried a few IRC clients, GUI and TUI. And, to be frank, Pidgin was actually one of the best because of its well-thoughtout, rather minimalistic UI. If it hadn’t started freezing on a regular basis from some version onwards, I’d probably still be using it. But it did, so I went for HexChat and configured that to feel like Pidgin as much as I could.

    So, HexChat cool, but it sucks for two reasons I can think of off the top of my head: As apparently most IRC clients, except for, e.g., Pidgin, it has a “run-on” input field. This is a drag if you, like me, tend to re-read what you’re about to post infront of a few hundered people. Pidgin will do soft-wrapping when your message exceeds the width of its input field. That’s way better.

    Then, HexChat’s color configuration is ridiculous. It works like when you try to configure the colors in your terminal window: 16 colors that will be used for “things”. Really, one should be able to set a color per UI element.

    1. HexChat is fine. Weechat is much better, and has both a very competent text interface and a ton of add-on GUIs that you can use remotely if you want. I like Glowing Bear.

      Kiwiirc should work for you if you’re just testing the waters.

    2. I’ve been using Pidgin on Windows at work for 10 years. And on Linux for longer than that. I’m surprised you’re getting some freezing issues. I’m on Pidgin 2.13.0 for what it’s worth while 2.14.x is the latest.

      HexChat does indeed lack the option to set the input line to grow and wrap nicely. I doubt it would be that difficult to add if you want to try your hand at GTK programming or perhaps pay a bounty to get some cash into the hands of a Linux-loving programming. The color thing is a bit harder to fix.

  7. I owe a great deal of thanks to IRC. Divorced as “she” just could not stick to our own bedroom, and then custody dispute, Years of issues won as I represented stability and respect for child needing both parents. But during all this on IRC I found the RIGHT woman and we stayed together for a large number of years till breast cancer took her. Son is doing great as he was my primary focus. Ex is ok too as her pick was good enough though a brute, that she’s doing reasonable so I never have had to help her. Doesn’t say I’m great. Doesn’t say she’s great, but says we made it still work for our primary goal of raising a mildly autistic son… albeit with difficulties.

    For others. STICK IN THERE! Keep the kids as priority. That is your job, that’s what the courts look at, that’s what you do if you are worth it.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.