В сентябре на сайте Гарвардской школы бизнеса (HBS) появилась статья о важности open source. Её авторы заявляют, что ИТ-компании, участвующие в open source проектах и делающие свое проприетарное ПО открытым, получают конкурентное преимущество на рынке. Мы решили обсудить эту тему и поговорить о плюсах и минусах такой стратегии.
Прокачка навыков
Когда руководство компании позволяет разработчикам участвовать в развитии открытых проектов, сотрудники приобретают новый практический опыт и знания. При этом разработчиков не нужно отправлять на дополнительные тренинги или курсы. Это экономит деньги компании, а программисты обучаются за счет решения нескучных и полезных для ИТ-сообщества задач.
Большую часть кода — 85% — ядра Linux пишут сотрудники крупных ИТ-компаний. Среди них числятся: Intel, Red Hat, IBM и др. Разработчики первой внесли 13% изменений в последние версии ядра, специалисты второй «ответственны» за 7%, а IBM — за 4%.
Программисты из этих корпораций отмечают, что работа над ядром позволяет им изучить Linux изнутри, разобраться во «внутренностях» подсистем и внести личный вклад в развитие самого крупного open source проекта. Полученные практические навыки они впоследствии применяют для решения корпоративных задач.
Ускорение разработки
Когда корпоративный продукт становится частью open source (при условии, что на этот продукт в ИТ-сообществе есть спрос), вокруг него начинает постепенно форматироваться комьюнити.
Когда в 2005 году разработчик Люк Канис (Luke Kanies) создавал клиент-серверное приложение Puppet, он изначально планировал привлекать пользователей за счет свободного распространения ПО. В итоге так и получилось — теперь его инструмент для автоматизации управления ОС используют 40 тысяч компаний, 75 из которых входят в рейтинг Fortune 100.
Здесь действует простое правило: чем больше человек участвуют в разработке, тем выше скорость релизов. Взять, к примеру, Linux — новые версии ядра этой ОС выходят каждые два месяца, а обновлений других операционных систем иногда приходится ждать несколько лет.
Еще пример: Google используют внутри компании открытый фреймворк Angular и вкладывают ресурсы в его развитие. Когда к проекту подключились сторонние веб-разработчики, Angular быстро обзавелся новыми инструментами и расширениями. От этого выиграли все.
Выявление багов
Растущее комьюнити позволяет не только быстрее выпускать новые версии приложений, но и помогает фиксить баги. Из-за того, что исходный код открытого ПО на наличие уязвимостей может просмотреть кто угодно (включая экспертов по ИБ), он считается более безопасным. И эта идея все чаще находит «отклик в сердцах» различных компаний.
В августе этого года Илон Маск опубликовал в Twitter запись о намерении сделать программное обеспечение, отвечающее за безопасность автомобилей Tesla, открытым.
Критики считают, что подобные заявления выглядят как маркетинговый ход, якобы так Илон пытается навязать другим производителям беспилотных машин свой стандарт безопасности. Но есть и те, кто думает, что такое решение поможет повысить защищенность систем Tesla. Свежий взгляд сторонних разработчиков позволит внести в код правки и улучшения. Значит, конечный продукт будет надежнее защищать владельцев авто.
Ложка дегтя
Не все компании готовы выкладывать свое проприетарные решения на GitHub. Они убеждены, что, если передать проект в open source, можно потерять конкурентное преимущество. Есть шанс, что появятся аналоги, и проект больше не будет уникальным. Например, в Cisco отказываются делать свои решения открытыми, потому что не хотят, чтобы «секретный ингредиент» их продуктов стал общедоступным.
Если же компания принимает риски и все равно желает вывести программное обеспечение в open source, просто сделать софт открытым и наблюдать за его развитием не получится.
«Если организация хочет вывести в open source свое решение просто так, то толку будет мало, — рассказывает начальник отдела развития сервиса аренды инфраструктуры в облаке 1cloud.ru Сергей Белкин. — Чтобы вокруг нового решения сформировалось комьюнити, придется сделать все то же самое, что и для коммерческих продуктов.
В первую очередь понять, зачем это нужно вашей компании, а затем составить дорожную карту и проработать стратегию развития программного решения».
Что в итоге
Мнения о том, стоит ли компаниям заниматься проектами с открытым исходным кодом разнятся. Одни видят в этом только плюсы: возможность «прокачать» навыки сотрудников, ускорить рост популярности продукта, помочь ИТ-сообществу и индустрии. Другие пока не торопятся вкладывать ресурсы в open source из-за страха «затеряться» на рынке.
Доля правды есть в обоих утверждениях, но большая часть ИТ-сообщества убеждена, что польза от поддержки открытых проектов перевешивает недостатки. Однако компаниям нужно точно понимать причины того, почему они хотят стать частью open source комьюнити.