Daniel Lemire's blog

, 2 min read

Government regulations… as software

Socialists accuse me of being a libertarian. Libertarians accuse me of being a socialist. I am actually a pragmatist: I believe that we should set things up to maximize our collective well being.

Government regulations are complicated. In Canada, our tax code is so complex that I doubt anyone ever fully knows it.

Regulators and law makers have often no experience building complex software. Yet what they often do is basically software programming. The difference is that, for now, the software runs on brains.

Laws are often buggy. Law makers can contradict themselves. For example, Chinese law gives the father the right to decide on whether his wife can have an abortion. Yet Chinese law also ensures that the mother is free to decide whether to have a child or not. I think we should treat laws and regulations as software:

  • Laws and regulations should be considered in constant beta testing, just like Google’s software. We should accept up front that there are bugs, possibly major bugs.
  • There should be a cheap and transparent way to report bugs. Anyone should be able to report them and reports should be discussed publicly.
  • Laws and regulations should be systematically tested. For example, regulations could be introduced only locally, and at first only tentatively. You think you have a good idea to fight global warming? Try out your new regulations on a test basis and see whether it works. We should make it easy, not hard, to pull back a new law or regulation. We should assume that the first version of anything is buggy.
  • When a contradiction or other mistake is found, we should not just pretend that it does not exist. Instead, the law or the regulation should be patched. Anyone should be able to propose a patch. (You do realize that anyone can submit a patch to the Linux kernel right now?)
  • We should be able to trace back exactly who revised what and when. It should be trivial for anyone to browse the history of a regulation. Laws should be treated the same way: we should publish not only the law, but all its revisions with a detailed account of who proposed what.