2024/07/11 15:09:35

Стимулирование российского 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 давно перестал быть делом «айтишников-энтузиастов», сегодня это самостоятельная ниша, требующая серьезной инфраструктуры на всем цикле производства: от разработки до документации.

Для развития отрасли должны быть 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. Привлечение профессионалов для подготовки лицензий.

В команде нужны люди, которые имели опыт лицензирования исходного кода и программных продуктов, с целью обезопасить свою интеллектуальную собственность и наработки компании.

Примечания