MySQL теряет былую открытость

Разработчики MariaDB и других связанных с MySQL проектов выразили опасение в связи с прекращением публикации некоторых важных для сторонних участников сообщества компонентов разработки. MySQL постепенно превращается в лишь формально открытый проект, код которого доступен для загрузки, но малопригоден для создания производных проектов, основанных на активной кодовой базе MySQL. В частности, начиная с недавно выпущенного корректирующего релиза MySQL 5.5.27 в состав общедоступного архива с кодом больше не входит набор тестов и сгруппированный лог изменений, что существенно затрудняет проверку работоспособности производных сборок MySQL и оценку вносимых в кодовую базу изменений.

Тестовый набор используется для проверки исправляемых ошибок и добавляемых новшеств. Для каждого изменения в набор добавляется новый проверочный код, который позволяет убедиться, что другие исправления не приведут к появлению регрессий. Набор тестов постоянно расширяется от версии к версии и позволяет предотвратить повторное появление проблем, а также гарантирует отсутствие влияния исправлений на работоспособность всех возможностей СУБД. Набор изначально входил в поставку MySQL, но теперь он перемещён в директорию для внутреннего использования, которая не включается в публично распространяемые исходные тексты.

Указанные тесты представляют большой интерес прежде всего для разработчиков сторонних движков хранения, дистрибутивов и групп, поддерживающих собственные ветки MySQL, например, подобные ветки поддерживаются компаниями Facebook, Google, Twitter и Taobao. Без подобных тестов мэйнтейнерам пакетов с MySQL будет значительно труднее оценить полную работоспособность кода при использовании дополнительных патчей (тесты позволяли убедится, что дополнительный патч не влияет на исправление ошибки). Группы, поддерживающие собственные ветки MySQL, будут вынуждены самостоятельно создавать новые тесты, что заметно замедлит работу по портированию исправлений из кодовой базы MySQL.

Что касается сгруппированного лога изменений (revision history), то в нём производилась группировка патчей в привязке к определённым изменениям. Лог давал возможность судить какие патчи связаны с реализацией той или иной возможности или исправлением ошибки, а также позволял оценить кто изменил конкретную строку кода, зачем и когда. В настоящее время указанный вариант лога перестал обновляться в публичном BZR-репозитории MySQL.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.