This leaflet is kind of a response to George Hotz's recent blog post What is freedom?.
Quotes from "The Coming Software Apocalypse" (The Atlantic)
The invisibility that forecloses action
Computing is fundamentally invisible. When your tires are flat, you look at your tires, they are flat. When your software is broken, you look at your software, you see nothing. — Gerard Berry
This is the trouble with making things out of code, as opposed to something physical. "The complexity," as Leveson puts it, "is invisible to the eye."
Software has enabled us to make the most intricate machines that have ever existed. And yet we have hardly noticed, because all of that complexity is packed into tiny silicon chips as millions and millions of lines of code. But just because we can't see the complexity doesn't mean that it has gone away.
Direct mechanical action, replaced by a command to remote code
When you press your foot down on your car's accelerator, for instance, you're no longer controlling anything directly; there's no mechanical link from the pedal to the throttle. Instead, you're issuing a command to a piece of software that decides how much air to give the engine. The car is a computer you can sit inside of. The steering wheel and pedals might as well be keyboard keys.
Ordinary people, unable to act, when the code fails
People who called for help got a busy signal. One Seattle woman dialed 911 at least 37 times while a stranger was trying to break into her house. When he finally crawled into her living room through a window, she picked up a kitchen knife. — the [[April 10th, 2014]] 911 outage, traced to a counter on one server in Englewood, Colorado
When she took her foot off the pedal, the car didn't slow down. She tried the brakes but they seemed to have lost their power... The car left a skid mark 150 feet long before running into an embankment. — the Bookout Camry case
Systems beyond the reach of the minds that built them
The problem is that we are attempting to build systems that are beyond our ability to intellectually manage. — Nancy Leveson
The programmer has to be able to think in terms of conceptual hierarchies that are much deeper than a single mind ever needed to face before. — Edsger Dijkstra, 1988, meant as a warning
Even very good programmers are struggling to make sense of the systems that they are working with... basically people are playing computer inside their head. — Chris Granger
The positive vision — tools that restore direct connection
Creators need an immediate connection to what they're creating. — Bret Victor's principle
The document thereby came to feel like something real, something you could poke and prod at. Just by looking you could tell if you'd done something wrong. Control of a sophisticated system... was made accessible to anyone who could click around on a page. — on WYSIWYG
In his mind, a software developer's proper role was to create tools that removed the need for software developers. Only then would people with the most urgent computational problems be able to grasp those problems directly, without the intermediate muck of code.
Quotes from Radical Decentralization, Radical Empowerment, and Dynamicland
Computing must be reinvented in a form whose inherent complexity is so radically reduced, communities can build their own computing environments, for their own needs, with minimal dependence on vendors, specialists, and centralized production. It must be distributed through ideas and abilities, not products and services.
This is the case for the technology of computing, and here the situation is particularly unacceptable because computing is also a medium, the most important medium of the present time and perhaps eventually of all time. A society’s dominant medium structures how people see and understand the world. In the medium of computing, almost all people are illiterate, a disenfranchised underclass which cannot participate in the shaping of their own world.
One of our discoveries is that leveraging the physical world radically reduces complexity. Tasks that might conventionally require “apps” and “codebases” can be done with a few pages of simple, readable programs. Computational activities make heavy use of physical and social mechanisms, so the parts that require actual computation can be small and high-leverage.