02.12.2021

Проект SDL переходит на Git и GitHub

Разработчики библиотеки SDL (Simple DirectMedia Layer), нацеленной на упрощение написания игр и мультимедийных приложений, объявили о переводе процесса разработки c системы управления исходными текстами Mercurial и движка отслеживания ошибок Bugzilla на Git и платформу GitHub. По мнению Райана Гордона (Ryan C. Gordon), один из лидеров проекта, Mercurial остаётся лучшей системой управления исходными текстами, а в Git реализован ряд неудачных архитектурных решений, но в современном мире Mercurial становится изгоем и все инструменты разработки и рабочие процессы ориентируются на Git.

Большинство разработчиков работают с Git, и участие в проектах на базе Mercurial требует для них изучения дополнительного инструмента. После перехода на Git сторонники старой системы вполне могут использовать подмножество команд Git для решения тех же задач, для которых применялся Mercurial, но все остальные получат возможность использовать более удобный для себя инструмент. В качестве причины выбора платформы GitHub называется привычность данного сервиса для большинства разработчиков и возможность избавиться от груза по сопровождению программной начинки серверов.

Обратной стороной станет потеря контроля за инфраструктурой так как GitHub является внешним сервисом, контролируемым сторонней компанией. В SDL раньше действовало правило, что вся инфраструктура должна принадлежать проекту. Но со временем проект ушёл от использования собственных физических серверов в пользу серверов, арендуемых у компании Digital Ocean, что позволяло не заботится о сопровождении оборудования и в случае проблем перезапустить сервис из резервной копии у другого провайдера.

Ценой подобной свободы была необходимость самостоятельно сопровождать устаревшие элементы инфраструктуры, а на проведение модернизации нехватало времени и ресурсов. Например, Bugzilla находится примерно в том же виде, что и 20 лет назад, и имеет гору нерешённых проблем и привязок, которые вызывают головную боль при каждом обновлении дистрибутива. Архаичными также оставались wiki, почтовые рассылки и web-интерфейс к Mercurial. Сопровождение всех этих систем требовало большого объёма ручной работы и вызывало опасение о возможном наличии уявимостей в коде применявшихся полузаброшенных проектов.

По словам Райана, он осознаёт, что переход на GitHub это потеря контроля, ловушка и шаг в сторону от принципов Фонда СПО, но у него больше нет сил вместо написания кода OpenGL заниматься работой администратора трещащих по швам систем, ещё работающих благодаря заплатам из скоча и молитвам. GitHub сопровождается большой командой оплаченных инженеров и если по каким-то причинам Microsoft отключит GitHub, это коснётся не только SDL и станет глобальной проблемой для всей экосистемы открытого ПО, которую можно будет решить ещё одной миграцией на новый сервис.

Источник.