Кратко

  • Jarkko Oikarinen создал IRC для OuluBox в августе 1988 года; когда пользователей временами становилось больше десяти, он попросил другие финские университеты запустить серверы.
  • К 1991 году IRC дошла до университетских пользователей Австралии. Позднее RFC 1459 описала древовидную сеть серверов и полномочия операторов, признав различия реализаций.

История началась с практического исправления. Jarkko Oikarinen администрировал Unix-сервер в Университете Оулу в Финляндии и разрабатывал более широкую коммуникационную программу для OuluBox — открытой университетской BBS. Он хотел добавить туда группы обсуждений и разговоры в реальном времени. Уже существовавшая программа MultiUser Talk для группового общения часто работала ненадёжно, поэтому первым реализованным элементом проекта стала IRC. По позднему воспоминанию Oikarinen, IRC появилась в августе 1988 года, но точный день он не помнил. Рассказ Oikarinen — ретроспектива участника, а не журнал работы системы того времени.

По его словам, сеть росла благодаря людям, готовым запускать дополнительные серверы. Когда пользователей IRC временами становилось больше десяти, Oikarinen попросил друзей из Tampere University of Technology и Helsinki University of Technology разместить серверы. За ними последовали другие финские университеты. Позже он передал программу знакомым из BITNET Relay; пользователи University of Denver и Oregon State University запустили свои серверы и захотели подключить их к финской сети. Это конкретные звенья раннего распространения, но не полный список первых узлов.

Архитектура позволяла копировать систему. Клиент подключался к серверу; серверы связывались между собой и передавали сообщения пользователей и каналов. RFC 1459, опубликованная Oikarinen и Darren Reed в мае 1993 года, описывает древовидную сеть: у каждого сервера был один восходящий путь. Такая схема исключала циклические маршруты, однако обрыв межсерверной связи мог изолировать ветвь за ней. В примерах RFC остались имена действовавшей сети, включая tolsun.oulu.fi в Оулу и сервер Boston University. RFC 1459

Документ не утверждает, что все реализации уже стали одинаковыми. В нём сказано, что протокол разрабатывался несколько лет, и описано его текущее состояние. Раздел о реализациях называет единственной текущей реализацией сервер IRC версии 2.8 и признаёт расхождения, вызванные обратной совместимостью. Это важная оговорка: RFC записала общие понятия и поведение уже работающей системы, одновременно оставив различия видимыми. Спецификация помогает согласовать интерфейсы, но сама по себе не доказывает одинаковое поведение каждого сервера.

Исследование 1991 года показывает IRC до публикации RFC. В Electropolis Elizabeth Reid из University of Melbourne описывает синхронное многопользовательское общение и исследует, как участники создавали сообщества с помощью псевдонимов, каналов и разговора в реальном времени. Она рассматривает использование IRC в Австралии на фоне академической сети AARNet. В диссертации оценивается, что серверов уже были сотни; это современная событию оценка, а не глобальная перепись. Работа показывает, что до формального описания протокола IRC уже связывала людей на расстоянии в социальную среду. Reid, Electropolis (1991)

Управление сетью тоже было распределено, но полномочия сохранялись. RFC 1459 оставила операторам команды технического обслуживания, в том числе отключение и повторное подключение серверов для исправления маршрутизации. Оператор мог также удалить пользователя из подключённой сети. Операторы каналов управляли участниками на более узком уровне. Уведомления операторов, которые Reid наблюдала в работе, показывают, что эти полномочия были заметны на практике; одна диссертация не устанавливает, насколько одинаково их применяли все IRC-сети.

IRC расширялась благодаря переносимому программному обеспечению, организациям, готовым размещать серверы, и протоколу, сформулированному позднее. Это не была централизованная служба, развёрнутая одной организацией. Но дерево серверов всё равно зависело от соединений и людей, уполномоченных их восстанавливать. RFC 1459 описала эту операционную схему, но не создала уже существовавшее сообщество и не устранила локальные решения. RFC 2810, опубликованная в 2000 году, ретроспективно относит начало разработки протокола к 1989 году и говорит, что RFC 1459 впервые формально описала его в 1993-м. Это совместимо с датой 1988 года, которую Oikarinen указывает для первой реализации: речь идёт о разных этапах. RFC 2810