Правительство США открыло 20% исходников государственного ПО

a644df1c3629465e9e0e086e8a31fdba.png

Долгое время адвокаты движения за открытое программное обеспечение, а также все здравомыслящие люди призывали правительство США открыть исходный код государственных программ. Разработка этого ПО финансируются за счёт налогоплательщиков. Каждый гражданин имеет право проверить, куда идут народные деньги. Открытые исходники помогают находить и исправлять баги, улучшать качество софта, адаптировать программы для различных нужд. На базе открытого кода сообщество создаёт целую экосистему, в том числе из стартапов. От открытия кода только плюсы.
В конце концов, здравый смысл восторжествовал. В марте 2016 года информационный директор США Тони Скотт (Tony Scott) обнародовал планы администрации президента по предоставлению всеобщего доступа к исходному коду государственных программ.

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

В марте администрация открыла для комментариев первую версию официальных правил Federal Source Code Policy, которые содержат правила публикации и доступа к исходному коду федерального программного обеспечения.

Спустя четыре месяца общественное обсуждение закончили — и вышла окончательная версия документа (pdf), чётко устанавливающая, в каком объёме и на каких условиях будут публиковаться коды программ, разработанных сотрудниками федерального правительства или сторонними подрядчиками по заказу правительства. Администрация рассчитывает, что это позволит снизить государственные издержки, потому что абсолютно все государственные службы теперь могут повторно использовать исходный код, за который уже заплачено, а не заказывать у подрядчиков одни и те же модули снова и снова, распиливая государственный бюджет.

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

Наконец, 3 ноября 2016 года состоялся официальный запуск государственного портала Code.gov — центрального репозитория государственного программного обеспечения США. Теперь софт американского правительства могут использовать все желающие, в том числе и правительства других стран. Таким образом, американские налогоплательщики косвенно помогают менее богатым государствам внедрять новейшие технологические разработки.

Администрация считает, что это ещё одна мера для реализации максимальной открытости и прозрачности для правительства и президента, которые служат народу и прислушиваются к нему. Ранее для этого был запущены другие иниуиативы, в том числе чат с Обамой в социальной сети Facebook — каждый американец может отправить президенту сообщение.

d14967170c9b4ab4b3dc5ef84e9a2499.jpg

Вряд ли президент лично читает все сообщения. Чтобы реально пообщаться с администрацией, проще подписаться на официального чатбота Белого дома в Facebook Messenger. Бот Обамы заработал в октябре 2016 года, а Обама по вечерам читает около десятка сообщений из бесед со своим чатботом.

cefa782abfb743d9bf950246c23f8238.png
Бот сразу предупреждает, что Обама читает некоторые сообщения из чата

Чат-бот и общение с народом в социальных сетях — это красивые действия для имиджа. А вот публикация исходного кода — та реформа, которая имеет реальный практический смысл и действительно может принести эффект.


Согласно правилам Federal Source Code Policy, в будущем все новые программы, созданные по заказу федерального агентства или его сотрудниками, должны публиковаться на портале Code.gov. В данный момент действует испытательная программа, которая обязует агентства публиковать минимум 20% исходного кода.

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

На сегодняшний день на портале Code.gov размещается 44 проекта от 13 федеральных агентств, в том числе код вышеупомянутого чатбота Обамы. От каждого агентства представлено по 3−4 проекта. Например, НАСА опубликовало симулятор Trick (написан на С++, лицензия NOSA), веб-приложение Earthdata Search для обработки и визуализации данных из базы EOSDIS Earth Science (Ruby, лицензия Apache v2), фреймворк для управления миссиями Open MCT (JavaScript, лицензия Apache v1, репозиторий на Github), а также NASA-3D-Resources — коллекцию 3D-моделей, текстур и изображений от НАСА (Mathematica, лицензия не определена, репозиторий на Github). Это действительно интересная коллекция: там есть десятки моделей для 3D-печати различных исторических аппаратов НАСА, а также космических объектов.

168c3f5202b0405c86dad734ab680314.png
Модель для 3D-печати космического телескопа им. Джеймса Уэбба. Визуализация STL-файла: Github / NASA

По мере того как другие федеральные агентства будут внедрять принятые правила Federal Source Code Policy объём исходного кода на портале будет расти. В ближайшие месяцы он должен существенно увеличиться. Администрация собирается устранять дубликаты и помогать агентствам повторно использовать чужой код, налаживая сотрудничество между разработчиками из разных департаментов. И конечно, программистов из частного сектора приглашают посмотреть код и проверить его качество, убедиться, что он надёжен и эффективен. В первый же день разработчики обнаружили в коде федеральных программ риск PHP-инъекции из-за небезопасной десериализации, в том числе программу с незакрытой уязвимостью CVE-2015–2171.

Государственный портал с репозиториями, коммитами и обсуждениями багов (Code.gov использует для этого платформу Github) — замечательная инициатива, которую неплохо перенять другим странам. Хотя критики говорят, что 20% исходников на выбор агентства оставляет поле для манёвров и секретности. Этого мало, ведь все созданные государством работы должны по умолчанию переходить в общественное достояние, в соответствии со статьёй 105 закона Copyright Act.

Но 20% — это лишь обязательный минимум для трёхлетней пилотной программы. Вероятно, потом программу расширят. В любом случае, 20% — это гораздо больше, чем 0%.

© Geektimes