24 сентября 2024

Open Source: что стоит знать начинающим разработчикам

Open Source, или технологии открытого исходного кода, применяемые для создания различных IT-решений, ― одно из самых перспективных направлений в области высоких технологий и информационного обеспечения. По прогнозу Института изучения мировых рынков, в 2025 году доля коммерческого программного обеспечения сократится до 36%, хотя ещё в 2022 году на него приходился 81% рынка ПО в России. А значит, потенциал направления Open Source как альтернативы будет только расти.

В России в создании инфраструктуры Open Source активно участвуют лидеры IT-рынка, такие как T1, Сбер, Ростелеком, Яндекс. Благодаря обширному выбору представленных продуктов на основе открытого кода компании сохраняют гибкость и маневренность в работе. Кроме того, создание новых решений на базе уже готовых кодов позволяет уменьшить финансовые затраты.

Что нужно знать начинающим разработчикам Open Source, как зарабатывать на таких проектах и начать работу над ними в России ― об этом и не только рассказывает основатель «ТИМ ФОРС Альянс» и сообщества GоOpenSource Руслан Гайнанов.

Руслан Гайнанов

Основатель сообщества GоOpenSource и компании «ТИМ ФОРС Альянс»
Open Source, или технологии открытого исходного кода, применяемые для создания различных IT-решений, ― одно из самых перспективных направлений в области высоких технологий и информационного обеспечения. По прогнозу Института изучения мировых рынков, в 2025 году доля коммерческого программного обеспечения сократится до 36%, хотя ещё в 2022 году на него приходился 81% рынка ПО в России. А значит, потенциал направления Open Source как альтернативы будет только расти.

В России в создании инфраструктуры Open Source активно участвуют лидеры IT-рынка, такие как T1, Сбер, Ростелеком, Яндекс. Благодаря обширному выбору представленных продуктов на основе открытого кода компании сохраняют гибкость и маневренность в работе. Кроме того, создание новых решений на базе уже готовых кодов позволяет уменьшить финансовые затраты.

Что нужно знать начинающим разработчикам Open Source, как зарабатывать на таких проектах и начать работу над ними в России ― об этом и не только рассказывает основатель «ТИМ ФОРС Альянс» и сообщества GоOpenSource Руслан Гайнанов.
В материале
Начало широкому распространению открытого ПО положил в 1988 году в Нью-Йорке Ричард Столлман (Richard Stallman) ― основатель движения свободного программного обеспечения и Лиги за свободу программирования. Он провозгласил основные принципы free software: свободное использование, изучение, распространение и улучшение программ.

Тогда же Столлман начал разработку первой открытой операционной системы ― GNU, которую создавали до 1991 года. В этом же году программист Линус Торвальдс (Linus Torvalds) выпустил ядро Linux с открытым кодом, что привело к созданию независимой работоспособной ОС GNU/Linux, которая до сих пор широко используется.

Одной из первых популярных программ в 1990-е, созданных на основе открытого кода, стал браузер Navigator. Впоследствии его исходный код стал основой для Mozilla Firefox.

На принципах Open Source разработаны программы, которыми ежедневно пользуются миллионы людей: браузеры Google Chrome и Opera, 3D-сервис Blender, Telegram, ОС для смартфонов и планшетов Android.

В чём особенность Open Source и какие задачи решает

Главная идея открытого кода ― это свободный доступ к программному обеспечению для всех пользователей без ограничений. Брюс Перенс ― один из лидеров движения, сооснователь Open Source Initiative ― говорил, что это способ взаимодействия с ПО, который исключает бюрократию и лишние сложности.

Open Source активно используют для создания решений в широком спектре отраслей, включая финансовые услуги, здравоохранение, производство, государственный сектор.

Открытый исходный код позволяет специалистам заниматься новыми интересными и творческими проектами, а не решением рутинных задач, которые неизбежно возникают при создании ПО с нуля. Разработчики Open Source понимают, что создают продукты, которые будут актуальны для всех участников сообщества в любой точке мира. Сложно переоценить такую совместную работу и вклад каждого в развитие отрасли в целом.

Место Open Source в мировом IТ-ландшафте

Open Source играет важную роль в глобальном развитии IT-технологий. Согласно отчёту разработчика OpenLogic, 95% IT-компаний заявили, что увеличили или сохранили использование ПО с открытым исходным кодом в 2023 году.

В 2022 году объём глобального рынка решений с открытым кодом по разным оценкам достигал от $25 до $28 млрд, и эксперты прогнозируют, что к 2027 году эта цифра увеличится вдвое.
  • Согласно опросу IT-компании Tidelift, как минимум 92% всех приложений содержат компоненты с открытым исходным кодом.
