Бизнес активно переходит на решения open source. Как успешно провести переход и какие риски нужно учесть?
Приложения с открытым исходным кодом (open source) прочно обосновались в IT-системах крупного и среднего бизнеса. Начав с доминирования в таких сегментах, как веб-серверы, базы данных и аналитика, сегодня opensource-решения также весьма популярны для контейнеризации, машинного обучения, DevOps и, конечно, для разработки софта. Многие организации переходят на open source и для «не айтишных» задач, таких как CRM, производство графического контента и публикация блогов.
В целом,
В России дополнительный толчок движению open source дало импортозамещение, поскольку адаптировать качественные opensource-разработки для отечественных реалий проще, чем вести их с нуля. Поэтому в России ускорились темпы перехода на открытые ОС, офисные инструменты и так далее.
Выбор открытого (open source) или проприетарного (closed source) решения далеко не прост — это не просто выбор «платного» против «бесплатного» или «без техподдержки» против «с техподдержкой». Для каждого IT-решения и для конкретной организации надо учитывать целый ряд важных аспектов.
Встречается гибридная модель лицензирования, когда community edition (общедоступная версия) приложения может быть использована бесплатно, но расширенная версия с корпоративными функциями все же требует платной лицензии.
К тому же многие opensource-разработки не снабжены полноценной и(или) актуальной документацией, учебными курсами для конечных пользователей. Для крупных внедрений этот дефицит, возможно, придется восполнять своими силами, тратя время и деньги.
Преимуществом open source на фазе внедрения, безусловно, является возможность полноценного тестирования. Даже если разворачивать opensource-разработку планируется в виде управляемого хостинга или с помощью специализированного подрядчика, запустить пилот (proof of concept) своими силами значительно эффективней, чем смотреть видеодемонстрации проприетарных решений. Сразу будет понятно, насколько функционально и применимо решение в условиях конкретной организации.
До внедрения, сравнивая решения open source и closed source, довольно важно понять, сколько времени есть на тестирование и допустимо ли сменить продукт на ранних этапах теста. Если запас есть и на второй вопрос ответ положителен, то разумно будет подробно протестировать open source.
Разумеется, для проприетарных решений платная поддержка тоже типична; нельзя сказать, что это нужно только для open source. Расходы сопоставимы! Как показывает практика внедрения open source, годовая техподдержка типичного корпоративного приложения в этом случае
Стоит отметить, что управляемый хостинг снимает с организаций заботы об установке патчей и обновлении приложений, но не может помочь с такими индивидуальными доработками. Здесь компания, у которой возникла подобная потребность, по сути выходит на рынок разработки и должна, в числе прочего, решить, в каком формате такая доработка будет вестись: форк (свое ответвление от основного программного продукта) или внесение вклада в основную ветку разработки в партнерстве с главными разработчиками приложения. Именно здесь реализуются
В реальности все сложнее.
Во-первых, многие opensource-приложения насчитывают миллионы строк кода, который никто не способен проаудировать целиком. Большое количество обновлений этого кода только затрудняет задачу. Впрочем, малый размер тоже не спасает. Например, уязвимость
Во-вторых, существует острая «проблема зависимостей» (dependencies), поскольку в приложениях и коде есть своя «цепочка поставок» (supply chain). Opensource-приложение может использовать стороннюю opensource-библиотеку, которая в свою очередь ссылается на еще одну стороннюю библиотеку, и те, кто проверяют само приложение, вряд ли заодно проверят все библиотеки. Риски этой цепочки уже многократно продемонстрированы: уязвимость в бесплатной
Другой аспект зависимостей — проблема лицензирования. Лицензии на open source довольно специфичны, и отсутствие платежей не означает отсутствия правообладателя. Само приложение и его библиотеки могут поставляться с различными лицензиями, и нарушение более строгих из них (copyleft) чревато судебными исками. По аналогии с налаженным процессом ИБ-аудита и устранения уязвимостей, у крупных пользователей и разработчиков open source должен быть подобный процесс регулярной проверки лицензионного соответствия, в идеале
В России дополнительные сложности могут возникать с трактовкой термина «иностранное ПО», которое теперь запрещено к использованию в ряде организаций. Хотя в индустрии существует понимание, что компоненты с открытым исходным кодом, написанные зарубежными авторами, не попадают под запрет, а Минцифры разрабатывает критерии локализации open source, практика правоприменения в этом вопросе еще не устоялась. Но решение данной проблемы такое же, что с проверкой лицензирования.
Все вышесказанное вовсе не означает, что open source — худшее с точки зрения ИБ решение. Просто все риски нужно учитывать: команде внедрения надо оценивать культуру разработки и регулярность выхода обновлений безопасности в приложениях-кандидатах, контролировать зависимости и лицензии, например, при помощи software bill of materials. Кроме того, если ваша компания занимается разработкой ПО, разумно внедрить в процесс DevSecOps процедуру сканирования используемых пакетов c открытым исходным кодом на
Приложения с открытым исходным кодом (open source) прочно обосновались в IT-системах крупного и среднего бизнеса. Начав с доминирования в таких сегментах, как веб-серверы, базы данных и аналитика, сегодня opensource-решения также весьма популярны для контейнеризации, машинного обучения, DevOps и, конечно, для разработки софта. Многие организации переходят на open source и для «не айтишных» задач, таких как CRM, производство графического контента и публикация блогов.
В целом,
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, боле 95% организаций в сфере IT используют opensource-решения, но и среди не-IT-компаний цифры тоже уже
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. И это без учета тех многочисленных случаев, когда библиотеки с открытым исходным кодом используются внутри проприетарных приложений.В России дополнительный толчок движению open source дало импортозамещение, поскольку адаптировать качественные opensource-разработки для отечественных реалий проще, чем вести их с нуля. Поэтому в России ускорились темпы перехода на открытые ОС, офисные инструменты и так далее.
Выбор открытого (open source) или проприетарного (closed source) решения далеко не прост — это не просто выбор «платного» против «бесплатного» или «без техподдержки» против «с техподдержкой». Для каждого IT-решения и для конкретной организации надо учитывать целый ряд важных аспектов.
Стоимость и график внедрения
Хотя стоимость лицензии на решения open source часто равна нулю, внедрение в организации не будет бесплатным. В зависимости от сложности решения потребуется выделить время IT-команды, привлечь специализированных консультантов по внедрению, а то и нанять разработчиков, которые будут все время адаптировать приложение под нужды организации.Встречается гибридная модель лицензирования, когда community edition (общедоступная версия) приложения может быть использована бесплатно, но расширенная версия с корпоративными функциями все же требует платной лицензии.
К тому же многие opensource-разработки не снабжены полноценной и(или) актуальной документацией, учебными курсами для конечных пользователей. Для крупных внедрений этот дефицит, возможно, придется восполнять своими силами, тратя время и деньги.
Преимуществом open source на фазе внедрения, безусловно, является возможность полноценного тестирования. Даже если разворачивать opensource-разработку планируется в виде управляемого хостинга или с помощью специализированного подрядчика, запустить пилот (proof of concept) своими силами значительно эффективней, чем смотреть видеодемонстрации проприетарных решений. Сразу будет понятно, насколько функционально и применимо решение в условиях конкретной организации.
До внедрения, сравнивая решения open source и closed source, довольно важно понять, сколько времени есть на тестирование и допустимо ли сменить продукт на ранних этапах теста. Если запас есть и на второй вопрос ответ положителен, то разумно будет подробно протестировать open source.
Стоимость поддержки
Повседневная поддержка и настройка многих opensource-приложений промышленного масштаба, а также их адаптация к высокой вычислительной нагрузке требуют от IT-команды весьма специфического и глубокого опыта. Если его нет, опыт придется покупать — либо нанимая в штат специалистов, либо привлекая аутсорсинг. Наиболее распространенные виды аутсорсинга — это специалисты по эксплуатации конкретного приложения (формат Red hat) или управляемый хостинг, оптимизированный под конкретное IT-решение (формат Kube Clusters, WP engine и тому подобные).Разумеется, для проприетарных решений платная поддержка тоже типична; нельзя сказать, что это нужно только для open source. Расходы сопоставимы! Как показывает практика внедрения open source, годовая техподдержка типичного корпоративного приложения в этом случае
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, чем для проприетарных решений.Доработки и масштабирование
Хотя зрелые opensource-решения регулярно обновляются, расширяются их функции и устраняются ошибки, нередко случается, что критичный для конкретной организации баг разработчики не считают приоритетным. Еще чаще это бывает с запросами на добавление новых функций. В таких случаях остается либо терпеливо ждать, либо тратить человеко-часы своих (или нанятых) разработчиков на создание нужных фрагментов кода. Хорошо, что это в принципе возможно, но плохо, что это может оказаться крупной и плохо прогнозируемой статьей расходов.Стоит отметить, что управляемый хостинг снимает с организаций заботы об установке патчей и обновлении приложений, но не может помочь с такими индивидуальными доработками. Здесь компания, у которой возникла подобная потребность, по сути выходит на рынок разработки и должна, в числе прочего, решить, в каком формате такая доработка будет вестись: форк (свое ответвление от основного программного продукта) или внесение вклада в основную ветку разработки в партнерстве с главными разработчиками приложения. Именно здесь реализуются
Для просмотра ссылки необходимо нажать
Вход или Регистрация
open source, то есть гибкость в использовании и скорость инноваций.Кроссплатформенность и интеграция
Для масштабных многокомпонентных решений, между которыми ведется активный обмен данными, вопросы интеграции и кроссплатформенности могут быть одним из ключевых факторов выбора конкретного программного продукта. Здесь в приоритете соблюдение индустриальных форматов хранения и обмена данными, хорошо документированные прикладные интерфейсы (API). Иногда оказывается, что моновендорное решение с закрытым исходным кодом удовлетворяет этим требованиям лучше, чем зоопарк opensource-решений, даже качественных. Но полезным будет оценить стоимость доработки opensource-решения, если по другим критериям оно выигрывает и при этом успешно прошло пилотную фазу.Риски, безопасность и лицензионные требования
Достоинством open source часто называют более высокую безопасность. Ведь если все видят исходный код и любой может исправить найденную ошибку, то это безопасней проприетарного «черного ящика»?В реальности все сложнее.
Во-первых, многие opensource-приложения насчитывают миллионы строк кода, который никто не способен проаудировать целиком. Большое количество обновлений этого кода только затрудняет задачу. Впрочем, малый размер тоже не спасает. Например, уязвимость
Для просмотра ссылки необходимо нажать
Вход или Регистрация
прожила незамеченной в коде bash 20 лет!Во-вторых, существует острая «проблема зависимостей» (dependencies), поскольку в приложениях и коде есть своя «цепочка поставок» (supply chain). Opensource-приложение может использовать стороннюю opensource-библиотеку, которая в свою очередь ссылается на еще одну стороннюю библиотеку, и те, кто проверяют само приложение, вряд ли заодно проверят все библиотеки. Риски этой цепочки уже многократно продемонстрированы: уязвимость в бесплатной
Для просмотра ссылки необходимо нажать
Вход или Регистрация
отразилась на тысячах крупных opensource-решений, затронув продукты таких грандов, как Amazon, Cloudflare, Elastic и им подобных. Атака с заменой npm-библиотек на
Для просмотра ссылки необходимо нажать
Вход или Регистрация
успешно сработала с Apple и Microsoft. Ну и наконец, отказ независимого разработчика от поддержки крошечной библиотеки
Для просмотра ссылки необходимо нажать
Вход или Регистрация
в репозитории npm, «положил» более тысячи популярных приложений и сайтов (включая Facebook) на несколько часов.
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Другой аспект зависимостей — проблема лицензирования. Лицензии на open source довольно специфичны, и отсутствие платежей не означает отсутствия правообладателя. Само приложение и его библиотеки могут поставляться с различными лицензиями, и нарушение более строгих из них (copyleft) чревато судебными исками. По аналогии с налаженным процессом ИБ-аудита и устранения уязвимостей, у крупных пользователей и разработчиков open source должен быть подобный процесс регулярной проверки лицензионного соответствия, в идеале
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.В России дополнительные сложности могут возникать с трактовкой термина «иностранное ПО», которое теперь запрещено к использованию в ряде организаций. Хотя в индустрии существует понимание, что компоненты с открытым исходным кодом, написанные зарубежными авторами, не попадают под запрет, а Минцифры разрабатывает критерии локализации open source, практика правоприменения в этом вопросе еще не устоялась. Но решение данной проблемы такое же, что с проверкой лицензирования.
Все вышесказанное вовсе не означает, что open source — худшее с точки зрения ИБ решение. Просто все риски нужно учитывать: команде внедрения надо оценивать культуру разработки и регулярность выхода обновлений безопасности в приложениях-кандидатах, контролировать зависимости и лицензии, например, при помощи software bill of materials. Кроме того, если ваша компания занимается разработкой ПО, разумно внедрить в процесс DevSecOps процедуру сканирования используемых пакетов c открытым исходным кодом на
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.
Для просмотра ссылки необходимо нажать
Вход или Регистрация