Всем привет! Нас (PermLUG) пригласили быть информационным партнёром новой большой IT конференции Merge в Иннополисе, которая состоялась 13—14 ноября 2021 г., я летал туда и здесь поделюсь заметками с трёх докладов секции Open Source, показавшихся мне наиболее интересными: Технологии и тенденции в мире open source баз данных в 2021 году — Пётр Зайцев (Percona, Durham, NC, USA, Co-founder & CEO) Как не попасть в ловушку open source — Мария Азизова (Percona, Ульяновск, Staff Executive to CEO) Как создавать и внедрять open source решения в банке — Андрей Ганин (Альфа-Банк, Санкт-Петербург, QA Head) Здесь приводится вольный краткий тезисный пересказ, не претендующий на цитаты, а в конце будет фотобонус и про ещё один интересный доклад. Статья на мой взгляд рассчитана в первую очередь на тех, кто имеет опыт работы в Open Source, остальным такой краткий формат подачи может быть не очень хорошо понятен. Это необычный формат выпуска FOSS News, но если всё получится, он станет постоянным и подобным образом будут освещаться все значимые IT конференции с Open Source секциями в России и не только (у нас есть очень хороший спецкор в Лос-Анджелесе). В статье для краткости вместо Open Source будет использоваться сокращение «OS», не путать с операционными системами. Percona 15 лет занимается OS СУБД и на основе своего опыта может сказать, что для бизнеса в OS: можно деплоить сколько угодно без дополнительных затрат; широкий выбор вендоров; возможность улучшения. Если посмотреть на графики роста популярности СУБД, то OS решения достаточно быстро захватили рынок и прочно занимают лидирующие позиции. На StackOverflow из OS СУБД больше всего вопросов про MySQL и с ней есть ещё один интересный факт — больше всего на ней зарабатывает не владелец Oracle, а AWS. Среди OS компаний есть уже не единичные представители, достаточно много мультимиллиардных и это показывает зрелость этого подхода к разработке и построению бизнеса (хотя OS это не бизнес-модель). Очень важный фактор в развитии OS — cloud, в нём важны: упрощение применения изменение возможностей монетизации GPL не работает для облаков. AGPL, казалось бы, должна работать, но есть сложности с применением в случае конфликтов. Пример: mongoDB. В ведении серьёзных OS-проектов есть два подхода: Фонды: им облака вполне выгодны. Вендоры: они находятся в жёсткой конкуренции с большими облачными провайдерами, такими как AWS. Одновендорность ведёт к ослаблению или вовсе отказу от принципов OS и есть такой негативный тренд. OS+DBaaS+один вендор — по сути тот же проприетарный продукт. Но есть и мощный позитивный тренд в развитии OS инструментов и фреймворков. Если вспомнить ситуацию начала 00-х с множеством закрытых и платных решений, то сейчас мы будто живём в другом мире. Linux победил и открыл путь для множества близких по духу решений. С облаками начинает происходить подобное. Несмотря на то, что AWS является одним из главных участников CNCF, эти две организации по сути предлагают кардинально различные подходы. Если, грубо говоря, вы заказываете «электричество» у AWS, то вам вдобавок предложат на удобных условиях ещё телевизор, холодильник, микроволновку, посудомойку, робота-пылесоса и много чего ещё. Вот только если вы захотите перейти к другому поставщику, всё это «превратится в тыкву». OS DBaaS пока нет, но есть движение в эту сторону, и огромную роль здесь играет Kubernetes. Примеры проектов, близких этому направлению: Astra; Altinity; Influxdata; MariaDB; crunchydata; planetscale. И от Percona есть PMM. Общие тренды СУБД: развитие дата пайплайнов для нескольких источников; многомодельность; распределённые СУБД; hybrid-cloud, multi-cloud; serverless; object-store backend; использование AI для настройки СУБД под требуемую модель нагрузки (пример: OtterTune); необходимость соответствия новым security&compliance требованиям, таким как, например, data residency; одни СУБД могут использоваться как бэкенд для других. PostgreSQL оценивается как СУБД с наибольшим потенциалом развития. * на мой взгляд докладу бы больше подошло название «Как не попасть в ловушку псевдо open source» Что важно знать при использовании OS: какая лицензия; что произойдёт при прекращении отношений с поставщиком; каковы альтернативы; насколько возможно внесение своего вклада. Примеры: mongoDB; redis; confluent; elastic. По сути такой подход применяется владельцами для создания собственной монополии и защиты от облачных провайдеров. В OS передаётся устаревший код. Код может не поддерживаться и иметь уязвимости. Заявляется как Open Core, только лучше (но это не точно). Бесплатная часть может быть слишком урезанной. Действительно полезные расширения и улучшения могут быть только в платной версии. Рекламируется как Open Source, но может быть на самом деле весьма далёк от «настоящего» Open Source. Enterprise версии больше похожи на OS Compatible. Легко перейти на проприетарную версию, но сложно вернуться обратно. OS, развёрнутый в облаке, имеет проприетарный интерфейс управления. Бинарники, сопроводительная документация или даже полный сценарий сборки и конфигурации окружения может быть не OS. Дифференциация сборок. Главная защита — внимательное изучение лицензии и практики применения рассматриваемого продукта в отрасли. Бывает, с собственниками или разработчиками проекта настолько сложно общаться, что единственный возможный вариант использования — сделать форк (пример: OpenOffice и LibreOffice). Недавно созданная в России Государственная открытая лицензия. Только такой, лицензия на который одобрена Open Source Initiative. Начнём с вводным слов, о том, почему вообще полезен OS. Плюсы OS: снижение затрат; сокращение t2m; осознанный выбор; единые процессы; сотрудничество; развитие бренда. Минусы OS: могут быть проблемы с лицензированием, в том числе с совместимостью между разными лицензиями; административные вопросы; репутация в случае использование старых проектов; проблемы с безопасностью (но к счастью появился OpenSSF). Очевидно, что не всё можно вывести в OS. Бизнес-логика, всё что под строгим NDA и является критичным в вопросах обеспечения конкурентоспособности, остаётся в компании. Чтобы «продать» решение о выводе кода в OS, нужно показать: ценность; лёгкость; повышение стандартизации; улучшение архитектуры. Необходимые составляющие успешного OS: сообщество; core-команда; документация; roadmap. Чек-лист вывода в OS: согласование с отделом ИБ (может быть весьма сложным); выбор лицензий; тесты; документация (да, снова). Рекомендуются copyleft лицензии, подобные GPL, так как они позволяют получить обратно все сделанные изменения и сформировать более прочные связи с разработчиками. Ещё раз о плюсах OS: свобода выбора; повышение скорости развития; инновационность. «Мир без OS был бы грустнее и хуже». У Alfa Digital около 40 OS проектов, первый проект был запущен примерно 10—12 лет назад, это была библиотека для унификации UI. На конференцию мы летали вместе с Мишей @sakhnyuk и у него был крутой доклад про оптимизацию скорости загрузки и размера SPA приложения на основе опыта Miro, где мы работаем, про это он сам напишет — ждите, рекомендую. Подписывайтесь на наш Telegram канал наш Telegram канал или RSS чтобы не пропустить новые выпуски FOSS News. Также мы есть во всех основных соцсетях: Fediverse  ВКонтакте  Facebook  Twitter   Предыдущий выпуск На этом всё, до следующего воскресенья! Вы можете принять участие в отборе материалов для дайджестов, используя нашего Telegram бота . Почитать про него и вообще про процесс подготовки дайджестов можно в недавнем спецвыпуске FOSS News . Предложение об оказании поддержки проекту. Для подготовки дайджестов мы чуть ли не с самого начала используем свои средства автоматизации, которые с недавнего времени развиваем коллективом из 6 человек на хакатонах. Сейчас по большей части оплата расходов на хакатоны уже покрывается донатами читателей. Ещё нужно платить за хостинг сервера с ботом-сборщиком, базой и с Telegram ботом. Мы будем рады, если вы тоже примете участие в поддержке нашего проекта и проявите солидарность. Уточню, в текущем виде дайджесты будут выпускаться независимо от финансового вопроса, а вот то, насколько лучше они станут и как быстро — зависит уже во многом от финансов. Куда переводить, можно увидеть по нажатию Хабра-кнопки «Задонатить» в конце статьи. О расходах привлечённых средств обязуемся отчитываться не реже раза в год. По вопросам финансовой поддержки и другим вариантам поддержки пишите по указанным в профиле контактам или в комментарии. Инженер-программист