Exploring the roots and future of Internet Relay Chat

From BBS to IRC: How Online Communities Evolved

Before IRC, before the web, before most people knew the internet existed, I was dialing into a BBS in Turin with a 2400 baud modem. The board was called Punto Zero. It had 200 users, one phone line, and the sysop's mother occasionally picked up the handset and killed my session. That was online community in 1994. You called a phone number, your modem screamed for 15 seconds, and if nobody else was on the line, you got to read messages and maybe download a file. It was slow, fragile, and local. It was also the beginning of everything that came after.

The BBS Era: One Phone Line, One Community

Bulletin Board Systems existed from the late 1970s through the mid-1990s. The concept was simple: a computer with a modem answered incoming phone calls and provided a text-based interface for reading and posting messages, uploading and downloading files, and sometimes playing door games (text-based multiplayer games that ran as external programs on the BBS host).

The technical constraints shaped the community. Most BBSes had one or two phone lines. Only one or two users could be connected simultaneously. This meant that communication was asynchronous by necessity — you read messages left by others, posted your replies, and disconnected to free the line. Real-time chat existed on multi-line BBSes but was rare and expensive to operate.

# Typical BBS session flow (1990-1995)
#
# 1. Dial phone number with modem (ATDT 011-555-1234)
# 2. Wait for carrier handshake (15-30 seconds at 2400 baud)
# 3. Login with username and password
# 4. Main menu appears:
#
#    ╔══════════════════════════════════╗
#    ║    PUNTO ZERO BBS - Torino       ║
#    ║    SysOp: Alessandro             ║
#    ║    Online: 1/1 nodes             ║
#    ╠══════════════════════════════════╣
#    ║  [M] Message Areas               ║
#    ║  [F] File Areas                  ║
#    ║  [D] Door Games                  ║
#    ║  [U] User List                   ║
#    ║  [C] Chat with SysOp             ║
#    ║  [G] Goodbye (logoff)            ║
#    ╚══════════════════════════════════╝
#
# 5. Read messages, download files (Zmodem protocol)
# 6. Log off — line freed for next caller

The sysop (system operator) was simultaneously the administrator, moderator, and landlord. They owned the hardware. They paid the phone bill. They set the rules. Getting banned from a BBS was like being kicked out of a club — you could call back, but the sysop knew your caller ID and your login. The power dynamic was absolute and personal.

Most BBSes served a geographic area defined by local phone rates. Calling a BBS in another city meant long-distance charges. In Italy, calling a BBS in Milan from Turin was expensive enough that you timed your sessions and typed fast. This geographic constraint created intensely local communities. You knew the other users because they lived within the same area code. BBS meetups — in-person gatherings of a board's regular users — were common. The digital community mapped directly onto physical space.

The software ecosystem was fragmented. In North America, PCBoard, RBBS, Wildcat!, and Telegard dominated. In Europe, RemoteAccess and ProBoard were popular. Each had its own features, file formats, and scripting capabilities. Moving from one BBS software to another meant rebuilding everything from scratch. There was no interoperability standard.

FidoNet: The First Distributed Network

FidoNet solved the isolation problem. Created by Tom Jennings in 1984, FidoNet was a store-and-forward network that allowed BBSes to exchange messages automatically. Each BBS in the network had a node number (like a phone number for BBSes), and messages posted in a shared "echo" (discussion area) would propagate across the network through scheduled phone calls between nodes.

The architecture was hierarchical. Nodes called hubs. Hubs called regional coordinators. Regional coordinators called zone coordinators. Messages flowed up and down this tree during scheduled "mail hours" — typically late at night when phone rates were lowest. A message posted on a BBS in Turin might take 24-48 hours to reach a BBS in New York, passing through several intermediate nodes.

# FidoNet addressing scheme
# Zone:Net/Node.Point
#
# Example: 2:333/100.0
#   Zone 2 = Europe
#   Net 333 = Torino area network
#   Node 100 = Specific BBS
#   Point 0 = Main system (points were sub-nodes, usually user systems)
#
# Message routing:
# User posts in echo "LINUX.ITA" on node 2:333/100
# During night poll, 2:333/100 calls hub 2:333/0
# Hub forwards to regional coordinator 2:33/0
# Regional coordinator forwards to zone gate 2:2/0
# Zone gate forwards to zone 1 (North America) via transatlantic call
# Message reaches 1:105/42 in Boston after ~24-48 hours
#
# FidoNet Technology Standards (FTS):
# FTS-0001: Basic protocol (packet format, session handshake)
# FTS-0004: EchoMail specification
# FTS-0006: YOOHOO and YOOHOO/2U2 session protocol

FidoNet echos (discussion areas) were the first experience of global asynchronous discussion for many users. You could participate in a conversation with people across continents — albeit with multi-day latency. The echos had moderators, rules, and netiquette standards. Flame wars in FidoNet echos lasted weeks because of the propagation delay. You'd post a heated reply, wait two days for the response, and by then either the argument had cooled down or it had escalated into a formal complaint to the echo moderator.

