Free as in speech, not as in beer.
Open source in the public sector.
The Labour party conference last month garnered a lot of attention for an awful lot of reasons, but one idea was announced that barely received any attention at all, despite representing a seismic move away from the norms of the public sector.
During his speech on digital democracy Jeremy Corbyn said this:
“We will require that all publicly funded software and hardware is released under an Open Source licence.”
Which is interesting, to say the least.
Until the 80s this model was the default for publicly funded projects. If public money was spent delivering something then the fruits of that work belonged to the public. In this way the government is held accountable for how it spends the tax revenue, the public know where their tax pounds are going and most importantly, once the results are in the public domain they spur innovation. By adding to the pool of information that’s in the public domain we allow the benefits of paying for that information to keep accruing forever.
These benefits apply tenfold for software projects. Once the code is out in the world it can be inspected, used, remixed and improved by anyone. The public can see what their investment has bought. The code should be of a higher quality, as it won’t just be scrutinised by the civil service but potentially anyone with an internet connection. There’s also the question of whether standards are raised simply by knowing that your work will be seen by other people.
There’s also the matter of security. As is well documented, security through obscurity is no security at all. By making the source code public the code can be inspected and any problems identified early. Anyone can report a flaw. Peer review by other professionals is the ultimate test of real security. This was demonstrated recently when flaws were found in the Android kernel by a member of the public. They could be found and patched because the code was open source.
There’s also the costs. If publicly-funded software projects are open sourced then there’s a good chance that subsequent projects will get cheaper. If one contractor has solved a particular problem or written a component to perform a particular function in the context of government there’s a good chance another will need to solve that problem again. Without open sourcing, each government project is developed in isolation, with no visibility of existing code.
There’s also the question of attracting the best minds to work on these projects. Many programmers prefer to work on projects where their work is seen. It allows them to gain kudos in the industry and build up a public portfolio of their work.
Finally, and possibly most importantly, is the strong argument that releasing source code fosters innovation.
Once anyone can take a piece of software and use it to their own ends, there’s a cambrian explosion of possibilities.
Techniques and libraries can be used in ways never foreseen by their creators. Individuals, companies, academic institutions and charities can have access to libraries they couldn’t develop themselves.
GDS (Government Digital Services) have transformed 25 of the UK government’s most used services into joys to use. Part of their philosophy is to code in the open (https://gds.blog.gov.uk/2012/10/12/coding-in-the-open/). Their success is in stark contrast to the terrifying overspends of other large public sector IT projects.
There are some cases, particularly around defence, where opening source code to the world wouldn’t be pragmatic, but are there compelling reasons for open source not to be the default for new projects?
Written by Senior Software Engineer, Paul Keith.
Subscribe to our newsletter for free advice delivered to your inbox on a fortnightly basis.