IRC has a decentralized network of servers that can be accessed by special client programs. The protocol for IRC is open, and there are many client (and server) implementations.
The IRC protocol is a plaintext protocol, which means that it is fully possible to use IRC via telnet, although quite inconvenient. It also means that it is possible to intercept and read the communication between client and server, and even hijack and inject the connection. This is unfortunate, as there has been quite a lot of takeover wars on various IRC Networks.
The IRC protocol was originally defined in [RFC 1459]? but has been updated in RFC 2810?, 2811?, 2812? and 2813?.
Today the largest IRC Networks are EFNet, Undernet, IRCNet and Dalnet. They run various implementations of serversoftware, but the basic protocol is the same, and all networks can be accessed by the same IRC Clients.
Popular IRC clients:
Wikipedia has an IRC channel called #wikipedia on irc.openprojects.net.