Код накликал
Зачем и кому нужен Open Source в России
Зародившееся как антагонист глобальным IТ-лидерам, сегодня движение Open Source — один из основных факторов развития на рынке разработки. Причем теперь даже для самых крупных мировых игроков. Стимулировать развитие программного обеспечения (ПО) с открытым кодом в рамках реформирования отечественной IТ-отрасли решили и российские власти, в том числе с помощью второго пакета мер поддержки IT-сектора, утвержденного правительством 14 сентября, и стратегии развития Open Source в стране. 1 октября на Russia Open Source Summit представители российской IT-отрасли представили проект стратегии развития до 2024 года ПО с открытым кодом. Документ, впрочем, продолжает дорабатываться. В чем плюсы такого софта и чем объясняется к нему такое внимание государства?
Фото: Александр Миридонов, Коммерсантъ
Свободное и проприетарное ПО: из врагов в союзники
ПО бывает свободным (Open Source, СПО) и проприетарным, то есть принадлежащим конкретной компании. Изначально весь софт был свободным — первыми ЭВМ в 1950–1960-е годы пользовались научные и государственные организации, которые сами разрабатывали программы и обменивались исходными кодами. «Свободное ПО появилось вместе с компьютерами. Оно тогда все было свободное — софт просто давали друг другу»,— рассказывал автор набора правил соответствия Open Source Брюс Перенс в документальном фильме Revolution OS.
В 1974 году программы приравняли к литературным произведениям. В 1983 году Apple Computer Inc. подала иск к компании Franklin Computer Corp. за то, что та скопировала и продавала их операционную систему. Апелляционный суд поддержал Apple, и с того момента все разработки в сфере ПО разделились на проприетарные и Open Source.
С появлением интернета в начале 1990-х стало больше возможностей для обмена информацией и началось бурное развитие свободного ПО. В 1991 году финский студент Линус Торвальдс создал ОС Linux, которая стала символом движения Open Source. В конце 1990-х Microsoft почувствовала угрозу со стороны свободного ПО и заявляла, что «Linux во всех отношениях хуже, чем Windows». Но интернет-гигантам не удалось победить это движение, поэтому в 2000-х они решили его возглавить: с 2006 по 2017 год Microsoft развивала платформу разработки проектов с открытым кодом CodePlex, а Google с 2006 по 2012 год — поисковик исходного кода Code Search. В 2008 году появился GitHub, ставший крупнейшей платформой для разработчиков, и в 2018 году его приобрела Microsoft. Так завершилось противостояние проприетарного и свободного ПО — каждое из направлений обрело свою нишу.
Зачем компаниям открытый код
Сегодня даже для больших компаний внедрение открытого кода стало важным фактором успеха и роста: код некоторого из своего ПО открывают даже мастодонты рынка — Facebook, LinkedIn, Spotify и Uber. При этом, по экспертным оценкам, если в США доля разработок с открытым кодом составляет 23%, а в Китае — 10%, то в России — менее 1%.
Рост ПО с открытым кодом ограничивает психология: многие компании считают, что если они выложат исходные коды своих продуктов, то их украдут, говорит директор по продуктам Positive Technologies Денис Кораблев. Но, по его мнению, «шансов, что кто-то придет, возьмет твой код и на базе него сделает коммерческий продукт,— ноль», так как порог вхождения в эту сферу высокий, а главная ценность компаний не код продукта, а команда и скорость, с которой она работает. По его словам, в публикации кода нет и рисков того, что клиенты начнут использовать код самостоятельно вместо того, чтобы приобрести соответствующий продукт. Решение на базе открытого кода может обойтись компании даже дороже, чем приобретение «коробочного» продукта, ведь код нужно адаптировать, а затем обновлять и обслуживать ПО, то есть либо нанимать программистов в штат, либо компанию на аутсорсе, рассуждает Денис Кораблев.
Нет однозначного понимания, дешевле ли Open Source-решения, чем проприетарные: когда крупные аналитические агентства оценивали совокупную стоимость владения для решений на Windows и Linux, их результат определялся тем, кто был заказчиком исследования — IBM или Microsoft, отмечает генеральный директор «Базальт СПО» Алексей Смирнов.
Одним из мотивов для публикации кода в открытом доступе является желание компаний продемонстрировать чистоту своих намерений, в том числе отсутствие «закладок» в продукте, говорит Денис Кораблев. Это повышает доверие зарубежных покупателей, подчеркивает он. От того, что компания делится кодом с сообществом, он становится лучше, так как всегда находятся энтузиасты, которые найдут в нем ошибки. «Если мы берем библиотеку и в ней нет уязвимостей, скорее всего, ей просто никто не пользуется»,— рассказывает эксперт.
Когда компания выкладывает код впервые, любой программист может найти в нем уязвимость, и, если у него нечистые намерения, он будет этим пользоваться, что «идет продукту в минус», рассуждает господин Кораблев. Когда же код наберет «критическую массу» замечаний, то злоумышленникам будет сложнее найти в нем уязвимости, потому что все «низковисящие яблоки будут уже сорваны», и это сделает продукт более безопасным. Поэтому многие вендоры, впервые выкладывая код в открытый доступ, объявляют программу Bug Bounty («охота за багами»), в рамках которой компания выплачивает вознаграждение за найденные уязвимости.
Зачем государству открытый код
Попытки развития открытого ПО в России государство предпринимало и ранее. На коллегии Минкомсвязи 4 декабря 2007 года была принята «Концепция разработки и использования СПО в России», а в декабре 2010 года правительство РФ одобрило план перехода на СПО.
Но проект не был реализован. Выполнение шло несистемно, не был предусмотрен какой-либо механизм реализации, и решение осталось на бумаге, говорит Алексей Смирнов. Однако «яркие результаты», по его словам, были: СПО внедрили в трех пилотных регионах (Татарстан, Пермский край, Томская область) в рамках проекта «Первая помощь», который вел руководитель департамента в Минкомсвязи Максут Шадаев. Кроме того, был подготовлен и принят ГОСТ «Свободное ПО. Общие положения», а в ГК РФ добавили понятие «открытая лицензия», что решило остававшиеся вопросы по применению в России свободных лицензий, рассказывает Алексей Смирнов. Однако, в отличие от сегодняшней ситуации, тогда не было и речи об импортозамещении и технологической независимости, подчеркивает он.
В 2016 году в России появился единый реестр российского ПО. Сейчас в нем зарегистрировано несколько тысяч программных продуктов, при этом лишь часть написана «с нуля», остальные же созданы как раз с использованием открытого кода, говорит директор центра стратегического развития компании «Ланит-Интеграции» Павел Сварник. По его мнению, «на полную легитимизацию фактического положения дел и снижение рисков разработчиков, применяющих Open Source-решения, была направлена инициатива АНО «Цифровая экономика», которая предложила приравнять Open Source решения к отечественным и выделять заказчикам субсидии на их закупку и разработку (см. “Ъ” от 26 августа).
Эту модель раскритиковали президент ГК InfoWatch Наталья Касперская и президент компаний «Крибрум» и «Ашманов и партнеры» Игорь Ашманов. «Если распространить привилегии, которые имеют продукты, входящие в Реестр отечественного ПО, на продукты на основе "свободного ПО", то отечественным будет считаться любой "перекрашенный" дистрибутив зарубежного ПО, где нет ни одной отечественной строчки кода»,— отметили они в открытом письме. «Это решение гибельное» и «будет категорически вредно для безопасности и цифрового суверенитета страны», подчеркивают они. Подавляющая часть свободного ПО разрабатывается на деньги и под управлением корпораций, работающих в юрисдикции США, где Россия считается «врагом номер один», и США уже «включили» на уровне госполитики режим «систематического технологического удушения своих геополитических противников, включая Россию», предупреждают госпожа Касперская и господин Ашманов. Если США захотят, то смогут ввести санкции и запретить использование некоторых программ с открытым кодом или архитектурой — тогда российские платформы не смогут получать поддержку и обновления либо использовать официально такое ПО, поясняет председатель комиссии по правовому обеспечению цифровой экономики московского отделения Ассоциации юристов России Александр Журавлев.
Один из ключевых пунктов стратегии развития Open Source в России — создание российского хранилища исходного кода. В 2020 году Минэкономики предлагало за 2,1 млрд руб. создать в стране аналог сервиса GitHub (см. “Ъ” от 20 января 2020 года). Создание российской платформы открытого кода заявлено в госпрограмме «Создание дополнительных условий для развития отрасли информационных технологий» (есть у “Ъ”), которую 20 июля одобрила правительственная комиссия по цифровому развитию.
Важно иметь российское хранилище кода на случай, если в GitHub вдруг «дернут рубильник», согласен руководитель отдела продвижения продуктов компании «Код безопасности» Павел Коростелев. С точки зрения безопасности важно, чтобы исходный код информационных систем для госорганов всегда был «на руках», подчеркивает он. У Red Hat, Microsoft, Apple, Google есть гайдлайны, по которым они разрабатывают исходный код, и качество кода, который они «контрибьютят» в общественный проект, всегда несколько выше, чем у других авторов, однако в нем могут быть и закладки, предупреждает господин Коростелев. Поэтому Федеральная служба по техническому и экспортному контролю сейчас формулирует требования к безопасности открытого кода, используемого в средствах защиты — они распространятся на все прикладное ПО для гособъектов и КИИ, рассказывает эксперт. По его словам, безопасная разработка и сообщество — «это всегда качели: либо ты соблюдаешь требования к безопасности софта, либо участвуешь в комьюнити».