Gambler / 2025.02.18
Про долгосрочную поддержку сайтов, архивы и КС2 (часть первая)
В январе 2025го года КС2 исполнится двадцать один год. Солидный возраст для любого сайта. За это время многое изменилось и рядом с нами, и вообще. Временно закрылся Навигатор Игрового Мира, а потом открылся снова, но уже потеряв и старый сайт, и старый форум, и, насколько я понимаю, большую часть прежнего авторского состава. Все остальные игровые журналы в России вообще вышли из печати, хотя некоторые до сих пор как-то существуют в онлайне. Можно, конечно, говорить обо всём этом и в ином ключе. Можно сказать, что так идёт прогресс: игровые обсуждения перешли в онлайн, а печать отмерла просто за ненадобностью. Всё стало дешевле, доступнее, демократичнее и так далее. Это популярная, но крайне поверхностная точка зрения. Интернет за последние двадцать лет тоже сильно изменился. Многие вебсайты, бешено набирающие обороты в 2004м году, давно перестали сущестовать. Вообще, веб-содержимое испаряется с поразительной скоростью. Недавно вышло исследование от группы Pew Research, которое показало, что за последние десять лет из интернета исчезло 38% всех страниц. Это тоже можно, в рамках определённой идеологии, назвать прогрессом, но такое понятие прогресса - не более чем ярлык, который подойдет на любое изменение, включая очевидную деградацию. Многие люди бросаются словами типа "прогресс" или "норма" и не задумываются, как можно в принципе адекватно использовать эти категории, если старые записи постоянно удаляются, а про недавние события, которые вы помните, кто-то ещё и целенаправленно врёт. Понятно, что в интернете много мусора и далеко не все старые страницы кому-то интересны. Однако ни в архитектуре, ни в экономике Сети нет ничето, что увеличивало бы вероятность сохранения именно качественной информации. Об этом стоит задуматься. Закрытие сайта фундаментально отличается от выхода из печати какого-то бумажного журнала. Журнал, конечно, перестаёт продаваться в магазинах, но его копии остаются у всех бывших читателей, и при этом не требуют ресурсов для активного поддержания. (Например, у меня до сих пор стоит на полке номер Навигатора, который я взял почитать в самолет при перелёте в США. Каши не просит.) Более того, даже до закрытия журнала, старые номера через какое-то время оседают в букинистических и онлайновых магазинах, в библиотеках и в руках коллекционеров. Если они кому-то интересны, то их ценность со временем растёт, мотивируя сохранение. Как минимум, это даёт людям время подумать. Ситуация с более современными форматами хранения информации сложнее. Например, сохранить кассету VHS не достаточно. Чтобы её просмотреть как смотрели раньше, нужен работающий видеопроигрывать и аналоговый телевизор с ЭЛТ. Эту проблему должнен был раз и навсегда разрешить переход с аналоговых технологий на цифровые, но на практике всё стало только хуже. Про это есть интересная публикация под названием Клинопись 2015го года. Она начинается с замечания, что надобность читать физические носители не исчезла, а только дополнилась надобностью интерпретировать разные цифровые форматы, которых больше, и которые устаревают еще быстрее. Популяризация веб-архитектуры усугубила проблему сохранения информации ещё больше. Веб-страницы надо скачивать при каждом посещении, а для посещения надо знать работающий URL. При изменении адреса страницы ломаются все ссылки (внешние и внутрненние) и все закладки в браузерах. При перебое сервера доступ теряют сразу все пользователи. Причём часто это не только доступ к какой-то статье, но и к её контексту. Комментарии, обсуждения на форуме, профили авторов - всё становится недоступно, а никаких стандартных протоколов для репликации сайтов или архивации на уровне веб-страниц не существует. ... Это вступления я написал к тому, что КС2 я поддерживаю по нескольким причинам. Первая причина относительно субъективна: о Конкурсах у меня много хороших воспоминаний. Люди, статьи, комментарии, обсуждения, разннообразные проекты - там много было интересного. Хочется, чтобы от всего этого остались конкретные информационные артефакты, а не просто размытые временем воспоминания. Вторая причина более объективна и абстрактна. Конкурсы Статей - это часть истории рунета и вообще Сети (Web'а). Не имея понятия о том, как Сеть развивалась в прошлом, трудно сформирвать какие-то вменяемые взгляды на то, что в ней происходит сейчас. Конечно, тут можно подискутировать про значимость конкретного вебсайта, но это будет глупый спор. Некоторые люди, которые публиковались на Конкурсах, стали редакторами крупных новостных ресурсов, журналистами и авторами книг. Если какой-то сайт повлиял на них, то его значимость по определению высокая, хотя и косвенная. Третья причина совсем абстрактна: даже без новых статей КС2 является отдельным, независимым ресурсом. Чем меньше таких ресурсов остаётся, тем дальше заходит процесс гипер-централизации Сети, тем больше эта инфорамационная система подвержена разным формам манипуляции и глобальным обвалам. ... Поддерживать какой-то веб-ресурс в рабочем состоянии на протяжении многих лет, а тем более десятилетей, весьма сложно. Для того чтобы это проиллюстрировать, я здесь, пожалуй, опишу краткую техническую историю КС2, насколько я её помню. В конце 2003го года стало понятно, что на сайте Навигатора Игрового Мира первому Конкурсу Статей не выделяют нужных для его полномасштабной работы ресурсов. Сайт Навигатора тогда проходил длительный и не очень удачный процесс миграции на новый самодельный движёк. Были проблемы с урезанной функциональностью, и к тому же сложились не очень хорошие отношения с новым администратором сайта и некоторыми сотрудниками Навигатора. Мы с несколькими конкурсными людьми решили сделать отдельный ресурс, который назвали Конкурс Статей 2. Grav, Phillenium и (если не ошибаюсь) Config тогда платили за смежный план хостинга для нескольких своих сайтов и они согласились захостить КС2. Мы зарегистрировали домен в бесплатной (тогда) зоне org.ru, я установил систему PostNuke и таким образом появился feather.org.ru - изначальный сайт КС2. Тут стоит заметить, что PostNuke был популярной в то время CMS системой на PHP и MySQL. В нём были готовые модули для регистрации пользователей, форумов, статей и комментариев. Модули можно было просто активировать и настроить, не написав ни строчки кода. Система была создана (как я сейчас понимаю) дилетантами и была в разы сложнее, чем нужо. Зато у неё было очень хорошо развитое и весьма дружелюбное сообщество на postnuke.ru. Девятнадцатого января 2004го года feather.org.ru оффициально "открылся" после тестирования функциональности. В социальном плане открытие прошло очень успешно, но с техническими аспектами сайта быстро возникли проблемы. В PostNuke было много недочётов и не было вменяемых методов расширения. При надобности что-то изменить или исправить приходилось просто менять код. За первые пару лет работы я внёс в систему окола ста изменений, многие из которых закрывали серъёзные дыры в безопасности. В 2005м году стало понятно, что нужно что-то менять и я начал разработку своей собственной CMS. Система использовала те же технологии, что и PostNuke, то есть популярные тогда PHP и MySQL. В конце 2005го года КС2 переехал на отдельный аккаунт хостинга у того же провайдера. Технически всё осталось так же, но немного упростилась логистика управления. В 2007м году мы запустили в оборот вторую версию сайта. Она использовала новую CMS и работала под новым доменом ks2.ru. Статьи и комментарии из PostNuke я портировал, но многие мелкие аспекты строго старого дизайна - цитаты дня, оценки, счётчики просмотров - не были скопированы. feather.org.ru продолжал работать. На его главную страницу мы повесили объявление, что сайт переехал. В 2009м году я передвинул ks2.ru на VPS у другого провайдера. Провайдер использовал ко-локацию серверов в нескольких дата-центрах. Конкурс попал на Украинский сервер. В 2010м году дата-центр с сервером, на котором работал VPS, сгорел. Полностью. Пришлось в качестве временной меры вручную раскатывать сайт на старом хостинге из моих собственных бэкапов. От провайдера VPS я получил TAR файл с содержимыи сервера только неделю или две спустя. В конце-концов я передвинул сайт на VPS в Европе. В 2010м же году домен org.ru стал платным. feather.org.ru был зарегистрирован не на меня, а на Phillenium'а. Я планировал купить домен, когда он пойдет в продажу после дерегистрации, но по каким-то причинам (которые я уже не помню) это не прошло и доменом завладел спаммер. В 2022м году, чтобы не возиться вручную с настройками поломанного почтового сервера и сертификатами SSL, я опять передвинул сайт на совместный хостинг. Вот так. Конечно, при администрации этого ресурса я допустил несколько ошибок, но суть не в них. Суть в том, что веб-архитектура постоянно подбрасывает администраторам проблемы, на которые нужно реагировать или терять ресурс. Сгорают сервера. Изменяются правила использования доменов. Перестают работать системы оплаты (особенно если платить надо команиям в другой стране). В серверном софте находят проблемы с безопасностью. При апргрейдах софта что-то перестаёт работать. Наконец, меняются требования к сайту от поисковиков и браузеров. Двадцать лет назад я думал, что такого рода проблемы будут вскоре решены на уровне стандартов, форматов и протоколов, после чего ситуация с поддержкой сайтов упростится. Этого не произошло. Наоборот, интернет стал враждебной средой, где к случайным неполадкам прибавились целенаправленные атаки и поддерживать сайты стало ещё сложнее.