<story><title>Why is IRC distributed across multiple servers?</title><url>https://gist.github.com/rain-1/c4be54e6506116c7b99e8f474a3b1ca8</url></story><parent_chain></parent_chain><comment><author>H8crilA</author><text>Just remember that &amp;quot;netsplits&amp;quot; exist in every distributed system, be it a chat app or a database. It&amp;#x27;s just the CAP theorem. IRC has chosen to sacrifice C (consistency).&lt;p&gt;The only thing that changed in the modern times is that the P (partitions) are extremely rare in modern high octane cloud infrastructures. Also, modern solutions often decide to sacrifice A (availability), by returning an error saying &amp;quot;we&amp;#x27;re aware of the problem and we&amp;#x27;re working on a solution&amp;quot;. This is what happened quite recently when Google authentication went out and half of the internet went dark, while under the hood they had a simple out-of-quota situation on one of the replicas of their core authentication systems. The system was programmed to sacrifice A (availability) and reject all authentication requests.</text></comment>
<story><title>Why is IRC distributed across multiple servers?</title><url>https://gist.github.com/rain-1/c4be54e6506116c7b99e8f474a3b1ca8</url></story><parent_chain></parent_chain><comment><author>jchw</author><text>Well, from my historical reading of it, initially, IRC was a federated network of servers that were essentially one network, the way email is one network: there was no shared administration or anything. Anyone could run a server and jump into the network. Due to abuse, servers began restricting who they peered with, and it fractured into multiple networks.&lt;p&gt;So really, I suspect it was designed to be distributed and federated, and it just became what it is by accident.</text></comment>