Болгария приняла закон о принудительной публикации исходных кодов государственного ПО

17a96502e7fd40ee907533a6cb2a3bc0.pngКак и некоторые другие восточноевропейские страны, Болгария многие годы страдает от того, что государственные заказы на разработку программного обеспечения «распиливаются» между приближёнными фирмами, которые принадлежат родственникам и друзьям чиновников. Гостендеры становились формальностью. Процветало взяточничество, кумовство и откаты.

Не причастные к разделу кормушки чиновники и общественность всячески пытались бороться с этим. В прессе публиковали истории о тендерах на 300 000 евро на разработку статического сайта и так далее. Ничего не помогало, истории с «распилами» повторялись снова и снова.

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

  1. Компьютерные программы должны соответствовать принципам open-source.
  2. Все авторские и смежные права на соответствующие компьютерные программы, их исходный код, дизайн интерфейсов и баз данных, которые являются предметом государственного заказа, должны предъявляться заказчику в полном объёме, без ограничений на использование, изменение или распространение.
  3. Разработка должна вестись в репозитории, который поддерживается Агентством, в соответствии с пунктом 18 статьи 7в (публичное национальное хранилище и система контроля версий — скорее всего, его зеркало будет размещено на Github).


Текст поправок (на болгарском языке)

Чл. 58а. (Нов — ДВ, бр. 50 от 2016 г., в сила от 01.07.2016 г.) При изготвяне на технически и функционални задания за провеждане на обществени поръчки за разработка, надграждане или внедряване на информационни системи или електронни услуги административните органи задължително включват в заданията следните изисквания:
1. в случаите, когато предметът на поръчката включва разработване на компютърни програми:

а) компютърните програми трябва да отговарят на критериите за софтуер с отворен код;

б) всички авторски и сродни права върху съответните компютърни програми, техният изходен програмен код, дизайнът на интерфейсите и базите данни, чиято разработка е предмет на поръчката, трябва да възникват за възложителя в пълен обем, без ограничения в използването, изменението и разпространението им;

в) за разработка трябва да се използват хранилището и системата за контрол на версиите, поддържани от агенцията съгласно чл. 7в, т. 18;


Требования закона не относятся к покупке лицензий, то есть госструктуры по-прежнему имеют право закупать, например, проприетарный софт от Microsoft и Oracle вместо LibreOffice и аналогичных свободных программ. Тем не менее, это шаг в правильном направлении.

Открытие исходников государственных разработок — вполне логичное и правильное требование. Если общество оплачивает работу, то имеет полное право на её результаты, то есть на исходные коды в общественном достоянии.

Поправки в закон удалось провести несмотря на предупреждения отдельных «специалистов». Например, исполнительный директор компании Information Services JSC (эта фирма получала львиную часть госзаказов на разработку информационных систем), профессор Михаил Константинов заявлял по телевидению, что ни в коем случае нельзя публиковать исходные коды. Например, открытие кода программы для подсчёта голосов на выборах «позволит кому угодно взломать систему».

Но сторонники open-source сумели аргументированно доказать свою позицию, что метод «безопасность через неясность» — не лучший способ обеспечения безопасности. За последние годы в государственных сайтах и информационных системах было найдено множество уязвимостей, а найденные баги оставались незакрытыми долгое время, просто потому что срок действия контракта с подрядчиком истёк. Статические сайты за 300 000 евро падали под малейшей нагрузкой.

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

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

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

© Geektimes