Recently, I engaged in a discussion on what would be the most befitting model for a piece of software sitting on top of an electronic voting system i.e. being in charge of collecting and summarzing results, detecting any fraudulent actions etc. The question was whether such a solution would be ultimately safer (and more reliable) if its source code was fully available to the public, if it was closed-source (therefore ensuring some additional "security by obscurity") or maybe a hybrid approach?
I'd go for the first approach:
- in my understanding, as long as we can ensure that the algorithms used are correct and safe it doesn't really matter whether the source code is publicly available
- it is vital that voting system is fair and has no surface for backdoor access. Unless we fully trust the manufacturer, there is no way to ensure that, other than making the code available
- profit motif is not involved and so, hindering the competition from stealing/sneaking on the solutions used is irrelevant
I'd love to know your thoughts on the topic. The only "real-life" example of an electronic voting system software is the one employed in Brazil which, as far as I know, it's considered very good and safe, even though it remains closed-source.