Дмитрий Плужников, Arenadata: Мы создаем независимый open source-проект Greengage DB
Arenadata официально объявила, что продукты ADB Community и Enterprise Edition будут базироваться на новой open source-СУБД Greengage DB, разработанной на основе последних стабильных версий Greenplum 6.x и 7.x. О причинах такого перехода и о том, почему Greengage не повторит судьбу Greenplum от VMware Tanzu, который недавно потерял статус open source, рассказал Дмитрий Плужников, директор департамента архитектуры и разработки Arenadata.
CNews: Изменение статуса публичных GitHub-репозиториев Greenplum на архивный стало неожиданностью для сообщества разработчиков. Для Arenadata тоже?
Дмитрий Плужников: Мы начали осознавать, что грядут перемены, примерно год назад. В тот момент мейнтейнер Greenplum перестал принимать наши pull requests (предложения по изменению/улучшению кода. — Прим. ред.), а выпуск новых версий СУБД постоянно откладывался. Например, Greenplum 7 мы ждали более двух лет, и часть функционала, который был запланирован, так и не попала в финальный релиз. Опыт работы с другими open source-проектами показал, что такие задержки негативно влияют на их развитие, включая активность и вовлечённость сообщества. Для сравнения, в ClickHouse решения по pull requests принимаются за 2–3 недели, тогда как в Greenplum этот процесс мог растянуться на несколько месяцев, а иногда доходил до полугода. Тем не менее, несмотря на все эти сигналы, официальное объявление о переводе репозитория в архив все же стало для нас сюрпризом. Мы понимали, что проблемы назревали, но надеялись на более прозрачный и последовательный диалог с мейнтейнером, которого, увы, не произошло.
CNews: Насколько нам известно, у Arenadata уже есть собственный форк Greenplum?
Дмитрий Плужников: Да, верно. В связи с тем, что наши изменения в Greenplum начали приниматься все реже, мы решили развивать свой форк — community-версию Arenadata DB, которая стала отличаться от open source-версии Greenplum. Например, в ADB Community Edition мы реализовали разделение tablespace-ов для временных таблиц и спилл-файлов, а также внесли доработки в PXF. Кроме того, в 7-й версии Greenplum от VMware удаление файлов после аварий предлагалось делать вручную, что было не слишком удобно для пользователей. Мы автоматизировали этот процесс, обеспечив удаление оставшихся файлов на этапе восстановления (recovery), что делает работу с системой более комфортной.
CNews: Тогда почему бы вам не использовать текущий форк ADB Community Edition как основу для ваших коммерческих продуктов, вместо создания нового проекта с другим названием?
Дмитрий Плужников: Все просто. Мы не хотим повторять путь Broadcom, который в одностороннем порядке закрыл репозиторий. Наша цель — показать сообществу, что нам можно доверять. Именно поэтому мы приняли решение создать независимый open source-проект с прозрачной системой участия, где любой может перейти от обычного контрибьютора к ревьюеру и стать частью технического комитета. Это даст возможность сообществу совместно с нами влиять на будущее Greengage и избежать зависимости от одного вендора (vendor lock-in). Таким образом, мы стремимся к активному развитию сообщества, поэтому создаем отдельное юридическое лицо, которое будет заниматься исключительно некоммерческой open source частью СУБД Greengage. На этой основе будут строиться и версии ADB Community Edition, и ADB Enterprise Edition.
CNews: Будут ли доработки, которые вы уже сделали в рамках свободно распространяемого форка ADB Community Edition, перенесены в Greengage?
Дмитрий Плужников: Да, все доработки, которые мы внесли в ADB Community Edition, обязательно будут перенесены в Greengage. Мы видим Greengage как логическое продолжение нашего текущего форка. Мы не просто перенесем их, но и продолжим развивать и совершенствовать, опираясь на отзывы и потребности сообщества. Кроме того, за счет создания независимого open source проекта, мы планируем привлечь больше разработчиков и контрибьюторов, чтобы улучшения стали еще более динамичными. Это позволит Greengage не только сохранить достижения ADB Community Edition, но и превзойти его в плане гибкости и возможностей для интеграции новых функций.
CNews: Под какой лицензией будет распространяться Greengage?
Дмитрий Плужников: Greengage, как и Greenplum, будет распространяться под лицензией Apache License 2.0. Мы сохранили преемственность лицензии, так как она предоставляет широкие возможности для использования и модификации кода. Это важно для построения открытого и доверительного взаимодействия с сообществом. Apache License 2.0 также позволяет использовать проект в коммерческих целях, что способствует дальнейшему развитию как самой платформы, так и экосистемы вокруг нее. Мы стремимся к тому, чтобы Greengage оставался действительно открытым и доступным для всех участников сообщества, в том числе и для компаний, заинтересованных в его коммерческом применении.
CNews: Как будет организована поддержка текущих версий Greenplum?
Дмитрий Плужников: Мы планируем поддерживать две основные ветки: Greengage 6, которая будет основана на Greenplum 6.x, и Greengage 7, базирующуюся на Greenplum 7.x. Обе версии будут обратно совместимы в рамках своих мажорных версий, что позволит пользователям продолжать работать с теми же данными и приложениями без необходимости кардинальных изменений. Мы понимаем, что многие компании уже используют Greenplum в своих продуктах, поэтому обратная совместимость — наш приоритет. Это означает, что переход на Greengage будет максимально плавным и существующие системы смогут продолжить работу без перебоев. При этом мы продолжим улучшать и развивать обе ветки, добавляя новые возможности.
CNews: С Greengage 6.x и Greengage 7.x все понятно. Когда вы планируете выпустить первую мажорную версию Greengage, которая уже не будет зависеть от Greenplum?
Дмитрий Плужников: Мы планируем выпустить первую полностью независимую версию Greengage в рамках Greengage 8. Это будет не просто очередной релиз, а результат основательного переосмысления архитектуры и серьезного рефакторинга существующего кода. Мы хотим создать продукт, который выйдет за рамки Greenplum и предложит новые возможности. Выпуск Greengage 8 запланирован на первый квартал 2026 года.
CNews: Означает ли это, что коммерческие продукты Arenadata на базе Greengage 8 выйдут в тот же период?
Дмитрий Плужников: Нет, не совсем. Как я уже упоминал, проект Greengage будет развиваться независимо от Arenadata, следуя принципам open source. Его роадмап не будет напрямую зависеть от наших коммерческих планов — развитие и приоритеты будут определяться самим сообществом. Наша задача — дать проекту старт, обеспечив его начальную стабильность и развитие, опираясь на наш многолетний опыт создания успешных open source решений. Однако мы приложим все силы, чтобы дальнейшее направление проекта формировалось благодаря усилиям и решениям именно комьюнити. Это позволит Greengage сохранять гибкость и открытость, создавая возможности для активного участия всех заинтересованных сторон.
CNews: Почему вы уверены, что Arenadata способна поддерживать собственный upstream (удаленный репозиторий)?
Дмитрий Плужников: Arenadata всегда активно участвовала в развитии Greenplum. В 2021 и 2022 годах мы лидировали по вкладу в ядро проекта среди международного сообщества разработчиков, не считая мейнтейнера. У нас уже есть команда, которая не только участвовала в ключевых улучшениях Greenplum, но и прошла серьезную подготовку, чтобы поддерживать собственный upstream. Мы уверены в нашей квалификации и продолжаем активно повышать ее. Еще два года назад мы запустили собственную программу обучения C-разработчиков, которая позволяет нам растить специалистов внутри компании. Это важно для долгосрочной поддержки проекта, так как такие навыки не только укрепляют нашу команду, но и создают основу для постоянного притока новых разработчиков. Сейчас мы активно набираем людей, которые увлечены исследовательской деятельностью и готовы работать над сложными open source задачами, а не только над коммерческими проектами. Мы активно делимся результатами наших исследований через технические статьи в нашем блоге и на «Хабре». Это не только помогает развивать сообщество, но и демонстрирует нашу приверженность принципам открытого кода. Мы уверены, что с таким подходом сможем успешно поддерживать и развивать Greengage как независимый upstream-проект.
Полный текст статьи читайте на CNews