Право читать25ПРАВОБеседовалИлья ИлембитовЧИТАТЬМАКСИМ МОШКОВОСНОВАТЕЛЬ LIB.RULib.ru — одна из ключевых историйдля Рунета. Она повлияла на многиепоследовавшие проекты как интернет-библиотек,так и различных коммерческихплощадок. Это рассказ оположении русскоязычного цифровогоконтента в целом./~MOSHKOWВсе началось в 1994 году. На территории отделения математикив президиуме Академии наук существовала компьютернаяплощадка и компьютерная группа, обеспечивавшаяэлектронную почту и какие-то дополнительные службы дляматематиков. В конце 1993 года туда притащили интернет. Посколькуя там работал, я получил доступ. Пользоваться «в интернете»тогда еще было нечем. Почти ничего не было.Мы стали ковыряться с этими технологиями. У нас тогдабыли WAIS, Gopher, а где-то в середине 1994 года мы услышали,что существует еще один протокол — HTTP, и тут же вседружно принялись создавать веб-странички. Отделение математикиделало сайт для отделения математики, а сотрудникипри этом ваяли еще и личные странички. Каждый выеживался,как мог.Как тогда делали веб-странички? Методом copy-paste.Берем страничку автора WWW Тима Бернса Ли, на которойвисит его фотка и краткая информация на английском языке.Каждый копипастит это к себе, переписывает текст под своюфамилию, со второго раза исправляет фотографию, заодно изучаяHTML методом подражания-обезьянничества. А дальшевозникает желание что-нибудь на эту страничку накидать. Тогдая почти сразу и начал заливать туда свою коллекцию электронныхкнижек. Домен тогда назывался ipsun.ac.msk.su/~moshkow.У нас был могучий текстовый редактор, который написалнаш сотрудник Георгий Прилипко. В редакторе была целаясреда для поддержки программирования и для поддержкипроектов. У нас его называли РК, на мехмате это называлосьМикромиром. Прилипко писал на базе или по мотивам Микромирасвою реализацию для рабочей станции «Беста». Микромирвсе-таки создавался под СМ, а РК запустили на «Бестах»,на UNIX, а потом уже портировали в Linux.Прямо в этой среде, внутри текстового редактора, явыкладывал тексты. Я собирал коллекцию электронных книгбезо всяких интернетов, начиная с 1990 года. За три года текстову меня набралось мегабайтов на двадцать.Я подбирал буквально все, что находил в электроннойформе. Были братья Стругацкие, песни, Beatles, «Иисус Христос— суперзвезда», тексты с туристическими отчетами. Всеукладывалось по полочкам микромировской системы, в редактореРК. Сделав себе веб-странички, мы, как полагается,принялись ждать, кто туда придет. А всего российского интернетатогда было... несколько сайтов в Черноголовке, нескольков Курчатнике да где-то еще. Существовали достаточно большиетусовки русскоязычных людей в американском, немецкоми израильском интернете, но они жили там как-то... без нас.Медитировать на цифры мы начали еще летом 1994года, когда у нас были только «хомячки» с фотографией иссылками типа «мое любимое хобби». Первая статистика гласила,что у меня было, условно, 13 посетителей. Не за день.За месяц. В следующем месяце — 27 посетителей, потом 128.ФАКТЫОкончил механикоматематическийфакультет МГУ.Многократный лауреатинтернет-премии РОТОР.Выступал программистомГазета.ру, Лента.ру,Вести.ру и других.
26ИнтервьюХАКЕР 04 /171/ 2013Когда мы медитировали на статистику начинающего хомячка,цифры были ровно такие.Видимо, в погоне... даже не за популярностью, а заобъемом, дабы хоть что-то поставить на страницу, я потратилпримерно неделю, чтобы перенести туда свою текстовую коллекцию.Заодно, кстати, научился программировать на shell,AWK и сопутствующих языках редактирования текстов.НАПОЛНЯЕМ ПОЛКИ40 000ЧЕЛОВЕКВ ДЕНЬ —ПИК ПОСЕЩАЕ-МОСТИ LIB.RU,ПРИШЕДШИЙСЯНА 2006 ГОДФормат библиотеки — plain text. 76 символов по ширине, такформатировал нам редактор РК — там ровная правая грань,и кое-какая смысловая разметка включалась и выключаласьс помощью парных ASCII управляющих символов. В редактореРК была разметка для включения курсива, подчеркивания,жирности, тусклости. Ровно этими разметками я и баловался,причем в какой-то момент сократив их до минимума — осталосьтолько выделение жирным. Впрочем, через некотороевремя я подумал и решил, что хоть это и plain text, но с HTML,который мы вгоним внутрь, тоже ничего не случится. Поэтомумоя базовая текстовая разметка осталась, но какую-то экзотикуя делал HTML’ем. Сами файлыхранятся в txt. До сих пор каждыйзапрос швыряет результат конвертации.Впрочем, несколько лет назадя все же выкатил перед этим нафронт кеширующий прокси, которыйвсе это потихоньку кеширует.К сожалению, структура Lib.ru создавалась, когда материаловбыло 20 мегабайтов. Системабыла такая: верхняя точка, подней директории, каждая из которыхбыла автором. Когда авторов тридцать— это удобно. Потом, когдаих стало больше, я спохватился ипонял, что у меня есть фантастика,проза, поэзия и в каждом жанресвои авторы. Я сделал второй уровень— жанры. С тех пор системадвухуровневая: жанр, а внутри лежатавторы. Система не очень удобная,но вполне работоспособная.Я категорически не хотел рукамиверстать HTML-код. У меняуже была система хранения, былифайлы, были подписи к ним. Идеязаключалась в том, чтобы взять этои, ничего не меняя внутри, транспортироватьв HTTP. Поэтому я писалCGI-скрипты, заодно выучив,что это такое. Я создал конвертер, который подхватывал моюсистему хранения обычных файлов, превращая их в HTML.Эти скрипты запускались конвейером, штук по шестьна каждый клик. Нужно было взять файл, преобразовать егов мою разметку; это делалось несколькими преобразователями,да еще нужно было кодировку подставить. В общем, когдавозникла хоть какая-то посещаемость, мы быстро обнаружили,что серверу становится... немного тяжеловато.Тогда я выучил язык программирования Perl, на которомвсе это можно осуществить не с помощью пяти скриптов, а припомощи одной не очень большой программы.С тех самых времен, библиотека представляет собойголое дерево файлов (с директорными описательными файлами)с CGI-скриптом-преобразователем, который на ходулепит всю эту лавочку. С тех пор ничего не менялось. Разумеется,я что-то подкручивал, реализовывал дополнительныефичи, вроде поиска и индексатора, но дизайн и структура неизменялись. Как выкладывал все на текстовом редакторе РК,реализованном с помощью Emacs, так до сих пор размещаю.Все это стояло в Академии наук. Потом через какое-товремя мне предоставил площадку сайт «Чертовы кулички»,где я благополучно располагался. У них, по-моему, стоялаFreeBSD, а может быть, и Linux.Последние 8–10 лет Lib.ru находится в M10, на техплощадкеРТКомм. Там у меня два сервера, которые за это времяуже три раза поменялись один на другой. То есть у меняих два и... один, как старший ребенок, отдает младшему своебарахло, а ему мы покупаем новое. Потом еще раз и еще.На одном сервере располагается библиотека и всеостальные сайты, которые я взял на содержание. У менямного (штук двадцать) ресурсов — специализированные библиотечки.И отдельный сервер отведен для системы «Самиздат»и всех ее сайтов. Он порождает более серьезную нагрузку,поэтому для него всегда используется более «взрослое»железо, у библиотеки сервер слабее. С 2000 года, когда якупил свой собственный сервер, и по сей день я используюLinux, Linux и еще раз Linux. Были разные поколения железок,которые менялись одна на другую... но всегда был UNIX, которыйочень быстро стал Linux’ом, да так и остался.GOTTA CATCH ‘EM ALLПрошло примерно полгода после того, как я запустился.Полгода после того, как я вылез в интернет и разместил тамсвои несчастные 20 мегабайт. И я захотел иметь не 20 мегабайт,а все, что там было.За пару месяцев я облазил весь русскоязычный интернет,нашел все книжки, которые там лежали (где бы то нибыло, в какой бы то ни было форме), и все сгреб к себе.Разместить их у меня просто так было невозможно, потомучто в любом месте, где они валялись, они были в собственнойкодировке (у кого-то Windows, у кого-то KOI-8, TeX, где-то вообщетранслит и так далее). Все эти файлы я греб на себя инасильственно, мучительно преобразовывал в свой собственныйформат хранения: бестовская кодировка (практическиперевернутая KOI), своя разметка, подписи и так далее.Получаешь файл в KOI7-R — нужно конвертировать егопод себя. Получаешь в кодировке ГОСТ, выясняется, что утебя этой кодировки нет, и ты не понимаешь, как это делать.Методом тыка и подбора пишешь конвертер, который сперваопределяет, как устроена эта кодировка, а потом конвертируеттекст. У тебя образуется N + 1 кодировщик из еще одной кодировкина свете в твой формат. За несколько месяцев у меняполучилось штук 15–20 таких преобразователей. Каждый приходящийтекст я вручную преобразовывал и тащил к себе.Потом обнаружилось, что в интернете, помимо отдельнолежащих страничек с книжками, попадаются выкладкистаринных BBS. На них книг было достаточно много. Послемне в руки попал CD с коллекцией текстов HarryFan (в основномнаучная фантастика), и я стал пополнять свою библиотекуоттуда. Одновременно читатели библиотеки, счет которым