Новая жизнь старой Open Source идеи. Сергей Сергиенко, Минцифры — о публикации кода госсистем под открытой лицензией.

Открытая публикация кода информационных систем, разработанных за бюджетные деньги, с целью его дальнейшего переиспользования несёт в себя ряд выгод и для государства, и для рынка. Эта практика уже внедрена в некоторых странах. В России попытки реализовать её тоже предпринимались, но до сих пор они не были особо успешными. Сейчас в Минцифры прорабатывают идею открытой государственной лицензии, под которой мог бы публиковаться исходный код решений, и проведения эксперимента в 2022 году с публикацией кода некоторых госсистем. Советник министра цифрового развития, связи и массовых коммуникаций Сергей Сергиенко в интервью TAdviser подробно рассказал об этой инициативе.

Сергей, недавно вы на одном из отраслевых мероприятий рассказывали об инициативе, зародившейся в Минцифры, — об открытой государственной лицензии, под которой мог бы публиковаться исходный код программного обеспечения, разработанного за бюджетные средства. Расскажите, пожалуйста, как эта идея возникла? Есть ли кто-то, кто выступает здесь, как евангелист?

СЕРГЕЙ СЕРГИЕНКО: Тему открытого ПО в Министерстве цифрового развития, связи и массовых коммуникаций курирует заместитель министра Максим Паршин. Идея открытой государственной лицензии родилась довольно давно, несколько лет назад. Когда мы занимались проектом национальной системы управления данными (НСУД), мы поняли, что в системе есть ряд компонентов и решений, которые проще было бы развивать с участием сообщества, рынка. Эти решения созданы по лекалам открытого ПО и было бы нелогично развивать их исключительно за бюджетные средства и ограничивать их использование сектором госуправления. Проект НСУД в каком-то смысле стал катализатором появления открытой государственной лицензии. У этого направления очень хорошая перспектива на рынке.

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

И на рынке тоже многие в это верят. Недавно в Telegram-канале с примерно 700 участниками российского opensource-сообщества я делал опрос на тему нужна или не нужна открытая государственная лицензия. Около 60% участников опроса идею в целом поддержали.

Первая версия текста гослицензии уже разработана. Кто её писал? На каких условиях?

СЕРГЕЙ СЕРГИЕНКО: У Минцифры был госконтракт, завершившийся в апреле 2021 года, по которому мы модернизировали программное обеспечение витрин данных в рамках проекта НСУД. Тогда мы поставили задачу подрядчику — вместе с переводом этого программного обеспечения на открытые компоненты подготовить для нас и проект открытой государственной лицензии. Это был один из артефактов, который появился по итогам выполнения госконтракта.

После этого мы провели ряд консультаций с министерствами и ведомствами, которые так или иначе имеют отношение к вопросу. В их числе Росимущество, Роспатент, Минфин, Минкультуры, Минобрнауки, ФСБ. Нужно это было, чтобы определиться, можно ли такую лицензия минкультуры применять к результатам, которые появляются за бюджетные средства, как вести учёт такого ПО. И ряд других вопросов практического свойства.

Кто выступал подрядчиком по этому госконтракту? Какова была сумма контракта?

СЕРГЕЙ СЕРГИЕНКО: Компания «БФТ». Сумма контракта — 45 млн рублей.

В чем заключается суть первой версии текста лицензии?

СЕРГЕЙ СЕРГИЕНКО: Мы выбрали в качестве основы самую популярную в последнее время лицензию — ASF 2.0. Она является пермиссивной, то есть, по сути не накладывает никаких ограничений на изменение кода и использование производного ПО. Мы изначально думали использовать именно её, чтобы можно было без каких-либо ограничений применять программный код, разработанный за бюджетные средства.

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

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

В США уже довольно развита подобная практика. Там есть политика касательно приоритета использования open source решений в госорганах, есть механизмы публикации кода решений, разработанных за счёт госсредств. И мы, получается, движемся в эту сторону.

СЕРГЕЙ СЕРГИЕНКО: В эту сторону мы начинали двигаться еще где-то в 2009-2010 гг., но всё потом свелось к тому, что появился Национальный фонд алгоритмов и программ (НФАП). Но его сложно называть открытой площадкой, он никого ни на что не мотивирует, в том числе на повторное использование ПО. В НФАП опубликовано лишь 285 объектов, при том, что существует 4051 ГИС (754 федеральных и 3297 региональных), согласно последнему докладу президента.

Сейчас, когда мы передаём в НФАП программное обеспечение, мы сталкиваемся с тем, что организации не хотят использовать ПО из НФАП, они предлагают нам подписать с ними договор, и по нему передать ПО. На вопрос «почему?» они отвечают, что оттуда никто ничего не берёт, и они не хотят быть первыми и не хотят быть связанными какими-то непонятными обязательствами.

Вы недавно также рассказывали, что планы по открытию кода и расширению участия государства в сообществе открытого ПО включают согласование в 2022 году текста открытой гослицензии и выпуск постановления правительства РФ о проведении эксперимента. В рамках этого эксперимента планируется провести пилотную публикацию кода нескольких систем/компонентов под открытой гослицензией. Кто будет готовить текст постановления правительства?

