10th December 2017
I’ve read a lot of people lately talking about the "Intel Management Engine" revelations. This is the discovery of the huge amount of software hidden in Intel CPUs, including an entire operating system called "Minix".
Someone on the FSFE mailing list called the situation "CPU as a service" because there is so much proprietary code between the silicon and the Operating system. And many people think it’s a privacy issue because it could provide governments a "backdoor" into their machine.
But I think that this type of thought process is mislead. In fact a hardware component such as a CPU is always a service, even if it doesn’t have any microcode/firmware. One cannot modify or repair the printed circuit on a silicon chip. The technology that prints circuits onto silicon is so high-tech and inaccessible it might-as-well be magic.
The same goes for wireless cards. Imagine we have two wireless cards. We have Free Software drivers for both of them. However, one requires a proprietary microcode/firmware, and the other does not. Does the one that does not require the proprietary firmware give us any extra freedom? Of course not. Neither does a spanner give us more freedom than a jammed adjustable wrench.
The type of freedom we need over these practically immutable hardware components is what I call "The Freedom to Destroy". This means that we can throw it away and replace it with something else if we need to. So if it malfunctions, whether due to a bad microcode or a dead transistor, we can simply destroy it.
This means we use hardware which is either modular-enough or cheap-enough that there is no single component that we can’t easily replace. And we need a software stack that supports a wide range of hardware so that we can put our Free Software on any machine we want.
Cleaned up versions of Linux allow us to build this promiscuous Free Software stack. Linux supports a huge variety of modern hardware. Upon Linux we build entire Free Software operating systems such as GNU/Linux and run a huge variety of Free Software programs on it.
But what about having hardware which is either modular-enough or cheap-enough that there is no single component that we can’t easily replace? Well such hardware already exists to a degree, we just need to appreciate it.
That’s why I made Freed Computer, to gather a treasure-trove of knowledge about all the great hardware available that can run Free Software. The philosophy of Freed Computer is to encourage you to use cheap, commonly available hardware that can be easily replaced.
People will always face threats to their freedom, and I think it's good for people to know how to counter that, rather than trying to create an independent ecosystem to get away from it.
Please use and contribute to Freed Computer. The site needs improving and I might add a forum and a better way to post articles at some point. But any contributions made now will be useful, and will show me that it’s worth maintaining and improving.
Another good resource for finding hardware that works with Free Software is H-Node.
One of the biggest threats to our "freedom to destroy" is Intel's monopoly, and the fact that you have to replace the entire motherboard to replace just the CPU. This worries me much more than proprietary CPU microcode and other firmwares.
If you want to get started with Free Software please see my article on my other blog How to use Free Software.
 by "cleaned up" I mean that the proprietary firmwares it ships with are either removed (such as in Linux-libre) or modularised out (such as in Debian). I will use proprietary firmware if I need to but it should at least be seperated out so we know which ones we're using.