Можно ли превратить Open Source в двигатель российской IT-разработки?
О причинах, препятствующих созданию крупных продуктов в российском Open Source, о локальных успехах в этом направлении и путях развития сообщества рассказывает IT-World.
С 1 июля 2024 года запрещено скачивать IntelliJ IDEA (интегрированную среду разработки, или IDE, от компании JetBrains) из РФ, а в октябре 2024 года на популярных среди программистов ресурсах появилась информация о блокировке оплаченных лицензий у российских пользователей. Сегодня IDE пользуются в 90 компаниях из списка Fortune Global Top 100. IntelliJ IDEA стала привычным инструментом для 15,9 млн программистов, в том числе и в России.
После отзыва лицензий у отечественных разработчиков есть возможность пользоваться только бесплатной Open Source-версией — IntelliJ IDEA Community Edition. У такого продукта существует ряд ограничений: он поддерживает меньше языков программирования, фреймворков, плагинов, инструментов фронтенд-разработки и имеет меньше возможностей для работы с базами данных. Пользоваться такой версией можно, но продуктивность сотрудников существенно падает.
Масштабные проекты в Open Source — это возможно?
На фоне блокировки JetBrains, в российском сообществе вновь встал вопрос о разработке ИT-продуктов, которыми могли бы без ограничений пользоваться все программисты. На первый взгляд кажется, что это окно возможностей для развития в формате Open Source, когда исходный код ПО открыто публикуется и любой пользователь может изучать, изменять и дорабатывать его, а также использовать в любых целях, включая коммерческие (в зависимости от типа OSS лицензии). Однако на практике возникают три «но».
1. Чтобы технологически не отставать от мировых лидеров уровня IntelliJ IDEA, нужна сопоставимая по количеству участников команда проекта. Сегодня в JetBrains работают 2200 сотрудников по всему миру, значительная часть из них — в команде IntelliJ IDEA. Это значит, что число энтузиастов для конкурентоспособного Open Source-аналога должно исчисляться сотнями человек.
На российском рынке сложно найти такое количество энтузиастов, готовых бесплатно развивать продукт на протяжении длительного времени и наверстывать миллионы строчек кода отставания. Нужна финансовая мотивация, которой пока в Open Source нет.
Здесь показателен пример ОС Linux, которая смогла выжить и развиваться в формате Open Source, в то время как запущенные одновременно с ней похожие продукты остались в истории. Даже в мировом масштабе энтузиасты скорее сфокусируются на ведущей технологии и будут ее улучшать. Догоняющие решения отстанут естественным образом без поддержки.
2. Крупный бизнес, который мог бы стать поставщиком кадров и заниматься разработкой Open Source-решения, сфокусировался на собственных продуктах. Например, Сбер развивает GIGA IDE. Собственные решения в этой сфере могут стать конкурентным преимуществом и самостоятельным бизнес-направлением корпораций.
Здесь можно привести пример с многочисленными сервисами для видеоконференций, которые появились после ограничения возможности российским пользователям оплачивать коммерческую лицензию Zoom в 2022 году. Практически каждый крупный вендор в России выпустил свою версию продукта для видеозвонков. В то же время, объединив усилия, можно было создать гораздо более сильный продукт в формате Open Source.
Скептицизма добавляет и озвученное в октябре 2024 года решение Минцифры РФ отказаться от создания единого российского репозитория открытого кода. Выбор будет сделан в пользу ряда распределенных, но при этом конкурирующих проектов.
3. Текущая бизнес-культура показывает, что, если у решения в Open Source появляется инвестор, он воспринимает себя в качестве заказчика и начинает давить на участников сообщества, чтобы приоритет был отдан развитию нужной ему функциональности. При этом для большинства пользователей технологии могут быть актуальны совсем другие фичи. Такой подход со спонсированием разработки имеет право на жизнь. Но это точно не Open Source, в основе которого лежит принцип конкуренции идей.
Локальные улучшения и раскрытие кода — шанс для Open Source
Все обозначенное выше не ставит крест на российском Open Source как явлении, но нужно корректно оценивать возможности самоорганизации сообщества. Например, относительно небольшие продукты, для разработки которых достаточно 10–20 энтузиастов или соло-программистов, могут существовать.
Список таких проектов можно посмотреть на этой странице. Например, больше 30 тысяч звезд на GitHub (голосов от других участников сообщества) получил проект Fira Code — это бесплатный моноширинный шрифт, который содержит лигатуры для распространенных многосимвольных комбинаций программирования. Больше 10 тысяч звезд у API-ориентированного блочного редактора Editor.js. Он выводит чистые данные в формате JSON вместо тяжелого HTML и подходит для использования в Web, iOS, Android, AMP, чат-ботах AI и других средах.
Второй вариант развития российского Open Source — продукты, изначально созданные частными компаниями, исходный код которых был выложен в открытый доступ. Например, Explyt с 1 ноября открыл исходный код плагина Explyt Spring для IntelliJ IDEA. Решение, предназначенное для разработчиков Java и Kotlin на Spring, ускоряет и облегчает процесс создания ПО и приложений. Плагин умеет подсвечивать ошибки, неправильное поведение, возможные проблемы и опечатки в использовании Spring Framework с помощью более 50 проверок кода.
Также в ноябре появилась информация о том, что в Open Source планирует выкладывать некоторые из своих продуктов VK, в том числе инструменты и библиотеки для разработчиков и ИИ-модели.
Третья история — направления, где Россия остается частью международного Open Source-сообщества. Например, в сегменте машинного обучения лидерами по публикации открытого кода, по данным исследования ИТМО, также являются «Яндекс», Сбер и Т-Банк. Решениями российских вендоров активно пользуются в мире. В России также адаптируют большие языковые модели (LLM) иностранного происхождения, дообучая их на локальных данных, меняя токенизатор и адаптируя для задач бизнеса. Так поступили в «Авито», доработав французскую Mistral 7B.
Однако для таких ситуаций, как создание альтернативы IntelliJ IDEA, с которой мы начинали статью, последний путь неактуален. Мотивации развиваться в Open Source у программистов из других стран нет, поскольку от продукта JetBrains они не отрезаны, а значит, изобретать велосипед не будут.
Как сделать крупные проекты возможными
Успешное развитие крупных проектов в Open Source на локальном рынке возможно только при появлении финансовой мотивации программистов. Эта модель может быть реализована в виде автоматической системы, которая будет оценивать вклад каждого участника в создание того или иного продукта с открытым исходным кодом и пропорционально распределять средства.
Например, использование технологий блокчейн и смарт-контрактов могло бы зафиксировать вклад участников и гарантировать им вознаграждение. Еще одной возможной моделью является система голосования сообщества, чтобы определить, кто заслуживает большей доли. Этот подход кажется более справедливым, потому что иногда небольшое изменение может быть значимее тысячи строк кода.
Распределяющийся между разработчиками-энтузиастами бюджет мог бы пополняться за счет следующих источников:
- компаний, которые извлекают прибыль благодаря коммерческому использованию Open Source-продуктов и отчисляют соответствующий процент;
- поддержки государства и крупных корпораций;
- донатов от спонсоров, как это сегодня реализовано на GitHub Sponsors.
При появлении подобного механизма даже на локальном уровне сообщество Open Source по поддержке масштабных продуктов будет пополняться достаточным количеством участников, чтобы не отставать от крупных зарубежных корпоративных вендоров. Однако, чтобы подобное произошло, необходимо более активное взаимодействие между разработчиками, компаниями и государством. И именно последнее должно быть больше других заинтересовано в создании локальных альтернатив крупным зарубежным продуктам до наступления кризисных ситуаций, чтобы продолжать выполнять свои функции.
Написать комментарий