Tuesday, October 03, 2006

Open Source in Government

I find that the ideas of transparency in open source software development and transparency in government align conceptually but not apparently in practice. This post grew out the growing unrest with regard to electronic voting machines. It contains a number of incomplete ideas that I'm publishing just to get them out there...

Free Software Consumers
I think that our governments should, when possible, use open source software and open standards rather than commercial software and proprietary standards. The key part of that sentence being 'when possible'. I acknowledge that in many circumstances there is no open source replacement for necessary software. I don't think that inertia should be an argument against change though. Just because an office is already used to used a particular product doesn't mean it should forego the expense of training employees on a superioir product. In my view a superior product is one that improves one's freedom. This is the precise nature of free/opensource software. It improves the user's freedom. Our government, which is an extension of ourselves, should not be subject to the motivations of a for-profit corporation if it can be avoided.

Open Source as Public Record
I think that the software that executes critical governmental algorithms (like voting terminal firmware or tax calculating code) should be made a part of the public record like laws. If we are governed by an algorithm then we should have the right to know how it works and we should have the ability to verify that it is being executed faithfully.

Department of it/software
The first question that comes to mind would of course be 'Where will all this software come from?' Surely we can't expect it to just crowdsource itself into existence spontaneously. Perhaps there could be something like an official government Department of IT/Software. It's purpose would be to create software products to meet the needs of the various other governmental bodies. This would operate like a hybrid of a software company, an open source project, and a Parks Department. It would have paid software developers to manage projects and write code. It would also keep all source code available to the public online and accept code submissions from the public. I imagine the governmental employees being something like Park Rangers watching protectively over the development and prudent use of the public (software) resource.

Bounty for Diebold firmware
Another route to getting open source software written is offering bounties. This is a common tactic for getting people to code things that necessary but perhaps not particularly interesting. If I had a lot of money or if I were a foundation dedicated to the public good I would offer a bounty for someone to release a free/opensource replacement for the software that runs on Diebold Voting machines. It has been shown that these machines are vulnerable to compromise (reference). If a publicly vetted software suite was available and ready to be simply dropped into place, then those in control of such decisions might be persuaded to mandate the use of the free/open software.