В сети есть много обсуждений о российскости «Москвич» и «Р-Фона». И в IT-сфере, таких разговоров не меньше. Главный вопрос, считать ли российской разработкой сервисы, которые сделаны на основе западного открытого кода?
Мы внимательно следим за рынком корпоративных мессенджеров и часто сталкиваемся с продуктами, созданными на основе open-source. Иногда они представляют себя российской разработкой и альтернативой западным решениям. Но изменения, внесенные в эти продукты, обычно минимальны. В этой статье мы расскажем, как определить тех, кто использует open-source, и как это может повлиять на клиентов таких сервисов.
Кстати, в конце есть краткое содержание статьи 😉
Open-source и IT
Open-source - это стандартная практика в IT-сфере. И неудивительно, потому что он упрощает и ускоряет процесс разработки. Поэтому многие отечественные компании с весны 2022 года переходят на open-source решения, такие как Mattermost, Rocket.Chat и другие. Так как, Slack, MS Teams и другие иностранные корпоративные мессенджеры ограничивают доступ российским пользователям. Да и мы сами разрабатываем мессенджер и временно используем Jitsi для видеозвонков. Но в будущем мы планируем отказаться от него.
Многие компаний используют open-source не в качестве компонента продукта, а делают его основой своего сервиса и вкладывают значительные ресурсы в его улучшение. Например, Тинькофф поделился своим опытом разработки мессенджера TiMe, который основан на Mattermost. Еще одни пример, корпоративный мессенджер Squadus от МойОфис, который создан на базе Rocket.Chat и обеспечивает совместную работу с документами в рамках продуктов МойОфис.
Тем не менее, не все компании открыто признаются в использовании open-source. Есть и такие, которые используют открытый код в качестве основы своего продукта, но предпочитают не упоминать об этом. Основные характеристики таких сервисов обычно почти не отличаются от решения, на котором они построены. Тем не менее, из-за добавления собственных функций становится сложно внедрить официальные обновления открытого кода. Это может привести к тому, что программное обеспечение не будет обновляться, оптимизация останется на прежнем уровне, и новые возможности не будут добавляться. В конечном итоге, дальнейшее развитие продукта полностью зависит от заинтересованности компании, которая решила создать свой продукт на основе открытого кода. Хорошо, что можно определить таких «тихушников», просто посетив их сайт.
Как узнать замаскированный open-source?
Давайте рассмотрим несколько популярных примеров, как распознать open-source, даже если об этом не говорят. Мы можем понять, из чего состоит продукт на основе скриншотов интерфейсов, которые есть на сайтах практически всех корпоративных продуктов.
Например, если мы видим глобус в обозначении публичных каналов, замочек у приватных и отсутствие аватарок чатов, то скорее всего это означает, что под капотом находится Mattermost.
А если чаты имеют квадратные разноцветные аватарки и весь интерфейс состоит из форм скругленных квадратов, то это, вероятно, Rocket.Chat.
В некоторых случаях на этапе проверки функционала можно распознать открытый исходный код по странным переводам некоторых элементов интерфейса.
Но open-source используют не только в корп. мессенджерах, но и для видеозвонков. В этой области много российских решений, основанных на jitsi meet. Его часто можно определить по тому, что звонок открывается в отдельной вкладке браузера, а не внутри приложения. Адрес встречи часто выглядит как: https://meet.{название_сервиса}.com/ru. И сами разработчики не рекомендуют проводить звонки, в которых одновременно присутствует более 100 человек.
Эти практические методы определения продуктов на основе открытого кода применимы и к сервисам в других областях.
Что предлагают разработчики таких решений?
Когда выбираете такие продукты, фактически вы приобретаете улучшение открытого кода, установку этого кода на свои серверы или облачный доступ. И, конечно же, вы получаете техническую поддержку и дальнейшее развитие продукта. Все это осуществляется другой компанией, что освобождает вашу команду от множества проблем, связанных с самостоятельной установкой и поддержкой open-source.
Но вместе с преимуществами возникают и ограничения, которые присутствуют в исходном open-source. Если вы пробовали установить Mattermost, Rocket.Chat или jitsi meet самостоятельно, но столкнулись с ограничениями, то лучше обратиться к разработчикам и выяснить, были ли решены критические для вас проблемы. Например, это могут быть ограничения на уведомления, проблемы с пуш-уведомлениями и производительностью.
При этом, официальные разработчики открытого кода часто выпускают обновления для своих продуктов. Однако, каждый раз адаптировать измененный код к новой версии может быть трудоемким процессом. Есть большая вероятность того, что вы покупаете заведомо устаревшую версию продукта, которая не будет развиваться средствами официальных обновлений исходного открытого кода. И только компания, которая создала продукт на основе open-source, несет ответственность за его дальнейшее совершенствование.
Теперь о безопасности. Компаниям-разработчикам таких продуктов с задержкой приходит информация об уязвимостях в исходном коде. Например, Mattermost придерживается политики ответственного раскрытия информации и ведет страницу с обновлениями безопасности. Это значит, что они сообщают о найденных уязвимостях в своем коде через 30 дней после их устранения. Безопасность продукта, который сделан на основе Mattermost, и данные пользователей подвергаются угрозе после публичного анонса о уязвимостях. Получается, что эта информация одновременно становится известна и злоумышленникам, и компаниям «тихушникам».
Легальность. Существует AGPLv2 лицензия, по которой доступен открытый код программы Mattermost и многих других программ. В соответствии с этой лицензией разработчик, распространяющий программы на основе открытого кода, обязан передать клиенту все права на модификации и дополнения, которые он внес в опенсорс-решение. То есть он должен убедиться, что его клиенты также имеют доступ к исходному коду со всеми его дополнениями и сообщить об этом клиентам. В результате, если действовать в рамках закона, заработать на такой программе будет сложно.
Можно сделать вывод, что у российских продуктов, созданных с нуля потенциал в развитии больше, чем у решений на основе открытого кода. Продукты на open-source — это хорошее решение на небольшой промежуток времени + поддержкой и доработкой сервиса занимается другая компания. Но за это время российские сервисы написанные с нуля убегут далеко вперед.
Российские решения
Западный open-source обладает большим функционалом и удобством использования, но развитие продуктов на его основе ограничено, как было объяснено ранее. Согласно мнению экспертов, импортозамещение в сфере IT в России продвигается успешно. Российские разработчики достигли значительного прогресса в области замещения иностранного программного обеспечения. Сейчас Россия активно развивает предложение локальных продуктов в области системного ПО, баз данных, бизнес-приложений и облачных сервисов. Это подтверждают различные источники, включая «Ведомости». Директор технологической практики компании Kept, Антон Юнушкин, в своем комментарии «Ведомости&» соглашается с этим мнением и отмечает, что рынок импортозамещающего ПО в России сейчас активно развивается.
Ежегодно мы составляем рейтинг российских корпоративных мессенджеров, где рассказываем о продуктах, разработанных с нуля. Если вас интересуют именно такие решения, вы можете ознакомиться с нашим рейтингом, перейдя по ссылке.
Краткое содержание
В IT-сфере широко используется open-source, и это норма — использовать его как компонент или основу своего продукта. Решение о том, говорить ли о использовании открытого кода или нет, принимает компания-разработчик. А внедрение продуктов, разработанных на основе открытого кода, имеет свои преимущества и недостатки.
Плюсы:
- Экономия ресурсов компании.
- Усовершенствование открытого кода.
- Установка приложения на сервера или предоставление облачного доступа.
- Техническая поддержка.
Минусы:
- Ограничения, которые есть в изначальном open-source, например, ограничения на уведомления, проблемы с пуш-уведомлениями и производительностью.
- Сложности с адаптацией к обновлениям официальных разработчиков из-за изменений в коде.
- Задержка в получении информации об уязвимостях.
- Если открытый код доступен по лицензии AGPLv2, то ее соблюдение делает заработок на продукте достаточно сложным.
Продукты на основе open-source хорошо подходят как временное решение, но не сулят долгосрочным развитием. Продукты созданные с нуля, развиваются более динамично и имеют большие перспективы в будущем.
А какое у вас мнение о сервисах, основанных на открытом коде? Готовы ли вы покупать доработанные решения на основе open-source?