Software is special

Boeing airplanes crash killing hundreds. Facebook is exploited to create domestic turmoil. Volkswagen cheats out of emission standards, poisoning millions. We worry about manipulation of voting machines, autonomous vehicles, drones, and any number of devices including our garage door openers. The common thread of these modern anxieties is software.

In the history of human inventions, software is unique. Unlike any other modern invention, software is infinitely malleable. Software is a tool that allows you to make almost anything that can be expressed as rules or logic. That was first done in big calculation machines, then in desktops and smartphones. Now, as processors are deployed into everyday objects, software effects almost every aspect of modern life. Along the way, those software rules went from being really fancy calculators to determine orbits and actuarial tables, to determining the way we communicate, shop, socialize, eat, get electricity, and buy a loaf of bread. Not since the invention of written language have we smart humans come up with such a flexible invention.

It has been said that “We shape our buildings, thereafter they shape us.” It is a way of looking at technology that recognizes that it is a two way street. In the case of buildings, we have a lot of flexibility in the design, but then we have to live with the consequences for decades. Compare that with software, especially modern web based systems like Facebook or Google. These sites are literally changing every day, every hour, with many different versions operating at the same time depending on the user, the location, and time of day. These algorithms are designed to make their human users’ lives easier and more convenient.

Compare this to the state of affairs with a nuclear reactor. There isn’t a lot of flexility in the design of a nuclear reaction. Do it the wrong way and you have catastrophe. Do it the right way and you have a powerful way to make energy. In order to make that technology perform for us, we develop extensive social systems. Organizations responsible for planning, operations, oversight, regulation. Nuclear reactors don’t care if the team responsible for its operation and safety get annoyed at the repetition of their tasks. If a politician decides he wants nuclear reactors in every household, the laws of physics will not adapt to his desires.

“So what?” you might say. Why does it really matter?

The default way of thinking of technology is that it is delivered to us and we have to react to its arrival. Westinghouse designs a nuclear reactor and we live with the consequences. But the reality for software, and the vast variety of things it controls, is it encodes the demands and wishes of those who control it. What if that was different?

The idea that that software is malleable is the beginning of realizing that we, as a society, as a democracy, and as a people, have a role in shaping its future. Today we still accept the software of Facebook, Boeing, Diebold, and Volkswagen is merely a product of those companies and our control over it is limited. Once we internalize the plasticity of software, we will demand more of the software that is increasingly controlling our lives.