It was only the second day of the conference proper, but at this point I'd already been to three previous days of the conference so I was starting to wear down a bit. These are my notes from the talks I attended.
Who cares about democracy? – Vanessa Teague
The subtitle was “the sorry state of Australian election software and what you can do about it”. This was really a lecture, not a keynote. The key takeaways are that there are still no viable approaches for running a truly anonymous, trustworthy election over the internet. “It’s really an open data and open standards problem, not an open source one.” The best we can do for now is software voting backed by a verifiable paper record. In spite of the subtitle there is not much we can do about it other than to vote against politicians proposing e-voting.
She went into detail about Swisspost’s failed implementation of zero-knowledge proofs for voting, which they botched in a way that had already been studied and disclosed by researchers previously.
NSW iVote is now being implemented by the same Swiss firm. The Swiss were at least allowed to review the source code of the voting software 6 months prior to the election being held. In NSW the source we only allowed to be reviewed under a 5-year NDA four months after the election had already been held. Swiss electronic voting regulations are designed to protect the election whereas NSW ones are designed to protect the software vendor.
Given the title I was hoping for a bit more license politics and controversial material in the talk. Rather, it was just a very detailed and fascinating recollection of the early history of the X windowing system and how it came to be open source.
The only real mention of the GPL question in Keith’s talk was when he explained that Richard Stallman (who was there at MIT while X was being developed) was a “challenging individual” who left a “poor impression”. But they eventually realised “he was right” and that they “should have listened to Stallman” about licensing X under the GPL. He gave the concrete example of the DECstation 3100 for which DEC paid him to develop new colour framebuffer code. They wanted a proprietary implementation so they could differentiate the product in the market. “If X11 were GPL we would have been forced to collaborate.”
The other interesting non-technical historical tidbit Keith mentions is that the MIT Consortium developing X was an industry consortium so there was a lot of design-by-committee, with specs being defined by hardware vendors but with no users on the software side.
KUnit: unit testing for the Linux kernel – Brendan Higgins
KUnit is essentially CUnit / Google Test for (hardware-independent) functions in the Linux kernel. It is intended to mostly cover exported functions but as a counter-example there are KUnit tests inline in the Apparmor parsing module to cover non-exported functions.
Brendan explained what a unit test is, and he presented the “traditional” testing pyramid that insists the majority of your test code should be unit tests (which I disagree with).
Support for mock hardware is planned for the future but not implemented yet.
Open source won, but software freedom hasn’t yet – Karen Sandler and Bradley M Kuhn
There is more free and open source software in the world every day, but there is even more computerised stuff in the world using software and it is growing at a faster rate.
Practical ethics – Nicola Nye
Nicola’s thesis is that we can’t rely on laws, evolution, or market forces to drive ethical behaviour in the world. As a customer and employee we are responsible for making practical choices that reflect our ethics. “Live consciously and start small.” It sounds self-evident but I suppose the reason she is giving this talk is because we all sometimes need reminding to step back, look at the bigger picture, and really think about whether the everyday actions we have fallen into, in our consumption habits and the work we do, are ethical.