Bulgarian Government Now Requires Custom Software to be Open Source

photo credit: Bulgarian Flag – (license)

The Bulgarian government has just passed an amendment to its Electronic Governance Act that mandates all custom software created for the government must be open source. The amendment was voted on in the Bulgarian parliament and put into effect July 1, 2016.

According to Bozhidar Bozhanov, a 27-year-old software engineer and advisor to the deputy prime minister of Bulgaria, the new law means that any custom software that the government contracts from developers will be hosted in a public repository and accessible to everyone.

“After all, it’s paid by tax-payers’ money and they should both be able to see it and benefit from it,” Bozhanov said. The amendment is the result of Bozhanov and his colleagues’ efforts to bring long-term stability to government software projects.

Shortly after he took the position of adviser to the cabinet of the deputy prime minister in 2015, Bozhanov published a post about why the government needs technical advisors on a high level and highlighted a few of his goals with the position. He spoke candidly about the things he’s working to change:

What do I see? Slow waterfall processes, low-quality software, abandonware. Millions spent on hardware and software licenses which are then underutilized (to say the least). I knew that before, hence the push for open source and more agile processes. Basically, the common perception of the regular citizen is that millions have been spent on the so called ‘e-government’ and there is nothing coming out of it. And that’s mostly correct.

Along with the new amendment, a new government agency has been established to oversee software creation and ensure that a public repository is set up. Bozhanov said that he hopes this new approach will improve security across government websites for all new contracted software:

As for security — in the past ‘security through obscurity’ was the main approach, and it didn’t quite work —numerous vulnerabilities were found in government websites that went unpatched for years, simply because a contract had expired. With opening the source we hope to reduce those incidents, and to detect bad information security practices in the development process, rather than when it’s too late.

Moving forward, the Bulgarian government’s custom software projects will be developed in the open from day one. This is the same “open by default” approach that developers are urging the White House to consider for its new open source software policy. The draft of the policy recommends that code paid for by the government be made available for reuse across other federal agencies and a portion (20%) of the custom code would be released as open source.

Open source advocate and product manager at GitHub, Ben Balter, along with the Presidential Innovation Fellows Foundation, Mozilla Corporation, and others contended for an “open by default” change to the policy during the public comment period, which closed April 18. In an issue titled “Software should be ‘Open by default’ not 20%,” they cited the manifold benefits of shooting for 100% for the three-year pilot program. These include the opportunity for greater scrutiny on the code and the ability to give taxpayers access to the code they paid for. Open by default also removes the bureaucratic burden of tracking and mandating percentages.

The Bulgarian government embracing an open source requirement for all custom code may help pave the way for other countries to consider a similar policy.

“I think this is a good step for better government software and less abandonware and I hope other countries follow our somewhat ‘radical’ approach of putting it in the law,” Bozhanov said.