Code Is Law; Software Choice is Politics

I’ve been posting videos about open hardware, FOSS software, and privacy. But why bother with this stuff? Aren’t these just technical details that only matter to nerds?

There is one important that people have been arguing about (and having wars over) for all of recorded history: Who makes decisions? The king? Individuals? Liberal democratic institutions?

Selecting computer software means answering this in ways that effect both you and others, and that’s true whether or not that’s what you intended.


Code vs. Law

Imagine someone gets seriously hurt. You get them in your car and start driving them to the hospital. There’s a red light, so you stop.

The light doesn’t turn green right away. You can clearly see that there are no other cars and it’s safe to go. You need to get to the hospital fast. Do you run the red light?

The law says you’re not allowed to do that. But the basic structure of law allows for human judgment throughout:

  • You understand that the purpose of the red light law is to prevent accidents, and can judge that no accident will occur because there are no other cars.
  • You know the penalty for breaking the law is a $100 fine, and can decide that you’re willing to risk paying that to get your passenger to the hospital faster.
  • If a cop does stop you, they can decide to simply not issue a ticket because they agree with your decision to ignore the law in this instance.
  • If you do get a ticket, a judge can override it.

So you decide to ignore the red light and keep going. You press the gas petal, but the car doesn’t go. Instead, it plays a sad trombone sound and displays a message: “Please wait for the traffic signal to turn green”.

If that happens, your personal judgment doesn’t matter. None of the safeguards built into the basic concept of law matter. The software in the car controls what the car actually does.

The software isn’t limited to enforcing existing laws. It can enforce whatever rules it wants. The car manufacturer could, conceptually, decide you need a 6pm curfew and simply have the car stop working at six. Or it could limit you to 30mph if you have less than half a tank of gas.

If the code in your device is enforcing rules and you can’t change the code, then those rules will be enforced. Whoever is writing the code (or paying someone to write it) gets to chose whatever rules they want. It’s not just that code is law, it’s worse: code is law with perfect enforcement.

So it matters quite a bit who controls that software. For many modern cars, that’s the car manufacturer. They make it hard for a car owner to install their own software, and a lot of modern cars have cellular modems and always-on internet connections that allow the manufacturer to push software updates. Even if your car doesn’t enforce traffic laws today, they could add that in an update tomorrow.

No car manufacturers are actually enforcing red lights or speed limits - at least not yet - but they do enforce rules in software. As a simple example, try driving a recent car with your seatbelt off - in many cases, the persistent warning beep can’t be disabled even if not wearing a seatbelt as an adult is legal, as it is where I’m recording this.

For a more extreme example, the software in John Deere tractors validates the serial numbers of some parts and prevents the tractor from running if they don’t match. This means that even if you can source replacement parts for a broken tractor you can’t replace them yourself, you need an “authorized technician” to plug in a computer to activate the new parts before they will work.

This isn’t even limited to universally applied rules. Tesla has sent software updates to modify the behavior of single cars or small groups of cars. For Hurricane Irma in 2017, they updated some cars in Florida to temporarily unlock battery range that had been restricted for product segmentation. In several cases they’ve disabled fast charging for salvaged cars.

One of the older examples of software developers enforcing their own laws is “copy protection” for software. Copyright law restricts making copies of software and reselling them, but does not ban all copies all the time. But “copy protection” mechanisms do attempt to ban all copies all the time.

With modern devices, manufacturers take this even further. You can’t install your own software on an Apple iPhone unless you’re a registered developer. Only software from the official App Store is allowed.

A crazy thing here is that US federal law makes trying to work around this private software-enforce law illegal.

Internet Services

This question of control is more significant and more obvious for internet services and websites.

Consider a website like YouTube:

  • The site staff controls the software, and the software can enforce arbitrary rules absolutely.
  • Example rule: Community moderators can take down videos.
  • Example rule: Videos about guns get recommended less.

Software Choice is Politics

We come back to the question in the intro: Who makes decisions?

Every time you chose to use some software you’re answering that question.

Here are some examples:

If you use a simple web site or internet services like YouTube or eBay, you’re accepting the authority of an autocracy. They only have control over that particular service, but they have effectively absolute control. YouTube can take down your videos at any time and has complete control over what gets recommended for you to watch.

On the other hand, if you know how to program, write your own software, and run it on your own computer you have complete autonomy. You can do what you want without needing permission or worrying about anyone overriding your choices by technical means.

If you get a Ring doorbell from Amazon, you’ve subjected your home to the autocracy of an internet service. They can override real world laws - even the 4th amendment - and allow police access to videos of your property without a warrant.

And if you chose to install Debian GNU/Linux, you’ve delegated some of your decisions to the democratic governance of a non-profit organization. They don’t always make perfect decisions, but at least those decisions are made transparently. Most importantly, since Debian is Free/Open Source software, every user retains the power to review and override those decisions.

David Friedman asks how the world would be if there were a market in legal systems. Is that the world we live in now?