everything wrong with free software
"obedience breeds foolishness"
*originally posted:* aug 2021
gnew was originally just an idea, it was intended to highlight a number of problems relevant to free software in hopes of seeing those problems improve.
this doesnt mean that i never intended for gnew to become a real thing, but i wasnt counting on it.
i hoped to inspire people to salvage the gnu project. while i still hope that people will salvage the gnu project, i dont think thats likely to happen either. this is no fault of the people working on gnew. the main purpose of this article is to explain how and why gnew distances itself from the gnu project.
i used to think (and still do, actually) that gnu should keep track of threats to the gnu project. this has long been an interest of mine, and it includes efforts to supercede or rewrite gnu-- such as magenta, or projects to redo coreutils in rust. linux itself is an effort to (somewhat fraudulently, and certainly dishonestly) supercede the gnu project-- by pretending that gnu is PART of linux, and not a separate (even larger) thing.
i think people underestimate the success of such undermining efforts. and what is success? its the fact that as they continue to undermine gnu, MOST people do not speak out against it.
=> boxer-syndrome.html boxer-syndrome
we all know its bullshit when someone says that gnu bash is "linux", but red hat (which most people do not boycott...) and the linux foundation (and most people do not boycott linux either) continue to say that gnu is linux-- even when they DONT mean "the [entire] operating system" as they used to but individual tools that are indisputably part of gnu!
heres how this bullshit used to work:
gnu + linux (when combined) = "linux"
and heres how it works now:
linux = "linux"
parts of gnu (which dont even need linux) = "linux"
im not saying this is entirely new, but this is the direction the fraud and co-opting have taken. on top of this you have gnu.fools, and sadly what ive seen again and again from the supposed defenders at the fsf (even within the gnu project proper) is people treating EACH INDIVIDUAL coup and bullshit SEPARATELY, rather than part of a larger effort to destroy gnu.
separately, there are lots of little problems that they all wave away as unimportant. when you put them together, gnu is completely doomed.
no, im not being dramatic (i realise many people will think im exaggerating here) i am saying that gnu has steadily eroded for 5-10 years (arguably more, it depends where you draw the line) and its barely 38 years old.
for 75% of its existence AT MOST, gnu has improved. it has actually gone BACKWARDS the rest of the time.
and what do i mean when i say gnu is going backwards? i mean it is more controlled, less freedom-creating, this isnt about marketshare but about what gnu really means.
to save the IMAGE (at the cost of the mission) of gnu, people defending its progress have rated it solely on whether the code is freely licensed. since only freely-licensed code is allowed in gnu in the first place, it is a meaningless metric for freedom: a circular argument where gnu is free because its freely licensed. if you dispute this, they defend it: "it is freely licensed".
and yet the real purpose of the license (not just per my own opinion, but the purpose of free software per the fsf and the gnu project and certainly stallman himself) is to give the user control of their computing. this has shifted towards any freely-licensed software being synonymous (it isnt) with the user having control of their computing.
here is why thats a fraud: practically any way around the license, which puts monopolies in a greater level of control than they were before, is waved away as not really having more control "because the software is under a free license". its an argument-terminating mantra that most free software advocates dispute any claims of freedom erosion with, but it is a mantra that denies both reality and the actual mission of free software-- where the license is but an important tool in service of that mission.
not everyone is fooled by this, and it is not only (as some dismiss) "open source" or gnu.fools that cry out against this.
in fact, i used to be a little more pessimistic. my own hope for gnew is not for it to be the only game in town, nor was gnu ever meant to be the only example of free software. the goal of free software is for all software to be free, but it is dangerous to focus too much on the license alone and ignore the fact that the user (and gnu developers) need to be in control of their computing.
if they didnt push things in this direction, corporations with a well-known plan to disrupt (and exploit) free software altogether certainly noticed this change in focus, and the theme of the past several years is to act like gnu is theirs, not belonging to the gnu project itself.
the theme of the past year undoubtedly is a theme of people who came on board to gnu (or free software) as contributors, who now insist on trying to pull away AND TAKE THEIR WORK WITH THEM (as well as any part of gnu attached to their work). this is something that ibm gcc (i really hate to call it that, what you should hate is how close to reality that name is) and gnu.fools have in common: they added substantially to gnu, now they want to claim gnu as their own.
this is nothing more than eee, but people do not recognise the fact that eee has indeed been adapted to free software itself. what the gnu.fools have done is embraced gnu, extended it (with guile, guix and other contributions) and now they are trying to pull it away with them. this is no different than what microsoft has always done to competitors.
what im not suggesting is that this was (always) part of a plan, at least on the local level. adapting eee to free software is PRECISELY what the halloween documents were all about. microsoft had done eee on competitors as a business plan (from the very first product to every major release since the 1980s) and free software is at best, more resistant to such tactics. it is a fallacy (of wishful thinking) to say that free software is immune to eee; it is immune in theory, but if its happening right now people insist on theory and ignore what happens in practice.
in science, if a reasonable assessment of facts, findings and events do not support your theory, you challenge that theory and try to adapt (or discard) it for a theory that takes the new findings and facts into account.
in free software (broadly), if a reasonable assessment of facts, findings and events do not support the popular theory, the facts and findings are thrown out on the grounds that "WITH FREE SOFTWARE, THAT IS IMPOSSIBLE!"
no, it isnt. and this perpetual hubris is steadily destroying gnu. i think at this point its fair to say that it will destroy gnu, but i would be extremely pleased to see gnu salvaged (it wont be by gnu.fools, they are one of the worst examples of the problem, not the solution) and to be proven wrong in PRACTICE, not just by conflating theory with reality.
you could say that this article is light on facts. theres a reason for this: this article is not here to present all the facts that ive presented over the years to show the problems that gnu faces (APART from funding and hosting, which are relevant but get so much attention to the exclusion of bigger problems-- of course i still agree with tom that decentralised hosting would be a great boon to free software, it simply isnt one of the points im trying to make here which are also important).
the point of this article is that no amount of facts (or context) ever impresses these people anyway, who cling to a self-serving theory (of what amounts to purported invincibility) and ignore reality. if years of talking about solid facts simply gets waved away as irrelevant, then its time to talk about the fact that nobody is impressed with (nor at all interested in) the reality of the sitution.
i can say this, because from time to time i talk to people like stallman (not much) or other people close to him or even people from gnu, and i continue to find this attitude towards the future-- if we just work hard, we cant lose, it doesnt matter how much we are co-opted by corporations, gnu is freely-licensed.
these are not stupid people. but even highly-intelligent people are stupid about something. this should be read as: every single person on earth, is stupid about SOMETHING.
and the free software movement is getting stupid about freedom as it places what seems to be unlimited faith in the gpl. nothing can co-opt software under the gpl! nothing can co-opt software under the gpl!
they dont (usually) come out and say it that way, but when you talk about threats to freedom they say that the software is under the gpl, or they just say "i dont think thats true" (no matter what you tell them).
its possible of course, that im wrong about every single problem ive ever perceived for the future of free software. stallman himself, is a self-proclaimed pessimist-- which naturally leads me to be suspicious when he seems unconcerned about 90% of the modern threats to free software, but i honestly think he is just tired of offending people even when hes right about something and its important... unless of course its something more sinister, or even a combination.
muckrights disputes the fact that stallman ignores 90% of modern threats to free software (not including ones that are well-established and therefore not really "modern" threats but classic, albeit still relevant ones) by saying more or less: "THATS NOT TRUE! here are 10% of modern threats hes aware of to prove that youre wrong about the other 90%..."
but this is about gnu and its future, not its creator. please note that im still in favour of stallman being in charge of gnu, i dont think anyone is more qualified-- even the chief gnewsance outlines a very different plan than one which would serve gnu directly, as the mission of gnu is more important and gnu is so difficult to salvage at this point that it is unrealistic to think it will happen. i am still in favour of stallman being in charge of gnu, i also still believe it is his right.
this idea of wresting a project out of the hands of its creator (im very pro-forking, much more than free software advocates are on average who lean so heavily on the free license but seem ruled by the fear of someone actually using that freedom to fork anything) is alien to me, like someone who stays as a guest in your house for a year and decides "you know, i take better care of this house than you do, i think you should get out and let me keep it, and go find your own home." its a very corporate mindset altogether. and i realise that people make the argument that its for some higher good-- like big corporations never greenwash, pinkwash, etc. but i still call bullshit here.
another thing that people need to understand is that gnew is moving farther from gnu with or without me. this isnt really said in protest, but my own plans WERE more conservative, whether you believe it or not. i wanted gpl3, the chief gnewsance calls for agpl. i didnt think it was a bad idea, but i still accepted it (initially) under protest that gpl3 is sufficient and more compatible with gnu. but guess what?
it turns out, the agpl is closer to what the gpl was going to be. i only know this because of the gnew project. google lobbied against the affero clause, and whether or not this is the real reason agpl is separate, i find that fascinating. i also note that a lot of people have supported and chosen the agpl, so this isnt just trying to champion a license nobody wants. i appreciate the wisdom of the chief gnewsance in this decision-- but it is still a less conservative choice than what i had originally proposed.
similarly, both the chief gnewsance and another operator/advocate have development plans that are more radical than anything i imagined. but i like the logic behind these plans, they are simply (once again) less conservative than anything i had originally proposed.
it seems (and this is just generalising, it may or may not be an accurate assessment) that anybody with a serious interest in gnew has a less conservative vision of it than i had. and im alright with this, i feel im doing my part by occasionally saying things like "are you sure?" but i really dont blame them at all. theyre doing what they think is necessary, or best, or what theyre most interested in (but it may indeed be necessary). i dont get the feeling this is for shits and giggles either. this is how they believe gnu will be salvaged. im watching this with interest.
i will continue to make the occasional proposal that is more conservative in nature, but i have called more than once for the deprecation of projects that do not serve the mission of gnu (to make the user free in their computing). and while i think i am one of the more conservative voices (yeah, i know, its not usually where i stand with regards to free software but it seems to be where i stand with regards to gnew) among gnew advocates, this article is mostly about where i agree with the direction gnew is taking away from gnu itself and the plans i had imagined to begin with.
muckrights of course, has taken to criticising "primitivism" and i have addresed this here:
=> more-with-less-vs-less-is-more.html more-with-less-vs-less-is-more
muckrights "advocacy" is driven by a pathological lack of introspection and self-interrogation. it is in this complete unwillingness to look for total contradiction (the truth is nuanced yes, but with bullshit "anything goes") to talk about "primitivism" when what people are trying to do is address cracks in the foundation of a movement, and replace it with something hopefully more solid and reliable. if muckrights talked about the construction of a house this way, they would laugh and mock it saying, "who wants to live on a big concrete slab?"
roy STILL (this week) lies and insinuates that you need startx to run x in openbsd. at this point its probably a lie, because he doesnt ignore what i do and ive written articles about it and mentioned it again and again. roy tells the pettiest lies in favour of debibm and against openbsd, which is too bad because BOTH are the basis of fully-free fsf-approved software distributions. but he cares more about debibm than freedom because hes mostly out to get people to use (and support) what he uses himself. which i would have less problem with if he were honest in his assessments.
whats funny about attacking goals for a more solid foundation as "primitivism" apart from the fact that its a straw man in the first place, is that its a roundabout way of saying "newer is better". muckrights acknowledges that "newer is better" is a fallacy all its own, but if it can say essentially the same fallacy in words far enough for most people not to recognise it as the same fallacy, then said fallacy will be used to attack whatever muckrights disapproves of. i honestly think thats hilarious.
as a quick rehash of my gnu deprecation article:
=> projects-gnu-should-deprecate.html projects-gnu-should-deprecate
i will say this:
* gnu nano is both traitorous and completely unnecessary to the success of gnu or free software
* the entire gnu project (more or less) requires microsoft perl and microsoft python (move it to pypy and/or haskell) to compile the software
* hurd is traitorous and wasted ballast that gnu would do better to drop for its own good
* bash is far too complex to be as useful long-term as something simpler, and may not be (but will likely become, and already acts a bit like) an npi, which is something gnew stands against (nebulous programming interfaces)
* guile is going to do exactly the same thing to lisp that gnu drew a line in the sand about so many years ago, and is a threat to gnu but of course they will never treat it as one
most people dont know how much i hate the idea of deprecation in general. but eee is a vehicle for creating premature deprecation, and these are projects (just examples among many) where the mission of gnu is at stake.
in my article, i point out that some of these things could be forked and replaced with more stable versions-- indeed i said the best replacement of bash FOR GNU (but not for gnew) is a simpler, more stable version of bash.
bash is one of the few gnu projects ive actually compiled, and i should really try compiling ksh to see if its dramatically different.
its not the main premise of my argument or anything, but one thing that has happened to "gentrify" gnu is the move from people compiling their own software to it only being TECHNICALLY possible (read: increasingly impractical) to compile from source.
the gentrification of gnu and the corporatisation of gnu are basically the same thing in my opinion, but you can probably make the argument that each of these includes many or most of the aspects of the other.
and as with all gentrification, more people get shut out. for all this (very superficial and cynical, and corporate) talk of "inclusion" in free software, much of which is a scam to make corporate participation (corruption, bribes) look necessary, if not better-- we continue to raise the requirements of participation, making everything at once more dependent on the "good will" (there is absolutely none of it, this is pandering and exploitation and co-opting, very simply) of corporate sponsors.
but more to the point, it means that you will need to get on board ibm/microsofts hardware upgrade train for gnu, while lighter-weight and more modular software can compile on practically (or at least, relatively) anything.
i see a decision that gnu made long ago, which stole from the future to serve what was once the present: gnu takes software that it needs (the design at the very least) and it extends it, to compete. you start with the features of korn shell, but to make it more attractive you add to it until its bash.
if it had stopped there, it might work (im not sure, but im trying to be fair). bash instead continues to add until it has SOME of the same problems as mozilla-- i use bash as an example because of my famliarity, and also BECAUSE it is a difficult argument to make-- most people perceive bash as being stable and reasonably sized. thats because they compare it to much larger projects, instead of comparing it to reasonable examples of command shells that serve a similar usage. if youre going to talk about bloat in meaningful terms, you need to first account for the weight class a program is intended to be part of.
if you can compile mozilla (though you cant do so reasonably) then surely, you can compile bash (indeed i have). though if every project took that attitude, the gnu project would be (read: is) several times its ideal weight. i am somewhat overstating the issue of bloat here, as it is only one problem among many for the future of gnu. but it is still one that most people dont consider, and it is an easy issue to understand.
making free software harder and harder to compile is bad for free software. i stress that its not the biggest issue we have, though its something being talked about so much that it would be absurd not to comment on it. with mozilla, the problem is very plain to see. for something like bash, you have to consider bash not as an invidual project but as the gnu project; as part of an operating system (which was its goal, as well as what it claims to be-- gnu is an operating system).
you may think that making bash increasingly a bother to compile is negligible. but again, bash is part of gnu-- making gnu as a whole thing increasingly a bother to compile is a problem when you consider the real scale of it, not the scale as seen from treating bash as a separate program.
this is bad for the future of gnu, because the fewer people who can practically compile it, the fewer the people who will bother to contribute. i think this is a fact, but its the sort of fact where people are quick to find reasons its not really true. and theyre right that some things mitigate it. whether theyre right that this is insignificant, or not a fact-- i dont agree. i think once again, they are leaning on theory and ignoring reality.
of course another common fallacy is to think of bloat in "last mile" effects like filesize and download time. while these metrics are relevant, the last thing people seem to consider about bloat is the complexity of a project in terms of a project being sustainable.
of course this is downplayed-- open source co-opted most advocacy with the trade press, constantly insinuating corporate principles into the discussion of free software. and one of the "values" of corporate design is that the sustainability of a project doesnt matter-- if anything, stability and long-term sustainability is a NEGATIVE that means people will stop getting new versions of software. a project that lasts 5 or 10 years is "better" for the bottom line, and a project that you can rely on for 20 years is a nightmare for a business that wants to either:
1. sell copies for profit (this is the only part free software USUALLY considers as a goal of non-free software in this discussion)
2. control the market with lock-in (related to, but a disctinct issue from #1)
its not news at all that microsoft (and anyone that wants their cooperation, or their level of control or success in co-opting what free software is about) wants lock-in to apply to free software. the best way to do this is to start adding features and deprecating what people rely on-- i said i hate deprecation, and i do, as part of the cycle of npis. but the whole idea (imo, as i didnt introduce the idea) when something reliable is co-opted and turned into an npi, you ARE better off replacing (deprecating) the npi with something simpler and more determined to be stable.
the npi itself is a vehicle of deprecation. deprecating things that are designed to deprecate and co-opt are the sole sort of thing im eager to deprecate (more realistically, things that are harmful to security are another exception, though this is often an excuse based on half-truths and it needs to be said that i only support it when its honest. im not sure gopher support in mozilla or floppy disk support in linux really needed to be axed, but security was the excuse given).
the npi is a yoke on the user, designed to pull them away from controlling their computing and move them towards the choices of vendors and corporate (less freedom-respecting) developers. if anything is more insidious than bribery and marketing, its this.
so when i talk about bloat, im NOT just talking about filesize (which is still relevant) or download time (which is still relevant) but im talking about:
1. complexity (for contributing-- linus cant even fork linux now, its too complex and he doesnt understand it)
2. forkability (this is surely an issue for freedom)
3. compile time (more compile time = fewer people compiling = fewer people contributing... this is a simplification and not the whole story, but i dont think its untrue)
4. and ultimately: sustainability,
when you think of "download time" and "filesize" on the disk of a user as the sole effects of bloat, why do people not think "this is going to make it harder for us to maintain a server, we are increasingly likely to need help with that, this will raise the total cost of not outsourcing various aspects of our project?
again, corporations love for people to not ask these questions, it means they will own (control) more of our work later on.
it means they will control more of our computing later on.
and i have explained before how to look at the future-- you take the past, and you look at the trajectory and the things tangential to any changes over time. people do this routinely, but they dont tend to apply it to big picture stuff-- there are other people who do that, and its not a core value of society to think that way.
most free software advocates dont think that way most of the time, except when their leader tells them to do so. so they think about the future of free software in whatever terms he states (i know because i listen to them, and it strays roughly never on average, in scope from whatever he says himself-- there are some occasional exceptions) but in terms of the big picture they really dont. they think in terms laid out for them. that too is a threat to the future of the gnu project.
i realise that my (relatively) conservative outlook on how to make gnew into a real thing may not be sufficient, for gnew to achieve its goals for freedom. i have outlined and hinted at some of the reasons why in this article. but since i havent done much to tie this all together, ill try to do that now.
its not enough for gnu to be free, the user has to be free.
its not enough for a project to be under a free license (it was nice to ever think so) but it has to be forkable.
when forkability is threatened, projects get taken over by corporations who steer projects further away from the mission of gnu.
both bloat and corporate sponsors threaten forkability, stability, sustainability, cost of running a project, and autonomy.
and i think that just maybe, some of the people working to steer gnew towards its future see reasons that my more conservative idea of gnew may not be quite enough to get away from these problems.
or at least, for them to help they need to do things a bit more differently.
so far, some of their choices and ideas seemed acceptable at first, but a bit more radical than what i imagined.
but then, later on some of their ideas made even more sense than they did at first.
this is written in support of those going above and beyond, towards software that lets the user control their own computing.
it may take more than the minor reforms, which have superceded the revolution that gnu led many years ago.
rather, it will certainly take more than any minor reforms that the fsf or gnu make to sustain the gnu project.
for gnew, my efforts to hold back those who explore new frontiers of freedom are token efforts to bring a bit of unification to the concept. something to act as a glue to help hold it together.
i have stated before and still believe, that an overabundance of unity is a problem. we should be united for freedom, for the user, but science is an exploration of frontiers-- if your science goes in a circle, and never expands or questions the distance between theory and practice, then perhaps it is not science, but dogma.
i think gnu has decided to stop venturing towards a frontier. it is overly tempted by the upper echelons of corporation and control, and the many tired and empty promises of corporate sponsors-- including that one where they say "we dont want to tell you what to do, we just want you working WITH us!" (oh gee, ibm-- that sounds great! oh thank you microsoft github, you are so very generous!)
i am well aware of the fact that many, many people who appreciate gnu will either think, or be told that im saying this just to trash a good project. at best, they will assume good faith and swear this is nonsense.
im used to that.
what im less used to (and very much welcome) is the new situation, where gradually people are beginning to tell me things ive said for a while, and they dont even stop there but they go further. im really not saying this to take credit for it (i am willing to accept a very small part) im saying this as a positive assessment of a trend. i think people assume i am just negative, but i like think that (at the very least) im more negative about things that are very bad.
where i hoped to inspire this, i now look to encourage it. i never intended to lead the gnew project. i didnt want to, nor did i think i was the best person for the job. that hasnt changed, and i have no intention of making gnew into something that is dependent on me. as with freedom itself however, it will always depend on people.
i want the user (operator) to be free. i too want to be free. and i comment on gnew (not only in my capacity with regards to the project, but also as someone with a great deal of interest in the project) for precisely the same reason i comment on gnu: because i care about its future. but even more than that, i want everyone in control of their own computing.
those who are not in control of their computing are having too much taken away, from privacy, to money, to the right to communicate electronically. it was stallman who created this movement, looking ahead to a future where computing and freedom ITSELF were more intertwined as issues. stallmanwasright about that, among many other things.
as right as he was, we cant afford to have our flagship operating system co-opted and turned into a luxury cruise for sponsors, or simply cheap labour for the next generation of windows. and at this point it takes more than a license (no matter how important or helpful that license is) to prevent that. it takes a serious, relatively scientific, less self-assured assessment of what baseline of freedom really gives the user control of their computing-- and indeed what compromises led to a situation where gnu is (still, and increasingly) controlled by the same two major corporations that took over computing as a joint monopoly in the same decade that gnu and the fsf were founded.
the situation is far too ridiculous now, for people to have no interest in fleeing (or at least, running) towards a better situation.
some will be content with dogma and hubris. others, and i have complained literally for years that nobody was bothering-- but i can say that others are NOW clearly and increasingly interested in moving free software FORWARD, instead of continuing this backwards trend away from freedom and (relative) autonomy.
i want it to be clear that im happy with these developments. but quite relevant is a stallman quote about having little desire to spend time on past achievements, and moving forwards towards freedom.
it needs to be said that gnu is a past achievement-- its not that we dont need something like gnu, we need a flagship for free software now more than ever before. and if gnu were winning the war, we would not need a new flagship.
not every such vessel is decommissioned entirely, at least all at once. gnu marks the important beginning of a major shift in computing, one of the most important shifts in the 20th century. our goal should be to win the war against non-free software, and that requires that the user be free.
this also requires that people understand, that gnu is losing that war right now. muckrights will always paint things like debians treachery against everyone who ever supported debian (myself included) as "ibm" instead, it will paint the treachery of gnome against users, against stallman and against freedom as "gnome foundation" because the foundation is a major part of that. it will do the same for linux. it will paint attacks on gnu as attacks on something outside it, pretending that gnu is unscathed for as long as it can get away with such a narrative-- right down to denying (disputing and misrepresenting facts) and downplaying research that tracks the drift of gnu towards microsoft github (which itself is only another example of a broader problem, though i do think it is particularly egregious).
these foundations are not improving, they are falling apart. and the movement is beginning to realise, that it doesnt have to crumble like the foundations do. foundations can be rebuilt. ignoring the cracks and the dangers is not the path to freedom, but the path to destruction.
as muckrights says, "we move on". the difference is, we arent bullshitting. this is what we really care about, and "we" have no interest in sitting on our thumbs about this. eternal vigilance is the name of the game, and freedom is the prize we seek.
the goal here is not to abandon per se, its to hold on to what matters most. while some make excuses, others will come to understand this, and even act on it! thats what i call real progress. lets continue.