Наднациональное комьюнити Open Source объединяет миллионы программистов. Только GitHub ― крупнейшей OS-площадкой ― пользуются более 100 млн разработчиков.

Актуальность направления подтверждают и вакансии на российских и международных рекрутинговых платформах, таких как HeadHunter и LinkedIn. Сегодня всё реже ищут специалистов, которые работают на серверах в WildFly или Oracle, ― более актуальны разработчики, которые специализируются на Kubernetes, React, Postgres и других ПО, работающих с открытым кодом.

При этом есть мнение, что Open Source ― отличное решение в первую очередь для разработчиков, но не для потребителей.

Для бизнеса же наиболее успешная модель ПО выглядит как комбинация открытого и проприетарного исходного кода. Но нельзя не отметить, что коммерческие программы всё больше отстают от открытых в технологическом плане, но окончательно уйдут в прошлое ещё не скоро.
О том, насколько использование технологий на основе открытого исходного кода привлекательно для компаний, можно проследить на примере Microsoft. В 2008 году корпорация инвестировала $10 млн для интеграции своих продуктов с программами на базе Linux. После IT-гигант открыл коды собственных проектов, в том числе .NET и Visual Studio Code, а в 2018 году и вовсе купил GitHub за $7,5 млрд.

Как Open Source влияет на развитие IT-отрасли

Широкое распространение решений с открытым кодом позволило значительно ускорить развитие отрасли. Разработчики могут создавать неограниченное количество вариантов кода, и, кроме прочего, такие решения обеспечивают совместимость и масштабируемость программных продуктов без привязки к конкретному поставщику.

Проприетарное ПО стало сдерживать развитие IT-индустрии, подавляя конкуренцию. Open Source, напротив, вносит большой вклад в развитие решений. Доказательством тому служит большое количество инноваций, появившихся в стартапах, которые создавали продукты на основе Open Source, например в GitHub или Nginx.

Открытый код позволяет свободно распространять готовые решения и модифицировать программное обеспечение. Доработки и исправление ошибок происходят быстрее и с меньшими затратами, чем в случае с коммерческим ПО. Принципы открытости задают энергию для инноваций и технологического прогресса.

Глобально результатом распространения Open Source становится повышение уровня доступности, демократичности IT, его быстрого развития, а также снижения зависимости от поставщиков проприетарного ПО. И речь не только о России, оказавшейся в изоляции со стороны крупных вендоров. Проблема касается всех, поскольку владелец программного обеспечения может отказаться от сотрудничества и прекратить доступ к нему в любой момент.

Можно сказать, что Open Source стирает границы ― между государствами, корпорациями и малым и средним бизнесом, коммерческими и свободными данными.
Изучите основы востребованного во всём мире языка программирования

Разработаете Telegram-бота и приложение с фото из NASA ― даже если никогда раньше не программировали

Получите реализованный проект в портфолио
Изучите основы востребованного во всём мире языка программирования

Разработаете Telegram-бота и приложение с фото из NASA ― даже если никогда раньше не программировали

Получите реализованный проект в портфолио

Преимущества Open Source

О главных плюсах открытого кода рассказывает эксперт сообщества GoOpenSource, главный инженер DevOps в ИТ-холдинге Т1 и полный тёзка автора Руслан Гайнанов:
  • Открытый код способствует стандартизации и совместимости
    Он обеспечивает общий набор программных компонентов, протоколов и стандартов под конкретные задачи, что облегчает разработку и развёртывание совместимого программного и аппаратного обеспечения.
  • Расширяет доступность и инновации
    Open Source делает программное обеспечение более доступным и расширяет возможности для его совершенствования, поскольку разработчики могут свободно использовать и модифицировать существующий код.
  • Уменьшает зависимость от поставщиков
    Код в свободном доступе позволяет бизнесу самостоятельно разрабатывать программы, что снижает зависимость от конкретных поставщиков.
  • Open Source способствует совместной разработке и распространению ПО
    Разработчики сотрудничают друг с другом и вносят вклад в глобальное сообщество.
  • Вместе с ИИ Open Source позволяет создавать новые бизнес-модели, основанные на анализе данных, автоматизации и инновационных решениях
    Модель открытого кода делает ИИ-технологии более доступными для широкого круга пользователей, включая небольшие компании и энтузиастов.

