1. Is there still a benefit to having more than one server? My understanding is that IRC networks had multiple servers partially because because having >50k open network sockets was difficult on 1995-era UNIX-like operating systems. That's not really a problem anymore. I guess multiple servers is a way to achieve load-balancing and fault-tolerance for servers going down, though. But then again, the services database still has to exist somewhere, right? That's probably still a single point of failure?
2. From a user perspective, an IRC replacement ought to compete with Discord. That means support for posting images and videos, audio/video chat, offline history, easy switching between desktop and phone, deep and granular admin controls, etc. I'd love for there to be an open source & open protocol option here, but I'm terrified to even imagine an RFC that implements all of this in a way that works in practice.
It's also not clear for us! We're considering using a regular replicated database backend with multiple service nodes accessing it. Making the service nodes replicate directly through the network is also an option.
> Is there still a benefit to having more than one server?
Good question. I'm not a staffer at Libera so I don't know, but they believe they need multiple servers. If nothing else, it keeps latency low between clients and servers no matter the client's continent.
> That means support for posting images and videos, audio/video chat, offline history, easy switching between desktop and phone, deep and granular admin controls, etc. I'd love for there to be an open source & open protocol option here, but I'm terrified to even imagine an RFC that implements all of this in a way that works in practice.
There are already specs for most of this stuff. Images and videos are through sharing URLs freely and there's https://github.com/progval/ircv3-specifications/blob/filehos... to tell client where they can upload media (I wrote it as a joke, but there are a couple implementations now???). Video/audio chat won't happen, because it's just too hard. https://ircv3.net/specs/extensions/chathistory for offline history already has a decent number of implementation. And easy switching is going to be tough but there has been work on it from https://soju.im/ (read markers, synchronizing PMs) that we can reuse.
"deep and granular admin controls" is probably going to be through non-standardized commands as is tradition, so servers can freely innovate and there isn't much to gain through standardization. https://github.com/ircv3/ircv3-specifications/pull/484 would help build GUIs for new custom flags, though.
Ugh no.The reason I love IRC is precisely because it's not Discord. IRC with Quassel (and QuasselDroid on mobile) adds most of the mod cons already without being overly bloated.
Besides, if you want something like that you already have Matrix which is just what you're looking for and fully open and federated.