Thursday 28 July 2011

Law is code

nationcrafting: law is code

I'll start this essay with a little bit of info about the methods used to make software applications, such as the browser you're using to read this blog or the operating system that runs your computer. I'll then look into the possibility of applying those methods into the applications we use to interact with each other i.e our systems of law.

Software companies regularly go through processes during which an entire application is re-built from the ground up.

Why do they do this?

Well, applications are constantly renewed and improved to keep up with the market, adding new functionalities, simplifying some elements, making features more powerful or just more user-friendly. Software companies have a process for this, which typically involves taking user feedback, compiling bug-reports and inventing new ways of doing things that eventually end up forming the basis of newer versions of the software.

In order to do this, bits of programming code, or code patches, are attached to the main structure of the program.

As more and more code patches are added to the structure, after a while the program ends up looking, well, like a patchwork: a mesh of different things coded up by different programmers in different teams. The whole thing becomes harder and harder to improve: bits of code start conflicting with other bits of code, which then calls for debugging and a near-endless process of amending, correcting and re-writing code. The increasing complexity of this type of process is one of the reasons why software companies are so interested in programs that learn how to program other programs. Code writing code.

Aside from this, sometimes technological evolutions in the wider context (availability of new tools, etc.) become real game-changers, which leads to fundamental changes in the way things are done. At that point, instead of patching and re-patching bugs, the software company will simply decide to rewrite the whole program from the ground up, with all the new functionality as a part of the new technical specification.

This, in itself, would be a sufficient reason to at least evaluate the idea of regularly rebuilding from the ground up the code that we use to interact with each other. After all, what are laws if not simply lines of code copied and pasted from previous versions, amended as and when a new "bug" is discovered in human-to-human interaction?

Now, here's an interesting evolution on the concept: code is essentially "ideas made stuff".

This point is important, so I'll briefly explain an aspect of the ideas world that profoundly affects the nature of code as "ideas made stuff".

The ideas world is different to the material world of apples and cars and hats, in that it obeys very different economic rules. For example, when you and I each have an apple and swap apples, you and I still each have an apple. In the ideas world, when you and I each have an idea and we swap ideas, we each have two ideas! If there were such a thing as currency in the ideas world, we would both be twice as rich as before...

The value of ideas is hard to measure with the usual economic tools, because they are not only infinitely multipliable, so is the potential material wealth behind them. Think about the following scenario: I share a recipe for apple pie with you. You go to your home to make your apple pie, and I still get to go to my home and make my apple pie too. Apple pie is so much nicer than apples and flour and sugar and eggs, so we are definitely both "richer" from using the recipe for apple pie, but so is everyone who shares the recipe! Effortless multiplication leading to increased physical wealth, for everyone...

Finally, the ideas world is also much more "liquid" than the material world. More like water than objects, ideas just flow. Or, better put, if you try to keep them in a contained space, they just leak. Once an idea is out there, it's impossible to return it back to its original owner. Combined with its effortless multiplication, it therefore only needs to be shared between a few more people for it to become impossible to control.

So, going back to code, it'll quick dawn on you, if you put yourself in a software company's position, that you have a choice between two options:

1. You can try to tightly control the flow and multiplication of something whose nature it is to flow and multiply.


2. You can design your business to use the element's intrinsic properties the way a sailboat uses the wind to go forward, letting the wind do the work.

This latter way of thinking about it is the driving force behind open-source programming: opening up the source code of your software to the world, literally letting thousands of programmers into the container to look at the code, to debug it where they can and improve it at breathtaking speed, through the sheer number of brains devoted to creating something new and better.

In this mindset, the software company's production team takes on the role of editor or coordinator, to ensure that the bigger picture is not lost, but each programmer is entirely within his or her own right to take whatever code they find useful and modify it to create something else that is useful to them.

What's interesting about this phenomenon is that it turns a whole variety of tools into a constantly evolving pool of tools, each one having the potential to be very precise and yet each one being also highly malleable. The source code to an encryption system taken from an online shopping cart is re-used to encrypt the anonymous leaking of content to a political site whose own image-sharing tool is then re-used to create a group-edited visual guide that shows you how to do anything from tying a Windsor knot to changing the spark plugs in your car. Ideas, everywhere, made stuff.

What's also interesting about open-source code is that it perfectly follows the laws of the ideas world and yet, unlike other ideas or information, we are much more able to visualise its connection to the material world: many man-made things around you aren't just made better or easier with shared code, an increasing number of them simply wouldn't exist without shared code. You facebook someone to meet up, you Google the place you're going to meet and call them on their cellphone to ask which end of the street they are once you get there.

Code is the perfect example of the enormous potential of shared ideas. Under 'normal' circumstances, you need capital goods to increase production from digging one hole per week with a spade to digging a thousand holes per week with a bulldozer. Code, however, is like a thousand million bulldozers for the price of one. It creates infinite wealth, for everyone, with only a minimal amount of capital required: just enough capital to produce just one. Think about it: you and I are not that different from our ancestors in 50,000 BC, but it took just one person showing another person how to cook, hunt or farm, for the space between us - the space of shared ideas - to create leverage and augment the reach of our brains beyond the space that exists between our ears. Code expands this leverage not just to a higher number, but to a higher gear, i.e. to a different category of higher number. Using our earlier apple pie analogy, this is apple pies squared.

