In his book Code, Lawrence Lessig argues that "code is law".
What he tries to tell with this statement is that in cyberspace (computer) code can substitute law when it comes to regulation – and do so in a more effective way. He also says himself that the statement is quite simplified, but in this article I will try to explain how code is very much different from law in many basic aspects. The most basic difference and on which all of the stated below is grounded, is power. Law dictates the world of "shall", while code (as physical laws etc.) dictates the world of "can". If the code of a system does not permit a certain type of users to access a certain file, they cannot access it; while if a law forbids the same type of users the same access, they still might be able to acces it, but should not.
This brings us to another point – sanction. If a user breaks the code (or more exactly one of its rules), he does not carry any negative consequences from the code itself. By braking the law though, the user gets caught in prosecution and ultimatively gets sentenced by a court. This is also the reason why most applications and serviced rely on law (statutes and licenses) in trying to keep away users from trying to break the code and to sanctionise those who do.
Part of the reason why legal rules include sanctions for cases when it comes to their violations, is that legal systems not only do not, but also cannot make its "users" comply. In the aspect of effectiveness code is a lot stronger, because users can only operate within the limits it sets for them. While with legal rules it is still in the domain of the individual whether he complies or not.
Another huge difference is the process of creation. While already since the bourgeois revolution(s) laws – because of its impact on society – have been a matter of (more or less) democratic political consensus. The idea behind it is that since the rules in quesion apply to everybody in society, everybody should be able to vote for it – even if only via the representatives they elected. With code in general this is not the case. Code can be written by a single entity and have a world-wide user base. It is essentially at complete discretancy of its maker who can completely ignore its users. For code to have at least the same legitimacy as law does, it would have to be created (and maintained) as free software.
When a law is enacted it has to be promulgated – made available openly to all in the official gazette – before its rules apply. With code this is not the case. In fact (sadly) most of code is closed and not available to those that it applies to. People who use programs, use web services, play online games etc. do not know what exactly the code does that they are using. Therefore not knowing what rules, that the code imposes, apply. So in the light of predictability law wins against code. In order to have the same quality as law on this point, code would have to be open source and in some aspects also free software.
If we now summarise the above and add a small treat:
- Law: less effective, has power to only sanction people into obedience, predictable and publicly available rules, built on (political) consensus
- (Closed) code: very effective, has power to alter what can and cannot be done, cannot sanction, not predictable and not publicly available rules, built only by its maker
- FOSS code: very effective, has power to alter what can and cannot be done, cannot sanction, predictable and publicly available rules, built on user/developer consensus
Now which would you rather have ruling and governing your presence in cyberspace?
Personally, I would choose a mix of FOSS and law (where law includes open standards).
P.S. I am fully aware that this article is a bit simplified as well, but I hope it at least shines more light on the whole "code vs. law" matter.