В этом посте представлен перевод статьи на Medium от Maxime Beauchemin. Перевод подготовлен при поддержке сообщества аналитического курса DataLearn и телеграм-канала Инжиниринг Данных В то время, пока программное обеспечение до сих пор активно развивается в мире, становится ясно, что всё более и более значимую роль сегодня играет программное обеспечение с открытым исходным кодом. Открытый исходный код - это лучший способ создания и распространения ПО, который предоставляет важные гарантии того, как такое ПО может использоваться, распространяться и интегрироваться с другим ПО. Неудивительно, что открытый исходный код завоевал большую часть современного стека технологий для работы с данными. К ним относятся информационная инфраструктура, обработка и оркестрация данных, базы данных, машинное обучение, искусственный интеллект и др. Основной причиной, почему я первоначально создал Apache Airflow и Apache Superset, когда работал в Airbnb в 2014-2017 годах, стала невозможность производителей программных продуктов: поддерживать высокий темп инноваций в экосистеме данных; предоставить дополнительные возможности пользователям для решения нестандартных проблемных ситуаций. Как это часто бывает с открытым исходным кодом, возможность интеграции и дальнейшего расширения всегда лежала в основе нашего подхода к архитектуре этих двух проектов. Главной предпосылкой для создания Superset стал тот факт, что Tableau (наше основное средство для визуализации в то время) не мог напрямую подключаться к Apache Druid и Trino / Presto - выбранным нами средствам обработки данных, которые предоставляли лучшие возможности для решения наших задач. Из-за запутанного повдения режима Live Mode в Tableau (не буду вдаваться в подробности) мы начали использовать Tableau Extracts. Но этот инструмент падал из-за объёма данных, с которым мы работали в Airbnb, создавая много проблем с неаддитивными метриками (например, уникальное количество пользователей), и вынуждая нас запутанным образом вычислять различные "группирующие наборы", что шло в разрез с некотороми парадигмами Tableau и только запутывало пользователей. Кроме того, мы имели ограниченное количество лицензий и на порядок большее количество сотрудников, которые нуждались в получении доступа к внутреннему пространству. И я уже не говорю о том, что ориентированный на использование Windows подход Tableau не работал в то время для компании, живущей в облаке. Что-то из вышеупомянутого уже изменилось с тех пор, но основные принципы и преимущества открытого ПО стали ещё заметнее. В этой статье я объясню, почему будущее BI за открытым исходным кодом. Если бы меня попросили одним словом описать, почему сейчас самое подходящее время для использования BI с открытым исходным кодом, я бы назвал слово свобода. Из принципа свободы следует несколько более конкретных преимуществ для компании: способоность изменять, расширять и интегрировать ПО; поддержка сообщества; предотвращение зависимости от конкретного вендора. Перед Airbnb стояла задача интегрировать внутренние инструменты, такие как Dataportal и Minerva, с инструментом для создания дашбордов, чтобы обеспечить более простой доступ к данным для нетехнических пользователей (data democratization). Поскольку Superset имеет открытый исходный код и Airbnb активно участвует в этом проекте, они относительно легко смогли дополнить Superset собственными компонентами. Что касается визуализации данных, то организации, такие как Nielsen, создают новые объекты визуализации и разворачивают их в своём окружении Superset. Они идут дальше, позволяя инженерам вносить свой вклад в настройку и расширяемость Superset. Платформа Superset в настоящее время довольно гибкая для того, чтобы любой мог создать собственные плагины для визуализации. Это является значимым преимуществом на рынке. Внутри более широкого сообщества многие разработчики сообщают об использовании богатого REST API, предоставляемого Superset, что позволяет им программно полностью контролировать все части платформы. Учитывая факт, что почти всё, что делает пользователь в Superset, можно реализовать через API, открываются почти неограниченные возможности для автоматизации процессов в самом Superset и вокруг него. Что касается интеграции, участники сообщества Superset добавили поддержку более 30 СУБД (и их число постоянно растёт!), предоставив код и соответствующую документацию. Поскольку главыне участники сообщества Superset сделали ставку на правильные компоненты с открытым исходным кодом (SQLAlchemy и Python DB-API 2.0), оно также развивается вместе с сообществом Python и в то же время помогает развиваться ему. Сообщества, участники которых разрабатывают ПО с открытым исходным кодом, представляют собой группу различных людей, которые объединяются на основе общих интересов и потребностей. Люди в такой группе имеют возможность вносить свой вклад в общее дело. С другой стороны, производители стермятся ориентироваться на своих самых важных клиентах. ПО с открытым кодом существенно отличается от проприетарного ПО и является более удобной и менее проблематичной моделью для использования ПО. Сообщества, возникающие как результат такой децентрализованной модели, достаточно устойчивы к изменениям, с которыми пытаются справиться продукты, созданные вендорами. Пока участники и организации приходят и уходят, сами сообщества продолжают существовать. В основе сообщества лежат активные участники, которые обычно работают по принципу меритократии. Сообщества привлекают к себе внимание и таланты и предоставляют новичкам рекомендации, задают для них направление движения. А с появлением таких платформ, как Github, программное обеспечение стало уникальным в том смысле, что инженеры и разработчики со всего мира могут объединяться и работать вместе с минимальными препятствиями. Такие тенденции уже довольно хорошо изучены и рассматриваются как глобальный сдвиг в понимании о том, как люди сотрудничают для разработки современного ПО. Помимо ПО, которое является основой проекта, участники сообщества вносят вклад в его развитие и многими другими способами. Вот некоторые примеры из них: полная и актуальная документация; примеры и рекомендации по использованию продукта, зачастую в виде сообщений в блогах; отчёты об ошибках и устранении ошибок, вносящие вклад в стабильность и качество проекта; постоянно растущие базы знаний и ответы на FAQ на таких площадках, как GitHub и StackOverflow; обучающие видео и записи выступлений на конференциях в YouTube; сообщество энтузиастов и экспертов в Slack, готовых быстро помочь решить проблему; почтовые рассылки, в которых основные участники сообщества обсуждают глобальные проблемы и предлагают решения; обратная связь как инструмент для внесения предложений и влияния на развитие продукта. Недавно Atlassian приобрела проприетарную BI-платформу Chart.io и начала сокращать её команду, а также объявила о своем намерении закрыть платформу. Теперь их клиенты должны быстро отреагировать и найти другие средства для аналитики, возможно, перестроив весь процесс анализа данных. И это не новое явление. Учитывая то, насколько зрелым и динамичным является рынок BI, слияние ускоряется в течение последних нескольких лет: Tableau был приобретён Salesforce Looker был приобретён Google Cloud Periscope был приобретён Sisense Zoomdata был приобретён Logi Analytics Несмотря на то, что поглощение компаний, скорее всего, продолжится, такой проблемы не возникает, если BI-платформа, которую вы используете, имеет открытый исходный код. Если вы сами разворачиваете платформу, то вы невосприимчивы к блокировке вендором и не зависите от него. Если же вы решите использовать коммерческое ПО с открытым исходным кодом (COSS), вы будете иметь целый ряд различных возможностей - от альтернативных вендоров до найма экспертов, вплоть до владения ПО и его самостоятельного использования. Например, если вы использовали Amazon Managed Workflows для Apache Airflow, и по каким-то причинам Amazon решила закрыть этот сервис (это просто предположение!), вы будете иметь несколько достойных путей решения проблемы: выбрать и перейти к другому поставщику аналогичного сервиса: вероятнее всего, Astronomer или Google Cloud Composer; нанять или проконсультироваться у эксперта по Airflow. Сообщество вырастило большое количество профессионалов, которые знают и любят Airflow и могут помочь вашей организации; обучиться и использовать классные инструменты, предоставляемые сообществом, чтобы самостоятельно запускать программный код (Docker, Helm, k8s operator, …) Даже в Preset, где мы предлагаем облачную версию Superset, мы используем тот же программный код Superset, который доступен всем. В облаке Preset вы можете свободно импортировать и экспортировать источники данных, графики и дашборды. Аналогично поступают и поставщики коммерческого ПО с открытым кодом (COSS), которые понимают, что отсутствие привязки к конкретному решению - это основная ценность их предложения. Следовательно, они заинтересованы в предоставлении понятных гарантий по этому поводу. Очевидно, что ПО с открытым кодом способно существенно влиять на состояние рынка, поскольку оно предоставляет свободу и перечень некоторых гарантий, которые имеют большое значение при внедрении ПО. Более того, эти гарантии имеют место быть и тогда, когда речь идёт о BI. Если говорить более конкретно о BI, то Apache Superset достиг такого уровня, когда выбор в его пользу при сравнении с другим проприетарным ПО становится  очень убедительным. С момента своего создания в 2015 году на хакатоне Airbnb проект прошел очень долгий путь. Вот несколько последних значимых событий: достигнут важный этап - версия 1.0 (2021 г.), которая означает, что проект и продукт достигли зрелости и полностью готовы к конкуренции на рынке BI. Superset полностью готов к массовому внедрению; стал одним из самых популярных проектов с открытым исходным кодом и зарекомендовал себя как самая популярная BI-платформа с открытым исходным кодом; стал признанным тысячами различных организаций, некоторые из которых можно посмотреть здесь; разработка проекта ускоряется за счёт повышенного внимания пользователей к успешному продукту с открытым исходным кодом; прошёл Apache Software Foundation (2020) как проект высшего уровня, что подтверждает надёжную и проверенную модель управления проектом и гарантирует определенную зрелость продукта. В общем, Apache Superset предлагает сочетание функций и гарантий, уникальное для продукта BI с открытым исходным кодом. Чтобы узнать больше, посетите наше растущее сообщество и присоединяйтесь к нему! superset.apache.org/community BI-разработчик