On the nature of Free software

25 Jul 2023 - Does your synthetic colleague pose a threat to you?

Ash from Alien (1979)

A spaceship silently floats in space. There are eight passengers on board, one of which is a monster, hidden from the others. When the monster kills the first passenger, five remaining crew members try to kill the monster but one tries to secretly keep it alive. This passenger is Ash and he is a Čapek-style robot, programmed to help other passengers fulfill their jobs and duties on board. He is also programmed to do other tasks like protect anything with high value to the company that made him. For example, a specimen of the first alien organism – the monster. Unknown to his crew mates, their lives, sadly, have less value than his secret mission. This is the plot of a 1979 movie Alien. Nowadays, while extraterrestrials are still science fiction, universal machines and evil tech corporations are not.

So how can you know if your computer or Hyperdyne Systems 120-A/2 series robot isn't plotting some evil schemes against you? Simply, look into its source code. Everything a machine can, and will do, is written there. Problem is that overwhelming majority of software has inaccessible source code. This is clever trick programmers use to avoid reading and copying theirs software. (I will not comment on copying the software as it might lead to talks about so called "piracy"[*], which isn't topic I want to explore here.) But when the source code is hidden it also creates situation where you, as a user, might not benefit from the software as much as the author does. Like when same versions of your favorite spreadsheet editor are distributed differently with functionality locked behind a paywall. Or when a manufacturer decides what files you can have on your own device.

Luckily, there are programs with open source code, so the author has less possibilities how to make your life miserable. Open Source programs have their code published publically to be read and edited as you see fit, so you are always able to see what is going on inside the program and change it when you don't like the outcome. Even though there are some traps in open source too, it is great step forward. The problem raises again when advantage is taken of this superior development model by (legally) copying open source program and then closing the source code and circle of unfairness as well. This way, it is likely that next robot which will try to sacrifice you to an alien monster will be based on open source software, with secret directives added after closing the code.

There is a solution, however, it has its own catch 22. Free software - not to be confused with freeware - is basically open source software with license that prevents close-sourcing the program, so once you release your ultimate-japh.pl under free software license, it stays free and every derivative work of it as well. This viral property of free software license is one of the best life hacks world has seen. Most notable free software include, of course, Linux kernel and GNU - the operating system built on it. When you use it, you can be sure that every file on your OS can be used, read, edited and redistribued freely. Now to the catch.

Running exclusively free software is not easy and open source too for that matter. Let's start from the top of the pyramid - with operating system. Not all GNU distribution are created equal. Every distro follows its own ethical vision of what is best for their users and what exactly the "free" part of free software means. You enter the world of firmware, codecs, binary blobs and endless discussions about if they are considered to be free or not. Some claims that these few bytes of code might cause threat to your security. Codecs for example, fall victim to software patents which are incompatible with some free enterprise OS philosophies.

When you go to one level deeper, you hit the non-free Bios wall. With closed source Bios, can you be sure that there are no backdoors built into your main board? You can't, because probably there are. Sure, there is free boot software available, but not for every main board. To be more specific, the number of main boards compatible is lower than number of all of your digits. So in order to be fully in control of your machine, you need to get hardware compatible with this level of user control. This is can be often difficult financially (as with Talos2 mainboadrs) or practically as most of the compatible hardware is often old.

And even if you would run the Tails OS on your 120-A/2 series robot, completely bypassing any hardware catches, you still haven't read the 15 million+ lines of code in your free kernel alone. So as with everything in life, even free software boils down into putting some level of trust to the author. You will have to find the correct ratio of free and every other kind of software to use. It is only natural that this ratio will be different for every individual, but as the line between safety and security gets ever more thinner, I would recommend going through the hassle of learning few new habbits and sticking with free/open tools as much as possible. And in the end, I guess the Ash would too.

Happy ash



* In context of illegal copying of programs, it is hard for me to compare copying of fungible software tools to act of violent theft of non-fungible goods (on the sea). However, I see somewhat relevant use of this comparision in cases of illegal copying of creative works like art. To what one considers to be an art is also for a much longer discussion.

But in general, I consider talks about legality of copying any digital file pretty much irrelevant since the Web was built on the idea of copying, which is on itself pretty weird as the existence of multiple copies of the same file on a network is not a good design.

There were other propositions for how to design "internet-like network" without possibility of copying files on (or through) it, with the most well known example being the Project Xanadu. I wonder why isn't every giant copyright holder investing their endless pits of money into this long abandoned concept when they are so convinced about righteousness of distribution restrictions over the network. (Maybe because it isn't a good idea.)