Стимулирование российского Open Source: как развивать открытые технологии и мотивировать контрибьюторов
Open Source — это эффективный инструмент для решения задач бизнеса и государства. После приостановки деятельности ряда крупных зарубежных ИТ-компаний, программное обеспечение с открытым кодом оказалось чрезвычайно востребованным, а вопросы развития инфраструктуры для Open Source заняли важное место в российской повестке. О том, какие подходы необходимы для развития Open Source в России сегодня и как мотивировать участников рынка работать над решениями с открытым кодом, в статье, подготовленной для TAdviser, рассказал эксперт Руслан Гайнанов.
Содержание |
Почему открытый код, а не проприетарное ПО
По итогам первого квартала 2023 года, согласно исследованию компании Scarf, Россия возглавила список стран с самым высоким ростом загрузок открытого ПО — плюс 220% по сравнению с аналогичным периодом 2022 года. Если в 2022 году проприетарный софт (отечественные и зарубежные решения) занимал 81% российского рынка, то по состоянию на середину 2024 года на него приходится уже 62%, а через два года, по прогнозам экспертов, его доля и вовсе снизится до 36%. По данным «Сколково», сегодня больше половины решений в реестре отечественного ПО написано с использованием открытого кода, а Open Source продукты в том или ином виде используют более 85% ИТ-компаний. Все это говорит о возросшем интересе к открытому коду, но почему он вдруг оказался настолько удобнее проприетарного ПО или так было всегда?
Преимущества Open Source перед проприетарным ПО:
- Открытый исходный код позволяет использовать в коммерческих продуктах наработки мирового уровня. Так как над OS-решениями работают разные специалисты, как правило, члены ИТ-сообществ, такой коллективный подход позволяет получать лучший результат.
- Коммерческое ПО, созданное на базе открытого кода, дает возможность корпоративным клиентам быстро внедрять его в работу и адаптировать под нужды конкретной компании. OS-инструментами пользуются крупные игроки рынка, например, X5 Group, ВТБ, Норникель и многие другие.
- Открытый софт сохраняет независимость от владельцев ПО. Это преимущество рынок особенно оценил в тот момент, когда из России ушли крупные вендоры, а компании остались без технической поддержки, возможностей обновлений софта и дальнейшего его развития. Open Source дает большую защищенность и уверенность, так как с открытым кодом могут работать разные команды специалистов. Кроме этого, согласно требованиям ФСТЭК России, Open Source решения можно использовать для обеспечения критически важной информационной инфраструктуры.
- Безусловное преимущество - более выгодная, по сравнению с проприетарным ПО, ценовая политика «открытых» решений.
Как участники ИТ-рынка, так и компании-потребители программных продуктов полагают, что рассчитывать на возвращение ушедших поставщиков ПО проприетарного типа в ближайшее время не стоит. А это значит, что, российский ИТ-рынок как никогда заинтересован в собственных независимых решениях.
Проблемы Open Source
При всех перечисленных выше преимуществах, для широкого развития и применения Open Source в России есть ряд сдерживающих факторов. Это, например, отсутствие квалифицированных специалистов в сегменте Open Source решений, жесткое госрегулирование и проблемы с безопасностью и конфиденциальностью. Впрочем, многие из перечисленных причин — далеко не «российский фактор», они удерживают разработчиков по всему миру от увеличения доли опубликованного исходного кода. Но многие из этих рисков перестают существовать, если рынок Open Source сформирован и на нем есть крупные игроки, задающие правила — независимые сообщества, команды разработчиков, бизнес.
Что нужно для развития Open Source в России
По данным Росстата, в 2023 году в России насчитывалось всего 857 тыс. ИТ-специалистов.[1] Российские профессионалы недостаточно вовлечены в развитие Open Source, при этом очевидно, что создать конкурентоспособное ПО аналогичное Linux, TensorFlow, Greenplum, Apache можно только при высокой концентрации ИТ-сил. А это значит, что российскому ИТ-сообществу предстоит целенаправленно создавать условия для развития сегмента и наращивать количество контрибьюторов. Есть несколько инструментов, которые помогут в решении этой задачи:
1. Создание инфраструктуры для Open Source проектов
Open Source давно перестал быть делом «айтишников-энтузиастов», сегодня это самостоятельная ниша, требующая серьезной инфраструктуры на всем цикле производства: от разработки до документации. Известный писатель-фантаст Сергей Лукьяненко выступит на TAdviser SummIT 28 ноября. Регистрация
Для развития отрасли должны быть OS-библиотеки, в которые разработчики могут выкладывать свои проекты и модифицированные сторонние решения. Частью инфраструктуры должны стать витрины — площадки-агрегаторы, где представлены базы Open Source проектов из различных репозиториев. Витрина может помочь потенциальному заказчику оценить ландшафт доступных решений, а разработчиков направить на востребованные задачи. Кроме того, в нее могут быть заложены инструменты, позволяющие оценить профессиональный вклад контрибьюторов: система рейтинга, система благодарности, социальная активность.
Сейчас в России git-репозитории появляются "как грибы после дождя" и не стихает обсуждение централизованного национального репозитория. С нашей точки зрения намного важнее сформулировать принципы формирования OS-сообществ и развивать прикладные сервисы, которые будут способствовать развитию индустрии открытого кода в целом и отдельных проектов в частности.
2. Финансирование Open Source-проектов
Открытое и бесплатное ПО не означает, что оно не может приносить доход его авторам. Крупные компании и корпорации вкладывают огромные средства как в покупку Open Source-решений, так и в собственную разработку открытого кода и софта на его основе. И все же большая часть Open Source-разработчиков является независимыми контрибьюторами, поэтому для формирования индустрии необходимы дополнительные ресурсы — средства от частных или государственных фондов, грантовые программы и другие инвестиционные механизмы.
3. Создание специализированных фондов для развития Open Source
Задача таких фондов — также в том, чтобы обеспечить материальную часть для разработки проектов. Компании (как правило, малый и средний бизнес), попадая в портфель фонда, получают денежные средства и ресурсы для развития: контакты, тендерный консорциум, бэкофис, комплементарные цифровые решения и многое другое в обмен на миноритарную долю в проекте.
4. Снятие административных барьеров
Когда на государственном уровне идут разговоры о создании национального репозитория или обсуждение реестра отечественного ПО, первое, в чем сходятся все участники дискуссий, — бюрократизированность процессов. Это серьезный барьер для малого бизнеса и независимых разработчиков, доступ к господдержке или возможность быть включенным в репозиторий должна быть доступна не только крупных корпорациям, но и всем представителям сферы ИТ.
Поэтому для развития открытого и свободного ПО необходимо упрощать процедуры сертификации и в целом процесс взаимодействия ИТ с государством, адаптировать законодательство и расширять возможности использования зарубежных Open Source лицензий.
5. Мотивация разработчиков
Open Source формируют игроки рынка, их мотивация — главный драйвер его роста. Для каждого независимого программиста, команд и даже компаний есть свои причины для разработки решений с открытым кодом: профессиональный рост, комьюнити и нетворкинг, расширение портфолио, дополнительный доход и прочее. Подробнее о причинах и способах мотивации контрибьюторов поговорим в следующем пункте.
Способы мотивации контрибьюторов
1. Формирование сообщества
Это не просто «клуб по интересам», но инфраструктура и новые возможности для участников, которых нет у одиночных игроков. Сообщества дают возможность создавать собственные проекты и участвовать в модификации сторонних. Для начинающих IT-специалистов — это возможность коллаборироваться и получать фидбек от опытных разработчиков, Open Source-проекты с помощью сообщества могут разработать свою стратегия развития кодовой базы или создания экосистемы.
2. Общественное признание
Для разработчиков важно осознание своего профессионального вклада в важный и полезный проект. На корпоративном уровне существует много инструментов признания и благодарности: от упоминания авторов в релизе или readme проектов до «цифровых спасибо». Точно также они могут быть применены на уровне Open Source сообществ и витрин проектов.
3. Программы поддержки и развития Open Source проектов
Мотив, который движет многими разработчиками открытого кода, — решение незаурядных задач и профессиональное развитие. Проект, бросающий вызов этим амбициям, точно не останется незамеченным разработчиками.
4. Возможности для обучения и роста
Стремление специалистов к развитию делает ценным для них доступ к обучению в разных форматах, менторство авторитетов в своей нише.
5. Вознаграждение
Считается, что финансовая мотивация не главный драйвер для создателей открытого кода, но отсутствие материальной выгоды вызывает, как минимум, ряд вопросов: кто будет выявлять уязвимости, исправлять ошибки, следить за безопасностью решений. Безусловно, выстроенные и работающие механизмы монетизации способствуют развитию рынка.
6. Программы лояльности, коллаборации и проекты для развития Open Source в России
Это могут быть стажировки, хакатоны, конкурсы. Это важно не только для формирования комьюнити, но и для обмена опытом, для работы над совместными проектами с целью усиления друг друга.
Перспективы Open Source в России
Во всем мире открытый код способствует появлению инноваций, уникальных и сильных решений. Прогресс российской ИТ-отрасли связан с правильно выстроенными процессами для развития, в том числе Open Source, а также с возможностью не быть оторванным от международного контекста. Не создание национальной лицензии открытого кода в России позволит популяризировать российское ПО, а нужные миру российские Open Source продукты смогут популяризировать российскую опенсорс-лицензию.
Для успеха России в области открытого и свободного ПО также важны инвестиции, долгосрочные программы господдержки и методичная работа по созданию своего пула ключевых Open Source проектов.
Рекомендации при работе с Open Source компонентами
1. Регламентация порядка работы.
Компаниям, работающим с открытым программным обеспечением, следует разработать локальные нормативные акты и должностные инструкции, которые бы регламентировали порядок работы с такими компонентами. В этих документах необходимо указать разрешенные и запрещенные Open Source модули.
2. Получение согласия на использование сторонних продуктов.
Разработчикам следует предусмотреть обязанность получения согласия руководителя на использование сторонних Open Source продуктов в своих проектах. Это поможет предотвратить возможные проблемы, связанные с нарушением авторских прав и использованием нелицензированных компонентов.
3. Заверения и требования к подрядчикам.
В договорах с подрядчиками следует предусмотреть заверения об отсутствии нарушений авторских прав при использовании сторонних Open Source компонентов в разрабатываемом программном обеспечении. Это позволит избежать возможных судебных исков и претензий со стороны правообладателей.
4. Обучение сотрудников.
Важно проводить обучение сотрудников, особенно новых, о принципах работы с открытым программным обеспечением и существующих рисках, связанных с его использованием. Это поможет повысить уровень осведомленности и снизить вероятность возникновения проблем.
5. Использование систем проверки.
Применение автоматизированных систем для поиска и анализа Open Source кода может помочь минимизировать риск появления нарушений в коде.
6. Анализ условий использования и появления новых моделей распространения технологий.
Изучение стратегий развития Open Source. Понимание проблем, связанных с лицензиями и причин, по которым разработчики их меняют. Это поможет ориентироваться на собственные возможности и ресурсы компании, и лучше понимать инициативы регуляторов, Open Source сообществ.
7. Четкие формулировки.
При формулировании предложения для аудитории и контрибьютеров необходимо быть точными и избегать множественных трактовок, четко определить, что именно предлагается к распространению: общедоступный код, открытую лицензию или что-либо еще.
8. Привлечение профессионалов для подготовки лицензий.
В команде нужны люди, которые имели опыт лицензирования исходного кода и программных продуктов, с целью обезопасить свою интеллектуальную собственность и наработки компании.