4 ms·
Not only that, but IRC server protocol(s) are much more underwhelming. If my last recollection is correct (and I gave up with IRC before IRCv3 became viable eno
by lifthrasiir 3y ago
Not only that, but IRC server protocol(s) are much more underwhelming. If my last recollection is correct (and I gave up with IRC before IRCv3 became viable enough, which was too late IMO), pretty much every surviving server implementation had their own server protocol.
- vilunov 3y agoIRC is not a federated protocol, so this is not a big problem. Yes, it's a "relay chat", but in the end all servers of a single network must trust each other, and that means they are being run by a single organization and it's just a mechanism for horizontal scalability. This is not the same as XMPP, which has a federation s2s protocol, but each service provider can use a custom server protocol for horizontal scaling.
- lifthrasiir 3y agoThe original IRC was federated though. It is an unreasonable assumption but imagine that the original federated network did sufficiently evolve and adapt and strive to this day...
- vilunov 3y agoPeople had very different assumptions about the Internet and security. What was a federated protocol back than wouldn't be considered now. If that hypothetical evolution of IRC had happened, then I'm sure a s2s IRC protocol would emerge, but that's not a protocol problem, it's more fundamental than that. It would have to influence the c2s protocol as well, e.g. the identity is tied to the service provider and it has to be communicated to other clients somehow to avoid collisions.
- blibble 3y agothese days operating systems have better interfaces than select() so it's not for horizontal scaling, especially given each and every server has to maintain the full state of the network more for HA in face of DDoS :(
- Sesse__ 3y agoThe RFC ostensibly covers the server protocol too, but as-is, there are tons of extensions to make things actually work well (e.g. what happens on rejoin after a netsplit). It's a bit sad IRC servers are no longer all the rage, because it would be interesting to see how good we could actually make them with current technology and programming practice. 1M+ users on a server should be easily attainable, for instance. And presumably a much more robust distributed system than just “connect them all in a spanning tree and accept any inconsistencies” (i.e., support redundant connections). I've seen a couple of times where A deopped B and B was still able to kick A (because they were on different servers), leaving the channel opless :-)