everything wrong with free software
"free as in speech"
*originally posted:* sep 2022
loosely speaking, the free software foundation defines free software as software that you can freely use, study, change and share. the actual definition is more detailed, but these actions (when unfettered) are referred to as the "four freedoms".
the freedom to use the software could be considered a given; but it was added later in response to drm, which reduces the ability to use the software freely.
drm is a bit like ransomware, in that it encrypts files and demands payment to un-encrypt (decrypt) them. the main difference between drm and ransomware is that ransomware is less particular about which files it encrypts-- while drm (usually) only affects files that you legitimately purchased. here is a more detailed comparison:
1. ransomware: often gets on your pc without you deliberately installing it
2. ransomware: encrypts the files on your machine, regardless of who the authors are
3. ransomware: decrypts your files once-- maybe-- if you pay the ransom
4. drm: often gets on your pc without you deliberately installing it
5. drm: encrypts the files before they are copied to your machine, from particular authors-- allegedly on the authors' behalf
6. drm: decrypts your files each time you open them-- either via software on your machine, or via an authentication server that stops decrypting your files if it goes offline
...and if the drm software stops being supported, then it matters less what format the file is in because you wont necessarily be able to open it anyway.
while #6 varies a great deal, in essence this is a way for companies to continue to own and control "your" copy of something even after you legally purchase it.
this puts libraries in jeopardy and flies in the face of first-sale doctrine (which says the copy of something you purchase is yours to do what you want with, even if that doesnt include making or sharing additional copies) but these are not very nice companies-- they really dont care about libraries, or your rights. you shouldnt give them any money.
while it is possible to break drm it is also illegal in some countries (including the usa) and the best way to deal with drm is to simply never buy "products" (or services) that use it. not all publishers use drm-- apple does for many things, netflix does, amazon does for e-books.
if you wanted your computing to be free, the free software foundation had a simple plan for you: download one of their "fully-free distros" and install it on your computer.
this doesnt work anymore, because their distros are no longer fully-free. they will say otherwise; if you want a "fully-free" distro, try hyperbola. or maybe thats not quite ready yet. thats okay, hyperbola is doing important work (and setting a good example for the other fsf-approved distributions).
now, what is this distro/distribution business about? when you have the four freedoms, and you can freely use, study, change and share your software-- this leads to people putting together nice (sometimes theyre nice) collections of software called "distributions". this has been going on since at least the 1990s, and for quite a while it was the best way to get free software.
the best gnu/linux distribution (the word "distro" is shorter) of all time WAS debian, but debian absolutely sucks now: the distro sucks, the software sucks, the people (generally) suck-- debian is a raging galactic suckfest that craps on users and then demands apologies for you complaining about it. but it was so awesome, i was at one point certain we would never need another distro.
when debian was a good distro, users were still allowed to have personal opinions-- now that debian sucks mightily of course, hating it is a thoughtcrime that will get you branded for life, no matter who you used to be.
if youve never used a distro before, dont worry about it-- just think of it like the make and model of a car. until quite recently, basically all cars were internal combustion engines attached to a transmission, wheels, frames and seats.
cars vary wildly, but you would probably know one if you saw it. a similar basic configuration (with parts that do vary a bit) is a theme that runs throughout all distros. what does a distro do? it is an operating system, with a collection of software.
when this chapter was originally written, i was still hoping to migrate away from linux (the kernel) and replace gnu/linux with gnu/bsd. gnu is an operating system, and bsd is an operating system also.
it is even possible to combine most of the gnu operating system with the bsd kernel-- like gnu, bsd has a kernel (gnu had its own kernel, called "hurd") and it has licenses (as gnu has gnu gpl, gnu fdl, etc). if you write a tech blog, please do not confuse (or conflate) kernels and licenses, a kernel is a VERY different thing. though if you manage to get the bsd license running on your cpu, please make it publicly known.
for many people, a few free (as in freedom) applications or a "gnu/linux" distro marked their first step towards free computing. this chapter once invited you to consider taking that step, as it is still "better than windows"-- with the caveat that distros arent what they used to be.
i recommend that people take the next step, and look into hyperbola and/or openbsd. linux is never going to be free, it is only becoming more of a corporate tool (developed by corporate tools) that benefits corporate tools before users. for gnu, it was a wrong turn-- for users, it is a solution far too half-arsed now to be worthy of serious consideration.
of course if all you want to do is replace windows, gnu/linux will still get you partway there. it is increasingly co-opted, decreasingly free, and this chapter will still tell you about what it was like and what distros were. for technical and what seems like political reasons, the bsd community does not tend to fancy the word "distro" as that now implies some people taking an existing os (gnu) and an existing kernel (linux) and packaging those together with other applications, without substantially changing either.
its an odd quibble in my opinion, when the "d" in bsd actually stands for "distribution". all the same, bsd differs from a gnu/linux "distro" in that different flavours (freebsd, netbsd, openbsd) are more like (very arguably, are) completely different operating systems, and this is where the quibble seems to get its legs.
the point of "rebooting" the free software movement would be for the user to be free again. you wont get that with any up-to-date "free software" distribution available now, though hyperbola (now basing itself on openbsd) gets the closest.
in chapter 4, we imagined taking the hard drive out of the computer or simply erasing it. goodbye, windows! au revoir, cortana!
as with gnu/linux, removing your operating system and replacing it with bsd doesnt fix everything-- there are still firmware issues for example, requiring longer-term solutions. you can buy a computer with some of those issues removed, though we are still imagining a computer with a blank (or non-existent) hard drive.
for now, lets continue our thought experiment.
as an interim step, i once recommended downloading tiny core (a gnu/linux distro) and getting the version without x11. x11, or the "x window system" is a free graphical environment, which no matter what some lying idiot german/uk-resident tech blogger tells you, is included with openbsd and even starts without running the "startx" command. dont worry what that means for now (please feel free to look it up) but in a word, it is about "convenience".
one of the nicest things about x11 is that it is in fact, optional. even if it is included by default, you do not have to install it or run it if you dont want to. this is VERY DIFFERENT from it not being included, but some people like to smear openbsd with fud they know isnt true, and some of them are debian fanboys who would rather lie to users (including their own readers) than admit that openbsd is a reasonable alternative to debian now that the latter is utterly corrupted by corporations.
other people will still try to turn gnu/linux into something free again. this is sort of noble, and may produce interesting (even useful) research, but it is a very roundabout way to ultimately not become more free. ive spent years on that pursuit and i cant endorse it as a solution. as research that cant really solve the problems free software has, its still interesting.
i personally used to offer a distro that had a fully-free kernel, but this book is about (among other things) why you wont ultimately want gnu/linux anyway.
chances are, youre just reading this-- you havent gone to the trouble of making your drive bootable, putting a distribution on cd or usb, or running a different os on your computer. that is, unless youve done that before already, prior to reading this.
in the past i would have actually taken you through each step of installation, using the most reliable distro i could find. those days were nice. of freebsd, netbsd and openbsd, not only is openbsd by far the most free (it could be more free, but it is already more free than the other flavours of bsd, except of course for hyperbola) but in my opinion it has the most straightforward installer as well. i used to have trouble with nvidia cards (sometimes) while using trisquel, and now i have trouble with nvidia cards (sometimes) using openbsd instead.
what about my own distro? if i still wanted to promote it, it would be part of this chapter. i will talk about it more later, where its relevant to do so. but if i recommended it to you, i would do that here. instead, i talk about hyperbola and openbsd and wave my hands a lot. because that is pretty much where we are now-- in a sort of limbo for free software where things arent really improving, but they could still get worse.
so you get openbsd (or some similar platform) installed and voila, youre windows-free. with a minimalist distro like the one i recommended a year ago, youre pretty much free of software as well (welcome to the early 1980s). then if we wanted to, we could get a text editor going. we could get a programming language installed. but that is how computing used to be.
what did it look like? you had a black screen, a bit of text, maybe some "ascii art" (typewriter art goes all the way back to actual mechanical typewriters) and most importantly you have a line of text with a dollar sign or hash symbol (regardless of your local currency) and a blinking cursor, to let you know that you can type text in.
you can actually do a lot of stuff from there. maybe youre thinking "but why would i want to?" thats a good question.
from this vantage, you are closer to "pure" computing. not "pure" as in some majestic perfection-- not even as "pure" as it could possibly be. from here, the possibilities are nearly endless. you have a canvas-- the world of modern computing was imagined from modest beginnings like this. what would happen if they stopped making canvases, and you could only buy new paintings from corporations?
you could just install a graphical environment (or use the one that comes optionally, but BY DEFAULT with openbsd) and start adding software. before you know it, youll be asking why this tiny feature isnt identical to this other tiny feature on a completely different system-- the answer is really a simple one:
someone didnt want it to be the same.
what about you, what do you want? a lot of people say "i want something that just works."
thats not very specific though. your robot assistant in the previous chapter just worked, and pretty soon it was sending your personal life off to corporate hq in the post. but you might as well think about what you would prefer.
note that there are literally hundreds of gnu/linux distros, and i put in a lot of work to rate which were the least encumbered by corporate politics-- directly or indirectly. i said that tiny core was easily in the top 30 (out of hundreds) though i didnt rate the distros within the top category (relative to each other, i mean).
in reality, including tiny core in that category was a simple but very important mistake, which stemmed from an unexpected redirect on the tiny core website. and besides this, when i reviewed the research later while looking for the best "live distro" after realising that mistake, not only did tiny core not make the cut, but fewer than 5 distros on distrowatch did.
thats sort of alright, most people put their "live" distros on usb now anyway, and you can probably just install openbsd to a usb instead of a hard drive for your "live" distro. i may have done this with an sdcard a couple years ago.
gnu/linux had gotten to a point where the learning curve was less steep than it is with bsd. at the same time, people who can handle technical tasks with gnu/linux have no reason to wait another year to at least try openbsd. they may find it more ready to serve their needs than they anticipated-- it is far more ready than i anticipated.
windows was also at one point fairly basic to learn; i started on 3.0 then 3.1, ive used 95, 98, 2k, xp, 7, 8, and 10 (but not on my machines, from vista onward i was installing gnu/linux). it was a long time before i moved from 3.1 to 95 and 98, because already they were beginning to make a lot of things ridiculously complicated (the registry for example, was actually introduced in windows 3.1, but i never had to touch the thing or even knew it existed until 95 turned it into the monstrous creature it is today).
while debian becomes more cumbersome and tedious, bsd will gain more of a friendly touch (someone is laughing while they read this, but im mostly serious). since modularity and simplicity are necessary to some flavours of bsd, more than they are to gnu/linux at this point, hopefully this friendly touch will be less invasive, more modular and more optional. a lot of people have a concept of "friendly" that really only complicates things further; other people have a concept of "simplicity" that stands the test of time.
"fully-free" distros were once offered as a "one-stop solution" for free computing, but today it is very clear that being "fully-free" will require that the operator have more control over their computing than most (or likely any) "fully-free" distro can offer, certainly at this time.
thus, when you install openbsd (or even hyperbola) it is only the first (or second, or third) step towards free computing. they really werent kidding about eternal vigilance-- although some of at least is fun.
license: 0-clause bsd
# 2018, 2019, 2020, 2021, 2022
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.