There's one statement he makes that leads him to a much rosier view than reality, and one which I think distorts the view of the future battlefield. If you take Doctorow's speech at face value you will believe that the battlefield is a bureaucratic one. It isn't. It is going to be a development race, and most of the people that should be running for their lives don't even realize that the starting gun has been fired.
Doctorow makes the statement that we don't know how to make a computer that will run only approved programs. This, sadly, is not even remotely true. These computers have been developed in quasi-secrecy, at great taxpayer expense.
Ever taken a look at the XTS series? The operating system, STOP, has the security subsystem in ring 0 and the kernel in a lower priv'd ring. This was far before the NX bit, which having an external security subsystem be in charge of these days could be catastrophic for programmers' freedom.... Most programs run on STOP systems were compiled for other platforms, but STOP offered a semblance of binary compatibility by having foreign binaries sandboxed in highly restrictive virtual machines. As you can imagine, this pretty much eliminated the malloc funny business. This all funded by the NSA's TPEP/TCB.
And this was the fucking nineties! This was etymology of the term "trusted computing", sourced of the military and intelligence complexes. Microsoft just used the term to conjure the proper images within heads of those in the know.
These subversions of computing have been designed, implemented, and mass-produced for the government, perfected over the course of 3 decades and ready for real commercial deployment. Every commercial OS vendor has an application signing process in place, there just needs to be a couple generations of new hardware with the stuff packaged in.
The technology to turn computers into objects of oppression already exist. So why aren't they implemented yet? The reasons are social. Imagine if you told every developer on earth that they had to use hilariously bad new APIs and syscalls that crippled performance, abstracted them away from their ability to write completely in languages they were familiar with and added precious weeks or months until shipment date. There'd be a universal revolt! No developer on earth would write anything for that platform.
If I were an oppressive state machine, I'd drop this bomb in 6 steps:
- Start getting people used to devices that they think of first as things less than a computer and more of another sort of device first. Perhaps consumers could be coaxed to think of their computers as devices of more limited scope, like phones. Have people shed local storage for that in some wispy aether on the Internet. Make these devices exceptionally hip and well-advertised to encourage their widespread adoption.
- Get developers producing software that's dependent upon an oligopoly of digital distribution points for sales. Make them beg for keys to the distribution channels, and begin subject them to approval processes to sell applications.
- Progressively raise the cost of general purpose machines until number of people buying them (engineers, developers) is small enough to keep to a 'potential subversives' list. "Why do you need one of those fancy computers, son? The $TABLET lets you keep in touch with grandma via Facebook just fine!"
- Implement subverting technology on the "general-purpose" machines but only make them spy on their users for now, executable blacklists to be activated on a timer at a future cut-off date.
- Wait a little bit for the shoddily made modern computer parts with their planned obsolescence to fail. I know people with hard drives from the eighties that still spin. Do you think modern components actually need to be as unreliable as they are? After this nobody can buy non-free hardware.
- Flip the damn switch! Now everybody is stuck on approved distribution mechanisms.
This dystopian vision is true in the epistemological sense, and the most probable future scenario. Somebody with an unfathomable amount of wealth has already begun to execute this process. If you think this isn't going to happen you are naive. Let me tell you this: Stallman, despite eating his own filthy toe jam in public is right about everything he's ever said. As jesuitx once said, Stallman is a modern-day Ezekiel (another filthy slob that couldn't keep a decent living arrangement), and everything he's ever said has turned out to be prophetically, nightmarishly true. If you are dependent upon an external party for your NIC or your CPU or your GPU, your very liberty and life are going to be threatened. Any piece of computing architecture that cannot be commonly replaced with a free (as in freedom) version will be used by imperialists furthering their own hegemonies. The community needs to make free hardware versions of these things within the next ten years, because it will be far more difficult to bootstrap these things when we are locked out of the modern computing landscape.
Those who trade liberty for the slickest UI/UX will have neither.