читайте также
Мало кто понимает, что большая часть технологий, которые мы используем в повседневной жизни, зависит от свободного программного обеспечения с открытым кодом (free and open source software, FOSS). Телефоны, машины, самолеты и даже многие сверхсовременные системы искусственного интеллекта используют ПО с открытым кодом — например, операционные системы на ядре Linux, веб-серверы Apache и Nginx (на них работает свыше 60% сайтов мира) или систему Kubernetes, которая обеспечивает облачные вычисления. Устойчивость, стабильность и безопасность этих пакетов ПО — важная проблема для всех компаний, которые их используют (то есть практически для всех компаний вообще). Но в отличие от традиционных программ с закрытым кодом, которые разрабатывает и продает одна фирма, FOSS-программы разрабатывают невоспетые герои (армии, как правило, неоплачиваемых разработчиков), а распространяются они бесплатно.
В последние несколько лет мы наблюдаем рост влияния корпораций на открытое ПО. Корпорации либо назначают своих сотрудников для работы над существующими open source-проектами, либо открывают исходный код собственных программ, чтобы сообщество могло использовать и поддерживать его. Внедряя свободное ПО в свою бизнес-модель, компании также приобретают важных производителей FOSS. Так, два года назад IBM купила за $34 млн Red Hat — одну из самых успешных компаний, построенных вокруг FOSS. А за год до этого в открытое ПО инвестировали другие технические гиганты — Microsoft (купили GitHub за $7,5 млрд) и Salesforce.com (купили MuleSoft за $6,5 млрд).
Вход корпораций в сообщество открытого ПО вызывает тревогу и конфликты. Если техгиганты скупят FOSS-разработчиков, это может привести к вытеснению волонтеров, что будет угрожать будущему здоровью FOSS-экосистемы. Более того, крупнейшие облачные провайдеры построили свои мультимиллиардные бизнесы на основе FOSS, поэтому волонтеры могут задуматься: зачем трудиться бесплатно, если на этом зарабатывают другие? Все это может демотивировать сотрудников и подрывать основы сообщества FOSS.
Особенно спорный случай — недавний конфликт между Elastic и Amazon. Elastic — публичная компания, разработавшая программу Elasticsearch, поддерживающую поиск на сайтах таких корпораций, как Walmart и Audi. Она вступила в борьбу с Amazon после того, как онлайн-гигант взял версию Elasticsearch, выложенную в открытый доступ, немного ее отредактировал и начал продавать, даже почти не изменив название. В Elastic заявили, что в Amazon взяли бесплатный код, который приносил пользу всему сообществу, и воздвигли барьеры, чтобы единолично на нем зарабатывать.
При поддержке фонда Linux и в сотрудничестве с межотраслевым Фондом безопасности открытого ПО (Open Source Security Foundation) мы провели два взаимодополняющих опроса, чтобы изучить эти проблемы. Первый опрос — перепись пользователей FOSS — мы провели вместе с компаниями, которые специализируются на анализе состава ПО и безопасности приложений, в том числе Snyk и Synopsis. С его помощью мы хотели изучить в общих чертах использование FOSS в прикладных приложениях и определить самые популярные пакеты FOSS. Аудиторией второго глобального опроса стало сообщество разработчиков FOSS. Мы спросили волонтеров, почему они работают над конкретными открытыми проектами, как относятся к сторонним инвестициям и какие применяют практики безопасности (в сфере FOSS это важная проблема). Вот что мы выяснили.
Неприятные результаты
Корпорации все активнее вмешиваются в сферу FOSS, и главный вопрос таков: не окажет ли это негативного влияния на будущее здоровье и благосостояние экосистемы FOSS? Не перестанут ли разработчики бесплатного ПО, которое так нужно всем нам, заниматься своей системой, по мере снижения роли сообщества и погони за прибылью? Возможно, корпорации теперь будут уделять внимание только прибыльным FOSS-программам в ущерб ключевым компонентам инфраструктуры, от которых зависит наше общество? Не усложнится ли контроль за безопасностью такого ПО? Если большую долю работы над FOSS будут выполнять отдельные компании, то не уменьшится ли количество людей, следящих за багами и потенциальными уязвимостями? Положительный ответ на любой из этих вопросов — опасность для будущего открытого ПО.
Предварительные результаты нашей переписи выявили две неприятные тенденции, которые могут сделать FOSS более уязвимым с точки зрения безопасности. Во-первых, мы выяснили, что многие из самых популярных пакетов FOSS в коммерческом ПО хранятся в учетных записях отдельных разработчиков (а не сообществ), а это угроза не только безопасности, но и надежности. Разработчик может найти новую работу, уйти на пенсию или, в самом худшем случае, попасть в ДТП и потерять возможность поддерживать свой проект. Кроме того, у персональных аккаунтов может не быть достаточной защиты от потенциально опасных хакерских атак. Во-вторых, мы обнаружили, что многие компании используют устаревшие версии FOSS-программ: это предсказуемо, но тоже плохо. Без своевременных обновлений в ПО с намного большей вероятностью возникнут баги и недоработки в сфере безопасности. Обе эти тенденции показывают, что безопасность не главный приоритет компаний.
Наш опрос также показал, что мотивация разработчиков FOSS не всегда сводится к деньгам, и корпорациям могут потребоваться нетрадиционные средства поддержки. Корпорации начинают все чаще платить разработчикам свободного ПО, но традиционные рычаги, которыми пользуются корпорации, могут не сработать. У разработчиков обычно бывает другая, внутренняя мотивация: это может быть желание учиться, чувство принадлежности к сообществу свободного ПО или профессиональная идентичность. Таким образом, все компании, организации и органы власти, которые займутся безопасностью FOSS, должны будут подстроиться под эти внутренние факторы, а не просто платить волонтерам, чтобы они занимались безопасностью. С другой стороны, для решения проблем с безопасностью можно нанять отдельных сторонних специалистов. Так или иначе наш опрос показывает: если просто надеяться, что люди добровольно займутся вопросами безопасности, это вряд ли приведет к успеху.
Как компании могут помочь
Конечно, мы не считаем, что нужно вернуться в прошлое, когда FOSS представляло собой добровольную работу группы единомышленников. Но мы рекомендуем крупным игрокам — корпорациям и властям, которые все активнее спонсируют FOSS, как прямо, так и косвенно, — понять, как они влияют на будущее экосистемы FOSS, и следовать нескольким общим принципам.
Во-первых, как корпорации, так и власти должны стремиться к правильному балансу. Нужно понимать, что FOSS продолжает развиваться, и не пытаться погасить дух сообщества, который является основой мотивации разработчиков. Иными словами, у компаний должна быть четкая политика относительно open source-программ (в частности, стоит стимулировать сотрудников работать над открытыми проектами). Наши исследования показали, что далеко не все сотрудники понимают политику своих компаний в отношении FOSS и поэтому сомневаются, стоит ли им использовать FOSS-проекты или участвовать в их разработке. Кроме того, корпорации могут проактивно поддерживать такие проекты, чтобы обеспечить свое будущее благосостояние.
Во-вторых, компании, которые используют FOSS (то есть практически все компании, даже если они этого не осознают), должны постараться лучше понять ПО, с которым они работают. Согласно недавнему указу президента США, к каждому продукту, который покупает правительство, должен поставляться перечень компонентов, чтобы власти знали, какие компоненты (открытые и проприетарные) содержатся в программе и, соответственно, понимали ее потенциальные уязвимости. Это важный пример, и многим компаниям стоит ему последовать — это помогло бы им понять, как сильно они зависят от сообщества FOSS, увеличило бы прозрачность и показало бы, в каких случаях выявляемые уязвимости могут представлять для них риск.
В-третьих, если компании продолжат работать над FOSS, мы рекомендуем им продолжать думать о стабильности используемого ими ПО, мотивировать сотрудников к участию в разработке, чтобы те занимались как полезными для компании функциями, так и общей поддержкой и безопасности, а также помнить, что сообщество волонтеров, стоящее за этими проектами, очень важно, и его нужно защищать. В таком случае корпорации не только выиграют от новых полезных функций, которые сами и добавят, но и обеспечат будущее здоровье и благополучие FOSS, на которые полагаются.
Свободное и открытое ПО — важная часть нашей экономики, такая же, как автомобильные дороги, электросети или сети коммуникаций. Мы очень много знаем о ключевых системах инфраструктуры, и разве не логично постараться изучить также их современный аналог? В экосистему FOSS вовлечено множество заинтересованных лиц, и любому из них в одиночку, конечно, будет сложно единолично решить все проблемы. Поэтому вероятно, что для обеспечения безопасности и жизнеспособности экосистемы FOSS в будущем потребуется совместная работа компаний, правительственных организаций и отдельных участников. Однако для начала нужно понять масштаб проблемы. Мы надеемся, что наша работа станет одним из первых шагов в этом направлении.
Примечание автора: Если вы хотите узнать больше или принять участие в наших опросах, прочитайте отчет о результатах исследования или предварительный отчет об использовании FOSS и запишитесь на наш следующий опрос разработчиков или другие проекты.
Об авторах
Хила Лифшиц-Ассаф (Hila Lifshitz-Assaf) — доцент, преподаватель курса технологий, операций и статистики в Школе бизнеса Стерна Нью-Йоркского университета.
Фрэнк Нейгл (Frank Nagle) — доцент Гарвардской школы бизнеса. Изучает и преподает темы на пересечении технологий и стратегии. До этого почти десять лет работал в сфере кибербезопасности.