Bulgaria just did something revolutionary, and just a tiny bit crazy; they’ve signed in a few new laws concerning software used by their government that, among other things, stipulate that all government software must be open-source, and must be developed and maintained in public repositories. The new laws are not independent, but instead stand as amendments to their Electronic Governance Act. The law also talks about free and public APIs, easy multi-ecosystem implementation, and a number of other things all targeted at making government software as open, transparent and friendly as possible. While a great number of countries use some open-source software, Bulgaria is the first country to go fully open-source, shutting out closed-source software entirely. While the other sections of Article 58 are important, it’s the open-source bit that really shakes things up and presents a possibility of real positive change in the way government software is created, maintained, used and interacted with, not only in the rule’s homeland of Bulgaria, but throughout the world.
The reasons for choosing to go with a strict policy against the use of closed-source software are many and varied, running the gamut from cost to ease of implementation, but in the end, they all have a common thread; they essentially boil down to some sort of benefit for the citizens at large. Open-source software is generally cheaper and easier to obtain than the closed-source variety, in most cases being completely free. This means that the government department looking for software does not have to use some of their budget on it. In turn, this means less taxpayer money is being used, and taxes may end up being just a hair lower as a result. Open-source software is also, in almost all cases, far easier to implement into an existing software ecosystem. Since the source code is easily viewable and, in this case, public, things like overlaps, dependencies, redundancy and differences in programming language can all be taken into account to build out open-source software and resources using them in a scalable manner. This also means that future implementations and reiterations for other systems and ecosystems will be far easier.
Fully open-source government software is not only cheaper and easier, it can be more secure. While open-source software may have a reputation for being a bit less secure than closed source software because it is easier to see what exploits may possibly break the code, those same exploits could be used in some closed-source software. Since open-source software on a public repository is viewable and can be contributed to by just about anybody, security researchers and coders could easily chime in to let the government know of any issues. Since hand-compiled open-source applications can almost always be set to automatically retrieve updates from upstream, a quick security tweak to one machine could actually knock a virus or exploit off of an entire network by replicating the change across all machines as an in-place update, which can sometimes be served live while other things are running, depending on the code. Obviously, for those same reasons, citizens could always submit code improvements to give the software an edge it would otherwise not have had.
The benefits are exceedingly clear, but a number of major obstacles are keeping the entire world from following Bulgaria’s lead. Some countries’ governments may have extensive systems already built and fleshed out around closed-source tools, which would make it more difficult to make the jump to a fully open-source system. Other concerns could be the money and manpower it would take to make the change, as well as a somewhat overwhelming timeframe for some larger systems or smaller governments. The benefits are written on the wall, however, and open-source could well be the wave of the future in government applications.