I guess as KDE's "IRC guy" (I maintain Konversation) I should chime in here.
I like IRC. I regard IRC as important. I think without IRC none of the past 20 years of KDE would have happened, and the reasons for IRC being a successful technology for us and many others start with "chatting is nice" and "it's free, duh" but go far beyond. I'm not particularly emotional about abandoning IRC. It's a pretty bad protocol. It doesn't have intact governance to really make it better at a decent clip, despite earnest attempts. It doesn't address problems modern networking brings with it adequately, and the workarounds are clumsy. I'm not even particularly emotional about the code in Konversation. Some of it is pretty good, but what makes it good can be applied elsewhere. Some of the UI is really clever for a chat app, but again, I can (perhaps with a sigh) replicate that work elswhere. But what I don't want us to do is abandon IRC without retaining what made IRC successful and good. Some of these things areed technical points that form our most basic requirements: - Free - Protocol spec - Self-hostable - Federated - Multi-identity - Anonymous - Encryptable But again, these are basics. The more interesting lessons from IRC are social dynamics. As an example, the currently second most used chat system by the KDE community is probably Telegram. Telegram doesn't meet the above technical requirements and so isn't a good choice for us. The reason we use it is because someone started using it for one of two reasons at some point (IRC sucks on mobile - yes, even with ZNC - and/or a better workflow for dealing with image content), and now we continue because of momentum, without much planning or thought. I think the way we currently use Telegram is horrific for community-building and community cohesion and hurting us. As a mobile-dominated messenger not designed with our use cases in mind, Telegram's group chat workflow suggests creating groups easily ad-hoc. It's designed for "let me quickly invite the four people we're planning to go to the Italian place with to coordinate the arrival time". This workflow has some use for "breakout" topic chats in the KDE context, but because Telegram doesn't have any concept of community namespacing, we now have probably dozens of those there that aren't enumerated anywhere. You have to know they exist and who to ask to be invited. Or someone has to know you exist and invite you. IRC on the other hand (via network services and etiquette) disincentivizes creating channels ad-hoc, it's more about setting up channels as institutions with some permanance, so they can be documented and discovered. A good IRC channel allows for random walk-ins instead of being a sequestered little clique/club. That means sometimes you have to contend with the noise of lots of people that don't work on what you and three other people are currently trying to work on. But that means you're open to new people, you have an environment for getting to know each other, you inform each other about what everyone is working on without trying, you have space to "hang out" in together and see what this new day brings along, you can place notifications there, you get feedback from out- side of your self-imposed bubbles, you generate excitement for onlookers ... the information flow across the - extensible! - community is just vastly better. There are some chat systems that allow for both, e.g. Discord. Discord heavily fails all of our technical base- line reqs, but its three-level namespacing (global name- space for user identities, "servers", and channels on them which you see in an easy list) means you can easily have your permanent channels along with potentially task force ones that can't hide. This is the discussion we should be having. It's about what we actually want to get out of a chat system socially, and not looking what we got out of IRC and why would be a big mistake. And only then is it about looking at which systems satisfy all of our technical and social requirements alike. Cheers, Eike