- BrainTools - https://www.braintools.ru -
Представьте: на дворе 26 октября 1987 года. Ещё стоит берлинская стена, World Wide Web состоит из одного текста, а ПО распространяется через новостные группы USENET в текстовых файлах, разбитых на несколько постов. В этот день Эдвард Барлоу опубликовал на comp.sources.games нечто особенное:
«conquest – многопользовательская игра в средиземье, Part01/05»
Так Эд Барлоу впервые объявил о ней [1], но вскоре поменял название на Conquer.
Это была Conquer — сложная многопользовательская стратегия, повлиявшая на бесчисленное количество других. Игроки брали под своё командование народы Средиземья, управляли ресурсами, армиями, системами магии и дипломатическими отношениями. Примечательной игру делал не только геймплей, но и то, что она была создана и распространялась в эпоху, когда ещё даже не придумали понятие «open source».
В середине 90-х мы с моими друзьями-студентами экспериментировали с терминалами в Computer Unix Labs [2], USENET, ссылками, новостями, сообщениями и, разумеется, с conquer. Эта игра была настоящим сокровищем: ты становился властителем страны; на карте, представленной в текстовом виде, каждый игрок мог управлять своим эльфийским королевством, империей орков или армиями людей в боях друг с другом, параллельно контролируя все экономические тонкости.
Но к 2006 году эта часть компьютерной истории оказалась в юридическом чистилище.
Учась в испанском университете в начале 90-х, я столкнулся с Conquer в лабораториях Unix. Перенесёмся в 2006 год, когда я осознал, что эта игра-первопроходец оказалась под угрозой полного исчезновения. Её исходный код по-прежнему существовал и был разбросан по древним архивам USENET, но непонятны были условия её лицензии, что типично для ранней эпохи распространения через Интернет.
Я решил приступить к проекту, который сначала показался мне простым: получить разрешение от авторов оригинала сменить лицензию кода на GPL [3], чтобы его можно было сохранить и упаковать для современных дистрибутивов Linux.
Проще некуда, так ведь?
Поиски Эдварда Барлоу и Адама Брайанта в 2006 году походили на археологические раскопки. Адреса электронной почты из 1980-х уже давно были неактивны. В постах USENET удавалось находить крохи информации. Я прошерстил старые университетские папки, гуглил фрагменты имён и выискивал данные на форумах, которые велись десятки лет назад.
Прорыв стал возможен только благодаря моему упорству и доле везения. Спустя месяцы поисков мне удалось связаться с Эдом Барлоу. Его ответ был успокаивающе неформальным: «Да, я делегировал всё это кучу лет назад Адаму. Я отношусь ко всему этому просто… Когда я писал игру, копилефта ещё не существовало, и делал я всё это для развлечения, так что…»
Но возникла небольшая проблема — мне нужно было получить разрешение и у Адама Брайанта, а он, казалось, растворился в цифровом эфире.
Я документировал всё в списках рассылки Debian Legal, создал задачу GNU Savannah (#5945 [4]) и даже написал несколько постов, надеясь, что Адам их найдёт. Специалисты по юридическим вопросам дали чёткий ответ: мне нужно сформулированное письменное разрешение от обоих владельцев копирайта.
Годы шли, а проект стоял на месте.
Но 23 февраля 2011 года произошло нечто волшебное. Мой телефон завибрировал, получив сообщение:
«Я услышал новости о просьбе выпустить код. Даю разрешение выпустить код под лицензией GPL.» – Адам Брайант
Он нашёл одну из моих статей и решил сам связаться со мной.
Перенесёмся в 2025 год, когда мне написал Стивен Смуген, задав вопрос о моих трудах по смене лицензии в 2006 году; его особенно заинтересовала возможность возрождения игры: Conquer Version 5 – полностью переписанной Адамом версии с продвинутыми функциями наподобие автоматического преобразования данных, повышенной стабильности и инструментов для администрирования. Это было не простое обновление, а полное переосмысление игры.
Но у V5 была другая юридическая история. В 90-х по ней заключались коммерческие договоры. Согласится ли Адам выпустить и эту версию под GPL?
Его ответ был таким: «Совершенно не возражаю против новой лицензии GPL и для Version 5.»
Только я решил, что истории подошёл конец, как обнаружил ещё одного участника: MaF (Мартина Форссена), создавшего PostScript-утилиты для генерации печатаемых игровых карт – критически важной функции в эпоху до появления GUI, когда игрокам для выстраивания стратегии требовались физические распечатки.
Выслеживая MaF в 2025 году, я нашёл его новую электронную почту. Его ответ был таким: «Ой, это ведь было давным-давно. Но да, это был я, и я не против лицензирования всего этого под GPL.»
Ричард Кэли: не просто юридическая сноска.
Не все мои поиски заканчивались нахождением ответа, некоторые завершались тишиной.
Пытаясь найти Ричарда Кэли, я пошёл по тому же цифровому следу. Путь привёл меня к Эдинбургскому университету, где он работал над синтезом речи. Я обнаружил его технические работы по FreeBSD. Но примерно в 2005 году след потерялся.
Позже я нашёл его: не в архиве USENET, а на главной странице его собственного веб-сайта, сохранённого на web.archive.org [5].
«Ричард Кэли умер от сердечного приступа 22 апреля 2005 года. Ему был всего 41 год, но он болел недиагностированным диабетом, вероятно, достаточно долгое время. Его веб-страницы остались точно такими, какими создал их он.»
Эти слова ощущались иначе, нежели историческая справка. Я как будто не вёл архивные поиски, а зашёл в дом давно умершего человека и нашёл на столе записку.
На странице также было написано следующее:
«Помимо обширных умений в компьютерах и программировании, Ричард обладал проницательным умом и знаниями в огромном спектре тем; и то, и другое он часто применял в онлайн-дискуссиях. Несмотря на его уникальный подход к праваписанию, его активный вклад в дебаты различных новостных групп помогал многим на протяжении долгих лет.»
Его юмор [6] был лаконичным, интеллектуальным и уникально британским. В технических дискуссиях он мог быть грубо педантичным.
Сохранение цифрового кабинета
Изучение его сохранённого веб-сайта походило на экскурсию по цифровому кабинету. Структура папок дала представление о его интересах: инструкции по FreeBSD, эксперименты с POVRAY, обои рабочего стола, технические проекты. Его самоуничижительный юмор проявился в разделе «Об авторе»:
«К счастью, я не могу нанести вам моральный ущерб своим портретом. Просто представьте Иман Боуи, а потом человека, выглядящего абсолютно противоположно во всех возможных смыслах. Вероятно, это объясняет, почему она жена Дэвида Боуи, а я нет.»
Он был гармоничным человеком — техническим директором Interactive Information Ltd, исследователем синтеза речи, поклонником FreeBSD, фанатом Кейт Буш и остроумным собеседником в бесчисленном количестве онлайн-дискуссий.
Юридическая реальность оказалась жестокой: лицензию вклада Ричарда в Conquer нельзя было изменить. Из-за защиты конфиденциальности университет не мог помочь мне найти его наследников.
Его друзья почтили его память [7] простым ASCII-посвящением в конце страницы:
^_^
(O O)
_/@@
\~~/
~~
- RJC RIP
Исходя из проектной документации Conquer, Ричарда Кэли нельзя было назвать «источником проблем» или «автором кода, лицензию которого нельзя поменять». В ней отдаётся честь тому яркому человеку, которым он был.

И на этом история становится по-настоящему интересной. В процессе работы над сохранением этой классики Unix я решил изучить современные методики упаковки. Я решил реализовать для игр и APK (Alpine Linux), и пакет Debian.
Для пакетов APK я использовал Melange — сложную систему сборки, создающую воспроизводимые пакеты с отслеживанием происхождения для «undistro» Wolfi. Ирония заключается в том, что я обнаружил этот инструмент, когда один мой друг начал работать в разработавшей его компании.
Проект претерпел впечатляющую трансформацию:
Оригинал 1987 года:
Распространялся в виде разбитых на части постов USENET
Компилировался вручную при помощи Makefile конкретных систем
Не имел контроля версий и автоматизированного тестирования
Версия 2025 года:
# Современный CI/CD с GitHub Actions
- name: Build APK package
run: melange build conquer.yaml
- name: Build Debian package
run: dpkg-buildpackage -b
Самое важное из нового:
Перелицензирование под GPLv3
Модернизация систем сборки
Кодовая база на C частично обновлена для поддержки спецификации ANSI C99
Упаковка пакетов Debian
Упаковка APK при помощи Melange
Всю трансформацию можно изучить в репозиториях:
Conquer v4 [8] – оригинальная классика
Conquer v5 [9] – переписанная версия
(Conquer работает в docker вместе с Apache, Curses с выводом в WebSockets благодаря ttyd [10]. Теперь в него можно играть через веб!)
Дело не только в сохранении старых игр, но и в архивировании самой компьютерной истории. Эд Барлоу и Адам Брайант были первопроходцами, создавшими сложный многопользовательский проект ещё тогда, когда большинство людей и не слышало об Интернете. Они распространяли своё ПО через USENET, потому что так в то время поступали многие — просто делились чем-то хорошим с обществом.
PostScript-утилиты Мартина Форссена демонстрируют изобретательность разработчиков того времени, решавших задачи любыми имеющимися у них инструментами. Хочешь визуализировать состояние игры? Напиши PostScript-генератор!
Мой двадцатилетний проект по смене лицензии демонстрирует важный аспект опенсорса: главное в нём не код, а сообщество и преемственность. Каждый раз, когда кто-то становится мейнтейнером легаси-проекта, документирует его историю или находит давно потерянных контрибьюторов, он плетёт нити, связывающие прошлое компьютеров с их будущим.
Документируйте всё: обычные посты в USENET десятки лет спустя стали важными юридическими свидетельствами.
Чётко указывайте лицензию: комментарий Эда «когда я писал игру, копилефта ещё не существовал» показывает, как изменилась ситуация с лицензированием.
Сообщество важно: Адам нашёл мои статьи, потому что сообщество говорило о сохранении проекта
Технический долг не вечен: то, что сегодня кажется легаси-технологиями, завтра может оказаться археологическим сокровищем.
Современные инструменты способны возрождать древний код: Melange и современные CI/CD обеспечили возможность современного Ренессанса проекта 1987 года.
Обе игры Conquer сегодня имеют лицензию GPL v3 и доступны в виде современных пакетов. Они представляют собой не просто играбельное ПО, но и подробный пример программной археологии, юридических обоснований для сохранения кода и эволюцию практик разработки на протяжении четырёх десятков лет.
Какой будет следующая глава? Она посвящена обучению [12] этим классическим стратегическим играм нового поколения разработчиков и геймеров, демонстрируя при этом, что при наличии должной юридической подготовки и современного инструментария можно дать любому историческому ПО вторую жизнь.
Иногда лучший способ изучения современной технологии — это её применение для сохранения компьютерной истории.
Автор: PatientZero
Источник [13]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/31000
URLs in this post:
[1] объявил о ней: https://groups.google.com/g/comp.sources.games/c/188dE9OtKhg/m/6vJvv6V4SzIJ
[2] Computer Unix Labs: https://www.informatica.us.es/index.php/historia/la-facultad
[3] сменить лицензию кода на GPL: https://lists.debian.org/debian-legal/2006/10/msg00063.html
[4] #5945: http://https//savannah.nongnu.org/task/?5945
[5] web.archive.org: http://web.archive.org
[6] юмор: http://www.braintools.ru/article/3517
[7] память: http://www.braintools.ru/article/4140
[8] Conquer v4: https://github.com/vejeta/conquer
[9] Conquer v5: https://github.com/vejeta/conquerv5
[10] ttyd: http://https//github.com/tsl0922/ttyd
[11] эволюция: http://www.braintools.ru/article/7702
[12] обучению: http://www.braintools.ru/article/5125
[13] Источник: https://habr.com/ru/articles/977452/?utm_source=habrahabr&utm_medium=rss&utm_campaign=977452
Нажмите здесь для печати.