everything wrong with free software
"obedience breeds foolishness"
other pages: [[why-bsd]] | **update:** [[oliva-ousted]] | *originally posted:* feb 2021
the goal of free software is for all software to be free.
but whats the point of free software, and why is nonfree software a problem?
the default state of a computer operator isnt "user"-- the concept of "user" is similar to the concept of "subject", as in someone who is subjected to rule. at least thats what the concept of user has turned into.
a liberated user would be better known as an "operator", a person who operates a computer. this semantically avoids the developer-user dichotomy that nonfree software prefers to impose. the purpose of this article however is not to convince you to use different semantics, its to clarify what they mean when they say "user" vs. what a "user" would be in a world with only free software. note that stallman refers to facebook users as "useds", rather than users. so one of our goals is to not be a "used".
the reason the default state is "operator" is because computers were originally intended for people trained to do computing as a discipline. jet aircraft are not designed for untrained "users", theyre designed for trained "pilots" only.
theres nothing inherently wrong with the idea of making computers more accessible. but when industry gets hold of the idea, it tends find ways to put themselves in charge of users-- to work at their expense. this is justified with a developer-user dichotomy.
the primary way, even in the context of free software, to attack to the developer-user dichotomy is to remove all nonfree software from the computer. all software that denies your right to freely use, study, share, modify the software is removed, and all the software that remains is software that respects the users rights as equal to a developer.
which isnt to say that users and developers are on equal footing. what makes developers developers is that they have the ability, not only the right, to change the software. they are operators of the computer, but they can change the functionality of the computer they operate. again this is the default state, because computers were designed primarily for people that could use them on that level.
actually, we can quibble about this-- we could go back into history where computers were designed for batch operations and say that "users" were primarily concerned with data rather than programming. in time this gave rise to general purpose computing as well as the developer-user dichotomy, but in the beginning computers were designed for people trained to operate the machine-- even when submitting batch data, the computers were often not directly used by the people submitting data, but by a "priesthood" of operators trained to use the machines.
so i think its more of a quibble to say that "users" in the sense they exist today were the rule, its more realistic to say that computers were originally designed for "trained pilots" or people who understood the machine on a more than casual level.
if we fast forward to the 70s and 80s and the *personal* computer revolution, it becomes even clearer that computers were designed for operators. this was quickly transformed by industry to create the relatively helpless "user" of today, throughout the 80s and 90s you can find articles and advertising that brags you can use the computer without understanding a computer. the notion of a "computer person" vs. a "non-computer person" or operator vs. user comes about with software created for "non-computer" people.
*the difference between a computer person and non-computer person is that the latter has been denied the training* that a computer person has either received or given themselves. we arent talking about a university computer science course, though perhaps we are talking about a "computer science education" in the sense that primary schools offer science or biology education.
there is a notable difference between a university-level science course and the sort of introduction they give to science in primary schools. nobody thinks that a primary-school level course in science is going to prepare the student for a career as a chemist or physicist, the goal of the primary school course is to begin teaching what can be taught.
while a well-designed primary school computer science class would not turn students into professional software developers, what it would do is teach them the basics of what is needed to operate a computer, rather than simply be users.
in other words, if people had a decent primary-school level computer class, students would not be afraid to hook up a computer, install an operating system, install software, or remove software. if you complete a decent primary-school level computer class, you should be able to *create* software.
by the time you leave high school, it should have taught you how to read and write and look things up-- these are basics of literacy. for computers, *connecting the computer cables* (plenty of 5 and 6 year olds can connect a gaming console to a television, this really isnt a different skill) *and installing an os and writing simple code* are basics of computer literacy.
the reason we dont treat these skills as basic computer literacy is that the industry has chosen to sell (and ultimately design) computer software around the idea of the operator not needing those skills. this has certainly driven computer sales, but it has denied literacy to users. ultimately it creates apathy about whether literacy is necessary to the point where people (proudly) exclaim, "im not a computer person". apple even trained people to become "upper class twits" about their lack of computer skills, expressing pride of ownership over the fact that their computer didnt even need an operator that knew what they were doing.
"why yes, my computer is so luxurious, it doesnt even need me to know what im doing!" well, bravo there.
at this point someone is going to say this is elitist-- why should we even have computers that require people to have computer literacy? isnt that denying lots of people the right to use a computer?
the honest answer is no-- we are denying lots of people a basic education, and making them use machines that give the manufacturer too much power over customers. *we are teaching people to read, but we are training them to think the ability to write is unnecessary.* thats a terrible education. and the idea that only a small percentage of people should bother learning to write at all, is far more "elitist" than the idea that *literacy includes writing*.
but the problem with apathy is that it begets more apathy, and at this point *too many people dont even care if they can remove software they dont like*. the fake stallman foundation literally teaches people that if you dont like a program, it doesnt matter whether you can remove it as long as the license allows you to make changes to it. there is no *right to remove* software, even if there should be. when people werent trampling all over that right because software was sufficiently modular, the right wasnt needed. now its something we have to fight for, regardless of whether the need is (or can be) absolute. the right to remove software through reasonable modularity is not a right to or need for absolute modularity-- it is a condemnation of people deliberately attacking that modularity to make the user less free.
whats regressive about the official stance is that users had more power when gnu was well-designed. *software has dependencies*, and that isnt the problem. when you talk about this issue and someone explains that software has dependencies, theyre being condescending and creating a straw man. ive written code for a few decades, much of which was interpreted code. nobody needs to tell me that if you want to run interpreted code, you need an interpreter. its a dependency. ive known that since i was a teen, but its a straw man that has nothing to do with the idea that people should be able to remove software they dont want from their computer.
in the nonfree software world, companies go to great lengths (both through contracts and software design) to create "user lock-in" or "vendor lock-in" (either way, you are talking about users getting locked-in to a vendor or developer) by making it harder to stop using that software. an example of this is microsoft making it so that windows (which used to run on top of dos) didnt work with other types of dos.
you might think "but it isnt microsofts job to make windows work with platforms their competitors offer"-- and to a certain degree thats true, and we can be certain that microsoft made this argument as well. the bigger problem is that microsoft was going out of their way to make windows incompatible-- basically refusing to run even on other systems that were capable of doing so. this tied windows into the purchase of dos, and in those days this was considered an abuse of monopoly.
windows no longer makes a significant amount of money from dos, if any, and indeed they have moved past the point of windows as a separate product. the days of dos + windows are over, but its a very classic example of lock-in.
so its one thing to be incompatible, but another thing entirely to try to tie software together for the sake of removing choices. and theoretically, free software "cant" create lock-in, because you can simply *change the software* so that you have choices again. in this regard, freedom is "bigger" than choice. youre "free" to remove lock-in.
where *free software goes utterly wrong* is by implying that lock-in isnt a problem, due to the license allowing its removal. this is a bit like saying cancer doesnt exist because you can simply remove a tumour. the response youll get to talking about lock-in (even if you call it pseudo-lock-in or simulated lock-in) in the free software movement is that a few people will know exactly the problem youre talking about, while most will deny the problem is possible, let alone exists.
*this is the problem i asked richard stallman to step down over*. and here is what the muckrights community says about it:
*MinceR even RMS doesn't have the same cultural values that RMS had when he kicked this thing off Jan 08 16:03*
*schestowitz he does* Jan 08 16:03
schestowitz *he is pressured* Jan 08 16:03
schestowitz *to conform* Jan 08 16:04
*MinceR he would have started a campaign against systemd if he did* Jan 08 16:04
*Ariadne most likely he has never had to debug systemd and thus does not see the problm* Jan 08 16:04
*schestowitz he knows those issues, MinceR* Jan 08 16:04
*MinceR lol* Jan 08 16:04
schestowitz *but red hat and ibm gave him money* Jan 08 16:04
what i wanted was not for stallman to be punished, or to lose influence (in fact i was against him being ousted, and *warning people* that he would be ousted over dishonest bullshit, even before it happened) but to let free software fight against new threats (without abandoning the old threats, because those still exist-- the new threats add to the old ones).
i wanted the fsf to fight against new ways of *simulating* nonfree software (we can call it "*less free*" software or "*free in license only*" software) or creating lock-in with freely licensed software.
this is a problem the fsf refuses to admit exists-- and without admitting it exists, corporations will (have) take(n) over free software in ways that create real, non-hypothetical problems for users.
yesterday marks the 6th year that a downloadable, installable version of devuan exists. february 14th, 2015 was the date of jaromils pre-alpha of devuan, a distribution designed to remove systemd.
a distro the free software movement hardly understands the purpose of. so lets recap:
1. *free software cant have lock-in because lock-in can be removed*, due to source code + license
2. *devuans goal was to remove that lock-in*, thus lending evidence to the (fallacious) argument that it doesnt exist, because look! its gone!
3. but even when you remove lock-in, thus proving that its not really a problem, nobody gets the point of doing so, because the problem didnt really exist.
this is some seriously fucked-up sophistry at the centre of this movement.
its like saying *there is no point in removing a problem, because it isnt really a problem, because it can be removed!*
but its only a non-problem IF you remove it!
this is why i say the free software movement is dead. but really im exaggerating, because in truth it isnt dead until *everybody* is as stupid as that fallacy im complaining about.
"no, [its] only mostly dead!" -- miracle max (fair enough, max)
when we talk about removing non-free software from distributions, we are talking about *making it easier* to install a system that is completely free-as-in-freedom.
when we talk about adding non-free software to distributions (particularly by default, rather than in an entirely separate repo that isnt enabled until you add it) we are talking about *making it harder* to install a system that is completely free-as-in-freedom.
we are talking about no longer advertising the idea that an entirely-free system is good or worthwhile or usable. we are talking about moving farther from our goal, rather than closer to it.
to be certain, systemd has created years of setback ([[how-free-can-you-be]]) but that was clearly its goal. red hat was already cosy with microsoft and ibm. microsoft and ibm like user lock-in. systemd has made it *much* more difficult, if not next to impossible to use a system without systemd.
and devuan should be moving forwards, rather than backwards in their goal. i dont think devuan is worthwhile, but i think it was at the time. the problem is that systemd won, linux is no longer a viable solution as a kernel, and devuan lost. also devuan is fucked up in a lot of other ways, which is why i dont recommend it to anybody. i recommend bsd instead. but in february or march 2015, i downloaded devuan and started migrating from debian.
was it a step backwards that devuan added non-free software to its installer? yes, but they also downplayed the issue. a fully free devuan has long been discussed, and at one point seemed a real possibility. so devuan had a setback in that regard, but it wasnt always bleak.
however, once again we notice the apathy that was created-- devuan has "settled" on being less free, even though it was created to free the user from lock-in. what a shame. blame centurian dan, he was the one (at least according to what he said in irc years ago) who put his foot down and refused to help devuan unless it had non-free software in the installer.
but really blame devuan for accepting this. non-free software is always a step farther from freedom and a step closer to lock-in. you might think "oh, this driver works better with my video card"-- sure, but now you cant upgrade the kernel until its supported by the non-free driver, or until you ditch the "better" driver. youre becoming less free, and having your computing affected by the vendors of the non-free driver.
in the better world that free software is intended to create, it should be possible for people to remove systemd dependencies, even though its designed to have all sorts of things require it-- or for people to recompile your video driver so you arent tied to an older kernel.
non-free software prevents that choice from being made by you, it puts that choice in the hands of other people. it creates lock-in. maybe the amount of lock-in is very small in practice sometimes, but the more apathy that exists towards it, the more lock-in is ultimately created until you have a *very* non-free system.
and with less-free software, apathy results in a de-facto less free system, until you have a *very* less-free system, as has happened to people who have tolerated systemd.
the moral of the story is that steps backwards are generally bad.
its one thing to accept a setback, to choose a path that has a future over a no through road. when you switch to bsd, youre abandoning the no through road of the linux kernel for the setback of non-free firmware (openbsd does not allow non-free drivers or applications in its base installation). when i switched to devuan, it was abandoning the no through road of systemd for the setback of a very bad decision made on the part of devuan developers.
however, its still a very bad decision to put non-free software in the base installation. its a bad decision to install non-free software at all.
free software is always better, except when its design starts to erode (via similarly bad decisions) into less-free software. systemd is not an init system, it is a weapon designed for use against the free software movement. at least devuan treats it as such.
non-free software, meanwhile, is a weapon designed against user freedom. they are both a problem, and the forward direction for anybody who cares about freedom is both the removal of non-free software, as well as the removal of software that is designed with a *prominent* effect of limiting the power (simulating lock-in) of the user over what software is installed.
this isnt about a base level of dependencies. its about redesigning everything so that additional dependency (artificial lock-in) is created. its about choosing whether to go *primarily forward* (setbacks will happen, freedom is an ongoing process) or to start making choices that can only lead us backwards.
free software is primarily moving backwards, with its apathy towards less-free software. debian is flirting with a terrible decision to go from an installer with only freely licensed software, to setting an awful example for all users of debian-based distributions (except those that now go to the trouble of remastering or building debian without the non-free parts).
in other words, debian developers *would like to make it harder for the user to be free*.
thats the opposite of their mission, and those developers are traitors. but then i would have never bothered with debian in the first place, except for their efforts to remove non-free software from their kernel and their clean separation of non-free software in repos.
and debian already turned traitor to users years ago. that doesnt make it acceptable for them to take users further into the clutches of non-free developers, but it shouldnt surprise people who already knew that debian became apathetic about freedom in 2014.
what do non-free software and less-free software have in common, other than creating real lock-in in practice? (even if *theoretically*, and fallaciously, free software "cant" create lock-in?)
they do nasty things like create bugs that are harder to fix (just remove the buggy soft-- /oh, shit, we cant!/) and add instability, and even spy on users! (nice job mozilla, raspberry spy foundation, etc.).
this isnt about purity, as people say-- its about how close or far we are from our goal. the goal isnt purity, its control over our computing.
debian wants to take us farther from that goal. but then, debian are a bunch of lying, narcissistic assholes.
by the way ron, have you removed debian yet?
will ron put in similar effort towards leaving debian, when they (most likely) add non-free drivers to their installer?
he should have tried to leave debian 6 years ago, when they added systemd.
make no mistake though, this is more about bad decisions by debian developers. its not rons fault that debian makes a "used" of him. its simply the goal of free software to try to liberate the user, and give them tools with which to liberate themselves.
the reason i give ron a harder time about debian than most people, is ron is a hardcore advocate of freedom. we should probably hold ourselves to a bit of a higher standard than everyday users, even if our goal is for all users to be free.
so yeah, ron should probably move farther from debian. but then, so should everybody else-- if they want to use software that cares about freedom. debian stopped caring when they allowed the systemd takeover.
perhaps it was a sign they would stop caring about a free installer. will they, or wont they?
the goal of free software is most certainly for the user to be more free, at the very least. so what primary direction is it moving in? more free? or less? we may not all have exactly the same answer, but hopefully free software will continue to ask this same question.