СЕРГЕЙ СЕРГИЕНКО: У нас с сообществом разошлись мнения относительно того, как это должно выглядеть, потому что мы сначала исходили из того, что должен быть один текст открытой государственной лицензии, который помог бы нам устранить «зоопарк» лицензий и иметь русскоязычный перевод, согласованный с юристами от Минцифры и регуляторами — ФСТЭК, ФСБ, заинтересованными ведомствами. Но мнение сообщества таково: не нужно одной лицензии, потому что все они очень разные, а лучше сделать методические рекомендации по поводу применения разных типов лицензий и их русские переводы.

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

Плюс вместе с экспертами АНО «Открытый код», создание которого в декабре анонсировал Илья Массух, директор Центра компетенций по импортозамещению в сфере ИКТ, мы будем разрабатывать методические рекомендации, как применять другие типы лицензий для целей использования в госорганах.

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

СЕРГЕЙ СЕРГИЕНКО: Это пока на уровне нашего — Минцифры — желания. Государство могло бы выступать в качестве участника этого сообщества, с одной стороны, но, с другой стороны, мы хотели бы по аналогии с крупными зарубежными корпорациями, такими как IBM, Microsoft, направлять вектор развития. Они определяют в конечном итоге, куда продукт развивается. Мы хотели бы за собой такую роль оставить по крайней мере по тем решениям, которые мы передаём сообществу. Как это сделать, вопрос сложный и пока открытый.

Есть общепринятый термин «комитет по изменениям», как какой-то консультационный орган, куда должны входить заинтересованные лица, представляющие интересы государства, и представители сообщества. В режиме диалога должны регулярно приниматься решения о том, какие ветки включаются в базовую версию. Как это в деталях будет работать, нужно договариваться с экспертами, которые глубоко знают эту «кухню». У нас в принципе уже даже есть написанные методики и процессы, как это могло бы работать, но мы не хотели бы здесь диктовать, мы хотели бы договариваться. И создаваемое АНО «Открытый код», на наш взгляд, могло бы стать хорошей площадкой, чтобы там договариваться о взаимоприемлемых правилах.

Что касается коммитеров, они должны сами проявиться: это могут быть участники и рынка, и физические лица с амбициями, которым интересно участие. Специально отбирать коммитеров никто не будет, будут отбираться сообществом результаты — ветки программного обеспечения, которые годятся для включения в базовую версию продукта. Но, конечно, доработку открытого ПО по государственным контрактам также нет необходимости запрещать.

Что сейчас ограничивает участие государства в экосистеме открытого ПО?

СЕРГЕЙ СЕРГИЕНКО: Нормативная база в первую очередь. Нет прямых норм, позволяющих сделанное даже за бюджетные средства взять и отдать в широкий доступ. Но здесь довольно тонкий момент: ни одно из ведомств на наш вопрос не сказало ни «нет», ни «да». Здесь существует нормативная неопределенность, и из общих соображений никто обычно рисковать не хочет. Поэтому должны быть четко оговорены «правила игры» — какое ПО, каким образом может быть опубликовано, в каких целях и т.д.

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

Министр Максут Шадаев на совещании недавно высказался, что было бы лучше, чтобы государство сильно не мешало. Обычно там, где государство задействовано меньше, всё работает лучше. Поэтому мы будем избегать эффекта слона в посудной лавке, не будем пытаться диктовать какие-то свои условия, постараемся создать новые возможности, никого не ограничивая.

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

СЕРГЕЙ СЕРГИЕНКО: Да, здесь действительно необходим аккуратный баланс. А если посмотреть на развитие ИТ в целом, мы всё больше и больше начинаем пользоваться плодами труда open source-разработчиков — фактически все госорганы, и движение в одну сторону выглядит уже странным. Именно это сейчас и есть, когда госорганы потребляют, но ничего не отдают наружу.

В этом заложена проблема: все системы, написанные на СПО, начинают вскоре сильно отставать от версий, которые являются актуальными. И это приводит к тому, что можно снова потратить сотни миллионов рублей на то, чтобы переписать системы вместо того, чтобы вовлечь в работу сообщество и поддерживать свою систему в актуальном состоянии с его помощью. Поэтому если государство не начнёт полноценно отдавать результаты своей работы в сообщество, мы очень быстро зайдём в тупик.

В Минцифры предварительно выбрали ряд систем в качестве кандидатов на открытие кода в рамках предстоящего эксперимента. Это типовое тиражируемое ПО витрины данных, единая информационная платформа НСУД, платформа государственных сервисов. Почему именно такой выбор, и кому это может быть интересно?

СЕРГЕЙ СЕРГИЕНКО: НСУД — это по сути распределённая база данных. Там есть ядро, административная часть, ПО витрин. Ещё есть платформа государственных сервисов, которая может быть интересна многим как lowcode-платформа, в том числе крупным корпорациям. С ее помощью можно настраивать различные бизнес-процессы, сервисы, услуги. Всё это написано на открытом ПО, там нет ничего проприетарного внутри. Это зрелое решение, и, в том числе, поэтому мы решили начать публикацию разработок именно с него.

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

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