At its peak in the mid-1990s, FidoNet had over 30,000 nodes worldwide. It was a genuine global network operated entirely by volunteers paying their own phone bills. No corporate backing. No central authority beyond the coordinator hierarchy. It worked because people wanted it to work.

Tip: FidoNet still exists. A small number of nodes continue to operate, mostly via internet-based connections (Binkp protocol over TCP/IP instead of phone modems). If you want to experience FidoNet, the easiest path is running a BBS with Mystic BBS or Synchronet and configuring a Binkp connection to an active hub.

Usenet: Asynchronous Global Discussion

Usenet predated FidoNet by several years, starting in 1980 as a Unix-to-Unix copy (UUCP) network between Duke University and UNC. By the time BBS users were discovering FidoNet, Usenet was already a mature system with thousands of newsgroups covering every conceivable topic.

The key difference between Usenet and FidoNet was infrastructure. Usenet ran on university and corporate Unix machines connected by dedicated network links. The propagation delay was hours, not days. The message format was standardized (RFC 1036). The namespace was hierarchical and managed by a formal (if often contentious) process of newsgroup creation.

Usenet's contribution to community evolution was the introduction of scale. A FidoNet echo might have 500 participants. A Usenet newsgroup could have tens of thousands. The social dynamics changed with that scale. Moderators couldn't know every poster personally. Flame wars were faster and more public. Trolling became a recognized phenomenon. The concept of a FAQ (Frequently Asked Questions) was invented on Usenet specifically because the same questions came up in every newsgroup every few weeks as new users arrived.

# Usenet hierarchy (selected examples)
# comp.* — Computer science and technology
#   comp.os.linux.announce
#   comp.lang.python
#   comp.security.unix
#
# sci.* — Science
#   sci.physics
#   sci.math
#
# rec.* — Recreation
#   rec.music.classical
#   rec.games.mud
#
# alt.* — Alternative (unmoderated, anything goes)
#   alt.irc
#   alt.folklore.computers
#   alt.fan.pratchett
#
# Regional hierarchies:
#   it.* — Italian newsgroups
#   fr.* — French newsgroups
#   de.* — German newsgroups
#
# Reading Usenet in 2023:
# pan newsreader + eternal-september.org (free NNTP access)
# or web gateway: groups.google.com (limited, Google may discontinue)

The transition from Usenet to IRC was not a replacement. Many users participated in both simultaneously. Usenet for long-form asynchronous discussion. IRC for real-time conversation. The two served different communication needs and often the same communities maintained both a newsgroup and an IRC channel. The alt.irc newsgroup hierarchy was itself a discussion space about IRC — a meta-layer where people discussed the real-time medium through the asynchronous medium.

IRC Arrives: Real-Time Changes Everything

When Jarkko Oikarinen wrote IRC in 1988, he was building on ideas from Bitnet Relay Chat and the Unix talk command. But the jump from asynchronous to real-time communication was not incremental. It was qualitative. Everything about how communities formed, governed themselves, and evolved changed when communication became instant.

On a BBS, you composed your thoughts. You wrote a message, reviewed it, posted it. The forum format encouraged reflection — not because people were more thoughtful, but because the medium imposed latency. On IRC, there was no latency. You typed and the words appeared on every screen in the channel immediately. The communication style shifted from essay to conversation. From monologue to dialogue. From careful to spontaneous.

The governance models shifted too. A BBS sysop ran the server and moderated the community. A Usenet newsgroup moderator approved posts (if moderated) or relied on social pressure (if unmoderated). An IRC channel operator had real-time power: kick, ban, topic change, mode change — all executable in a fraction of a second. The speed of moderation action matched the speed of the conversation it moderated.

Channel culture diverged from BBS and Usenet culture. BBS culture was local and personal. Usenet culture was topical and argumentative. IRC culture was tribal and immediate. Channels developed inside jokes within hours. Regulars formed in days. Hierarchies solidified in weeks. A channel's culture was established by the first dozen regular users and then maintained — or disrupted — by everyone who came after.

Warning: Nostalgia distorts memory. BBS and early IRC communities were not inherently more civil than modern platforms. Flame wars, harassment, doxxing, and abuse all existed. The smaller scale made individual incidents more visible and sometimes more personal, but it did not prevent them. The technology shaped the interaction patterns; it did not determine the morality of the participants.

Community Patterns: What Transferred and What Didn't

Several community patterns survived the transition from BBS to IRC:

The benevolent dictator. The BBS sysop who owned the hardware became the IRC network administrator who owned the servers. The power was the same: total control over the platform. The social contract was the same: the dictator provides the infrastructure, the community provides the activity, both sides can walk away.

The regular. Every BBS had power users who logged in daily, contributed messages, and knew everyone else. Every IRC channel has regulars who idle 24/7, talk during peak hours, and know the channel's history. The regular is the atomic unit of online community. Without regulars, there is no community — just a server with an open port.