Недостатки Open Source

  • Небезопасность

    Недобросовестный разработчик может зашить в код любой вирус и при установке ПО оно не выполнит свои функции. Однако этот процесс просто контролировать, поскольку код можно заранее проверить на предмет уязвимости и вирусов. И судя по статистике распространения Open Source, эту проблему удаётся благополучно решать.

  • Фейковые вендоры
    Это те, кто берёт ПО с открытым кодом, делает к нему минимальные надстройки и продаёт как своё. Такие программы можно обнаружить и в реестре российского ПО. Одним из решений может стать составление реестра продуктов, представленных на рынке.
  • Трагедия общих ресурсов
    Множество людей, которые поддерживают проекты, служащие для общего блага или работающие в основе критических систем, зарабатывают скромные деньги. Скромные в том смысле, что на этих людях лежит ответственность за серьёзные проекты, о которой они чаще всего не просили. Кто-то много лет работает за идею или интерес или уже не пишет код, а управляет проектом и общается с сообществом. Простого решения тут нет. Очевидно, вопрос будет решаться по мере дальнейшего развития IT-индустрии.

Что советуют профессионалы начинающим разработчикам проектов с открытым кодом

Вот что советуют эксперты сообщества GoOpenSource, в частности software-архитектор и основатель EdTech стартапа IT-Enduro Алексей Романов​​ ↓

То, что вы делаете, должно быть востребовано

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

Один из вариантов ― работать по существующим запросам и выполнять уже поставленные задачи. Например, если вы понимаете, что решению не хватает дополнительной функции или адаптации под другие сервисы, ― попробуйте создать его самостоятельно.

Так, в бесплатной версии программного инструмента Hashicorp Terraform было сложно работать с несколькими окружениями для развёртывания ПО (environments). Решить проблему помог проект с открытым кодом Terragrunt.

Создавайте аналоги зарубежных решений

Импортозамещение стало трендом, поэтому можно пытаться разрабатывать альтернативы западных решений, в том числе в формате Open Source.

Присоединяйтесь к крупным проектам как участник

После ухода из России крупных вендоров и некоторой инфраструктуры Open Source ― например Elasticsearch и всего ELK stack, Graylog, Grafana Cloud ― появились востребованные сегменты.

Их не получится сделать на коленке за 2–3 недели: это огромные продукты с миллионной аудиторией и под силу они пока лишь большим компаниям. Но для частных разработчиков это не проблема, поскольку Open Source позволяет подключаться или как сторонний и не постоянный участник ― контрибьютор, который получает доступ к определённым репозиториям в компании, или как ключевой разработчик ― мейнтейнер ― в большой проект в любой точке мира.

Продвигайте своё решение в России и за рубежом

Это важно, так как сообщество интернациональное, и если мыслить ограниченно и загонять себя в рамки, в нишу можно даже не заходить.

Самый действенный способ продвижения своих идей ― отраслевые конференции, хакатоны и другие инструменты нетворкинга. Не стоит пренебрегать и соцсетями, чтобы удерживать интерес существующих участников комьюнити и привлекать новых.

Кроме того, важно не просто создать информационный портал, а дать людям площадку, на которой можно строить коммуникацию: общаться, задавать вопросы, предлагать решения неординарных проблем.

Вы должны гореть своим решением

Нужно быть готовым вкладывать в проект много времени и, возможно, денег ― прежде чем думать над его монетизацией.
Если ещё не определились, с какого языка программирования или направления в IT стартовать,
решите на бесплатных занятиях ↓
Узнаете, подходит ли вам профессия программиста. Определитесь с языком программирования и попробуете написать код с нуля. Разберётесь, как начать карьеру в IT
Поймёте, с чего начать погружение в программирование. Узнаете, как выбрать и освоить востребованный язык программирования

Как зарабатывать на проектах Open Source

В основе Open Source всегда лежала идея о развитии отрасли и профессиональном самовыражении. Работа над общедоступным кодом рассматривалась как вклад в общее дело, возможность реализовать творческие идеи, получить новый опыт работы и укрепить связи в профессиональном сообществе.

Но в середине 2010-х Open Source заинтересовал большие компании, и бизнес начал монетизироваться. Наряду с упомянутой выше покупкой Microsoft сервиса GitHub, следующей, знаковой для отрасли сделкой стало приобретение корпорацией IBM разработчика Red Hat за $34 млрд. В 2019 году IТ-компания F5 Networks купила российский проект с открытым исходным кодом Nginx за $670 млн. Компания Pivotal Software, работающая на Open Source, выйдя на IPO, в первый же день получила капитализацию в $3,9 млрд. Salesforce купила стартап на основе открытого кода MuseSoft за $6,5 млрд.

Надеяться на то, что Microsoft или другой IT-гигант купит каждый проект на базе открытого кода, не приходится. Но для разработчиков, которые специализируются на таких решениях, существуют и другие способы монетизировать свой труд.

Продавать дополнительные функции

Это одна из самых распространённых моделей монетизации в сфере Open Source. Разработчик предоставляет бесплатный доступ ко всему или большей части исходного кода, но делает платными дополнительные опции: поддержка, функции безопасности, разработка дополнительных фичей.