Because of the elusive sharing properties of ideas, and the difficulty in measuring their impact, we tend to forget to attach economic value to them. Ideas are often thought of as somehow inferior to 'real' things like oranges, cars and televisions. This is odd, if you consider that all the wealth you see around you, from oranges to cars and televisions, is the product of shared ideas and knowledge. But it's understandable, given that there is not much to ideas that is physically perceivable. They are only perceived after they are materialised, after they are incarnated, as it were, in the objects we perceive around us.

Margaret Thatcher once said that Japan was living proof that the greatest resource of any nation was its people. She was almost right: the greatest resource of any nation is its people's shared ideas and the ease with which any of its people can partake in the sharing of ideas, thus turning them into material wealth. Economically speaking, this ability to share ideas and knowledge will define the 21st century through and through: we are the first generation of humans to have nearly all of human knowledge available at our finger tips. Everything - from orange growing, to car designing, to television repairing, to mouse cloning and, ultimately, the science to improve our own selves - is all there, entirely free. We can add to it, or take it to create something that is useful to us. It's open-source.

More importantly, over the coming century, we will see a categorical difference in service quality between open source-minded nations and statist nations. This difference will dwarf the difference we would have once seen between fire-making and non-fire-making tribes of the past.

Why will the difference be so great?

Because the one sector in which open-source code will make a substantial difference, is the code that dictates the interaction between people themselves. As mentioned earlier in this essay: what is true for programming code holds at least some truth for the code that systematises human interaction i.e. our constitutions, our laws, our nation's institutions, all the methods we use for the smooth interaction between users and other users, and between users and the nation. Copy and paste the code, edit it, improve it to suit your needs, re-launch it.

We are taught in the press, in our schools and universities, that democracy is the be all and end all of political evolution. But even the most democratic states are just like those software companies that duly take note of users' bug reports and occasionally rewrite whole sections of their programming code to release a new version, unable or unwilling to make the jump towards the open-source way of developing code.

The key difference between software companies and states is the lack of competition among the latter for citizen-customers. States are geographical monopolies, they have no incentive to go open-source, to take the next step. Their institutions are more interested in asserting the superiority of democracy than in exploring the possibility that it might just be a stepping stone, that we might just be one step away from something categorically superior.

Over the coming century, however, the economic impact of software companies - those producers of "ideas made stuff" - will be so big that states as we define them today will simply become irrelevant as units of economic production, trade and consumption. One by one, industrial sectors are being transformed at their core by software companies. Who is the biggest music distributor in the world today? A software company. Who runs the biggest TV channel in the world today? A software company. Who will be tomorrow's biggest health service providers, law providers, housing providers, food providers, civil-security providers, money providers?... Software companies.

At that point, the idea of nations as service providers competing for citizen-customers will just be clear as water. Once we have competing nation-service providers, nations will likely go through the same evolutionary steps that software companies went through over the last 30 years. Just as software companies have increasingly had to make a choice between tightly controlling their code or using the element's intrinsic properties to improve their products and services, nations will increasingly be faced with a choice between tightly controlling the code we use to interact with each other, or using the element's intrinsic properties to improve their products and services.

Law is code, and the best code is open-source code.


  1. This is a really interesting article.

    Software is a logical construct, where instructions are always followed to the letter, inside a closed environment (the machine) where all the outputs are predictable.

    Groups of people can be guided, but they cannot be made to obey instructions. For example, no matter how many traffic regulations are written, millions of drivers ignore them on a daily basis. Human beings are dynamic, and non-linear and almost random in their responses, unlike computer processors, which are predictable, linear, clearly defined, constrained and completely understandable.

    This is why humans prosper most when there are very few laws, that set out a minimum standard of acceptable behaviour, and nothing else.

    Any big open source project is under version control, using software like Git. Anyone can commit a patch, but those patches are included by the maintainers. If the maintainers do not like your code, it is rejected. In effect, if we were to apply the open source model to the law, we would get a situation like Nick Clegg putting up a blog where people add their ideas, only to have all of them rejected by the maintainers (the State).

    Software works in the open source model because the goals are discreet, and agreed upon in advance by a small number of designers. The contributors agree to be under the supervision of the maintainers. If they do not like the way the project is going they can fork it, and take their work elsewhere.

    The way the State works, there is no forking option; you are compelled by violence to maintain (and use) their buggy, broken, illegitimate, immoral system, wether you like it or not.

    The true meaning of throwing away all the code (law) is a 'year zero' event. These events are extremely dangerous, especially in populations that are inherently violent (democracies), and where the people believe that the collective has the 'right' to extract money through taxation. When year zero events happen, bad guys always set the agenda or end up becoming the maintainers.

    Once again, when a software company decides to rewrite the source for a product, a few things are true:

    This is a source code base that belongs to them
    They have the right to dump the old source and start again or go open source

    'Society OS' is the property of the State. They will not go quietly into the night, to be replaced by a system where the plebeians dynamically make the law in whatever way they see fit. They will not allow forks, and reserve the right to alter, extend or withdraw the source.

    Did you know that the full text of the law in the UK was not available to the public until very recently? This is just like Microsoft keeping the source to windows closed, and then using armed men to force you to use it for your computers.

  2. Thank you for your feedback, irdial. 'Forking' is a nice word / metaphor, lots of new thoughts and thought-premises to come out of it...

    I was especially interested by the last paragraph about the full text of the law not being available to the public. Do you not think, though, that this might simply be because most of UK law is simply case law set by precedent, rather than a pre-agreed constitutional framework?

  3. I also liked your own blog, the Bitcoin articles are very astute... Bookmarked...