The troll. BBS trolls posted inflammatory messages in discussion areas. IRC trolls join channels and provoke. The medium changed; the behavior didn't. What changed was response time. A BBS troll's post sat there for hours before the sysop saw it. An IRC troll gets kicked in seconds.

What didn't transfer:

Geographic locality. BBS communities were defined by phone area codes. IRC communities are defined by shared interests. A channel about Italian cooking on Undernet might have users from Italy, Argentina, Canada, and Australia. The local-to-global shift was permanent. Every subsequent platform — web forums, social media, Discord — inherited IRC's global-by-default model.

Persistence of content. BBS messages persisted on the board. Usenet messages propagated to permanent archives. IRC messages disappeared the moment the last client with a scrollback closed. This impermanence changed the relationship between users and their words. On a BBS, you posted for the record. On IRC, you spoke for the moment. This distinction — persistent vs. ephemeral communication — is still the fundamental divide between forums (Reddit, Discourse) and chat (Slack, Discord, IRC).

Asynchronous participation. BBS and Usenet allowed meaningful participation at any hour. IRC required synchronous presence. If the conversation happened while you were asleep, you missed it. This created a new dynamic: time zones became community boundaries. European and American users in the same channel might barely overlap. The channel was the same; the communities were effectively separate, sharing a name but not a conversation.

The Legacy in Modern Platforms

Every modern communication platform is a descendant of these three ancestors. Discord is IRC with persistence, multimedia, and a business model. Reddit is Usenet with upvotes and a web interface. Facebook Groups are BBSes with a billion-user network effect. The DNA is visible if you know what to look for.

Discord's server-and-channel model is IRC's network-and-channel model with better marketing. The server owner is the sysop. The roles are channel modes with names. The bots are Eggdrops with a REST API. Discord even borrowed IRC's slash-command convention. What Discord added was persistence (chat history), voice, video, and a mobile-first client. What it removed was federation — you can't run your own Discord server on your own hardware, which would have been unthinkable to any BBS sysop or IRC operator.

Slack is IRC for companies, explicitly so. Stewart Butterfield, Slack's co-founder, was an IRC user. Slack's internal protocol was influenced by IRC's message format. Slack channels work like IRC channels. Slack's bot API works like IRC bot interaction. The difference is packaging: Slack wrapped IRC concepts in a web UI, added file sharing, search, and integrations, and sold it to enterprises.

The pattern is consistent: each generation of communication platform takes the social structures invented by the previous generation and wraps them in new technology, better UX, and a business model. The BBS invented the online community. FidoNet invented distributed asynchronous discussion. Usenet scaled it. IRC made it real-time. Everything since then has been variations on these four inventions.

I still think about Punto Zero sometimes. 200 users, one phone line, a sysop's mother who picked up the phone. It was limited in every way that modern platforms are not. But it was ours in a way that no platform running on someone else's servers, under someone else's terms of service, monetized by someone else's ad network, can ever be. The BBS sysop owned the hardware. The IRC operator owns the server. On Discord, Slack, and every other centralized platform, you own nothing. You rent access to someone else's community infrastructure and hope they don't change the terms. The BBS operators understood this instinctively. The lesson hasn't been learned widely enough.

FAQ

Can I still connect to a BBS today?

Yes. Hundreds of BBSes are accessible via Telnet or SSH. The Telnet BBS Guide (telnetbbsguide.com) maintains a directory. Modern BBS software like Mystic BBS, Synchronet, and ENiGMA½ runs on current operating systems. You can also run a BBS on a Raspberry Pi. The experience is authentically retro — text-based interfaces, ANSI art, message areas, and file sections — with the convenience of TCP/IP instead of dialup modems.

What killed the BBS?

The web. Specifically, the combination of ISPs offering flat-rate internet access (eliminating the per-call BBS model), web-based forums providing similar functionality with better interfaces, and the network effect of the global internet making local BBSes feel small. The transition happened between roughly 1995 and 1999. Some BBSes survived by moving to Telnet access, but the mass user base migrated to the web and never came back.

Was FidoNet related to the internet?

FidoNet was independent of the internet. It used dialup modem connections between nodes, not TCP/IP. However, gateways existed between FidoNet and Usenet, allowing messages to flow between the two networks. In the late 1990s, FidoNet adopted the Binkp protocol, which runs over TCP/IP, allowing nodes to exchange messages via the internet instead of phone lines. Most surviving FidoNet nodes use Binkp today.

How did IRC channels form when there was no search engine for channels?

Word of mouth. People shared channel names on BBSes, in Usenet posts, on personal web pages, and in conversations on other IRC channels. The /LIST command showed all public channels on a server, but on large networks with thousands of channels, it was impractical. Specialized websites like SearchIRC.com (later) and network-specific channel directories helped. But mostly, you found channels because someone told you about them, just like BBS phone numbers spread through printed lists at computer shops and user group meetings.