Можно предоставлять базовую версию продукта бесплатно и продвинутые версии или пакеты услуг.

Размещать код под GPL-лицензией

General Public License, или лицензия на свободное программное обеспечение ― это разрешение, благодаря которому разработчик, сохраняя за собой авторство, передаёт ПО в свободное пользование.

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

Компания использует определённый комьюнити-проект, делает закрытую версию на своих серверах и продолжает пользоваться продуктом в своих целях. При этом она платит разработчикам за формат управления или менеджерского контроля над продуктом.

Предоставлять услуги по сервисному обслуживанию

Тестирование, отладка, хостинг не требуют лицензирования, что удобно. Платная поддержка ― одно из самых популярных решений.

Пользователи получают бесплатный открытый код, но платную поддержку и обучение. Или оплата может быть за заказы на установку и интеграцию в системы заказчика.

Использовать такой подход могут большие компании и самостоятельные разработчики.

Участвовать в программе Bug Bounty

Вознаграждение за обнаружение уязвимостей в коде может стать дополнительным источником дохода. Особенно это актуально для разработчиков по теме безопасности.

Подобный подход практикуют как крупные компании, так и небольшие стартапы.

Собирать средства на проект

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

Краудфандинговые кампании проводят под конкретные задачи и сроки. Для этого существуют различные платформы:


После ухода из России Patreon и сложностей с выводом денег из зарубежных платформ, таких как GitHub Sponsors, Kickstarter, Buy Me A Coffee, в России набрал популярность сервис Boosty. Однако здесь тоже оказалось не без трудностей: сервис нацелен на контент, продвигать через него решения Open Source оказалось неудобно. На платформе нет прямой интеграции с GitHub, а это значит, чтобы поддержать проект, человеку придётся совершить много действий.

В России создаются аналоги GitHub, самый известный ― GitVerse от Сбера. Возможно, там появится прямая интеграция с Boosty или другими сервисами для поддержки независимых проектов.

Привлекать инвестиции

Крупные корпорации часто инвестируют в разработчиков для создания OS-решений, чтобы в дальнейшем использовать их продукты или развивать новое направление.

Предлагать свои услуги в формате фриланса или консалтинга

Такой способ заработка актуален для профессионалов в любой сфере, не исключение и для разработчиков Open Source.

Навыки работы с открытым кодом укрепляют профессиональную репутацию и привлекают новых клиентов. Успешное участие в проектах Open Source может стать отличным дополнением к портфолио разработчика.

Как отмечают эксперты, каких-либо специфических особенностей работы Open Source в России нет, это глобальная история​​. Есть только одна сложность ― ограничения продвижения проектов и их монетизации.

Как начать работу над проектами Open Source в России

Подключиться к существующему проекту как контрибьютор

Первые шаги Open Source-разработчика на этом пути могут быть такими:
  • Найти проект, который работает с контрибьюторами, ― например на GitHub или российском GitVerse.
  • Присоединиться к рассылке, каналу или групповому чату.
  • Изучить структуру кода, открытые и закрытые ошибки и комментарии.
  • Открыть pull request и попытаться доработать функциональность или решить проблему.
Pull request ― это запрос на включение сделанных изменений в проект. Он позволяет рассказать участникам об изменениях, которые контрибьютор разместил в репозитории. После отправки они рассматриваются, обсуждаются внутри команды и при необходимости дополняются.

Это непростой путь, поскольку нужно будет разобраться в большом проекте, следовать чужим правилам разработки и действовать исходя из целей и потребностей остальной команды.

Идеи и предложения контрибьютора могут быть отклонены, но в любом случае такой опыт поможет понять свои силы и выявить слабые места, а также собрать идеи для собственного будущего проекта.

Придумать собственную идею для проекта

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

Во всех возможных случаях контрибьютору стоит вступить в профессиональное сообщество, чтобы обмениваться новостями и опытом с коллегами, совместно работать над проектами, находить задачи для портфолио и заработка. Например, можно стать участником IT-комьюнити OS-разработчиков GoOpenSource, где также строят полезную для контрибьюторов инфраструктуру вокруг него.

И отдельно стоит упомянуть, что начинающие разработчики могут использовать программы поддержки студентов, которые есть у крупных компаний. Однако все дороги, ведущие к Open Source, сводятся к тому, чтобы стать контрибьютором или разработать собственный проект.
Читать также
Мнение автора и редакции может не совпадать. Хотите написать колонку для Медиа Нетологии? Читайте наши условия публикации.

Чтобы быть в курсе всех новостей и не пропускать новые статьи, присоединяйтесь к Telegram-каналу Нетологии.
Руслан Гайнанов
Основатель сообщества GоOpenSource и компании «ТИМ ФОРС Альянс»
Оцените статью