You might be thinking of GCC – the current GCC is descended from a fork of GCC (EGCS). RMS agreed to let the forkers take over the official project.
GNU Emacs itself is a fork of Gosling Emacs. The original Emacs was written in TECO, a rather horrendous language. Soon, people started writing Emacs clones in Lisp – Multics Emacs, and some of the Lisp Machine editors. James Gosling wrote the first Emacs for Unix platforms; for an extension language, he invented "Mocklisp", which resembled Lisp on the surface, but lacked its power and generality. GNU Emacs started out as a fork of Gosling Emacs, adding a real Lisp instead of Mocklisp. Gosling made his Emacs freely available under an unclear license, and then sold it to a commercial firm and declared its original free redistribution rescinded. To get away from that legal problem, RMS rewrote all the remaining Gosling Emacs code.
XEmacs failed, because eventually IDEs became a thing on UNIX platforms and that is where we went, to the toolset we were missing, not Emacs.
The argument I and other people are making is that the FSF's goals are being achieved but not by the FSF.
This is not a bad thing, nor a reflection that the FSF is doing it wrong. Indeed it is a sign they are doing it right.
Ultimately all open software exists _because_ of the FSF. They set the marker in the ground, they set the standard the rest if us don't quite live up to. Their role is not to produce all the code, their role is to explain the freedoms well enough so that enough other people believe in some, or all, of those freedoms.
The two main threads of the article are hardware, and emacs.
Depending on how far down the stack you want to go (open microcode in your CPU?) it's generally possible to get hardware open enough for you to do anything you like. Not all hardware is open, sure, but there are enough choices.
Yes there are still closed drivers (ironic given what kicked RMS off in the first place) but careful choices play a role here.
That said, keeping an eye in the hardware, and keeping open hardware in our minds, is an excellent reason for the FSF to exist. Their job is not to win the war, its to make us care about the war at all. We will win it, if we care about it.
Emacs is a very specific example of a program run by a person who has beliefs. He builds that program to conform to those beliefs, not the beliefs of his user base.
In this case he's the printer maker not wanting his printer to work on the new hardware. His goal is not to make "the world's best editor" - his goal us to "make the world's best editor that promotes free software ideals."
Ironically, if you don't like that, you can take his work and built on it however _you_ like. He not only represents the original problem, he presents the ongoing solution.
The Freedoms are explicit. They don't give the user rights over the developer. They give the user rights to add their own work to the equation. Emphasis on work.
The FSF is not fighting the wrong war. They are not fighting at all. They are setting a marker in the ground saying "this is what could be." Our job is to notice, and care.
Free Software is about owning your machine. It's not about being allowed to be installed, or even being easy to install on machines you don't own. It's not about being higher quality. The Free alternative maybe worse, but no one can take it away from you, and it won't spy on you if you don't want it to.
It is not about having free high quality software for everyone to use. That is a lucky consequence of giving people control over their own devices and the things that run on them. Things that enter Free Software never die. They grow, stop growing, then later grow again. They only die if people find something else better, and they always have a chance of rising from the dead. They're public property. Open Source, which is wonderful once you turn it into Free Software, is not immortal. All you have to do is embrace it, extend it, then kill interop, and it is gone.
edit: Open Source starts off as dead code. I can take it, extend it, and obfuscate it tomorrow, and it's mine. If I spend enough on marketing I can make the original look defective. I can make the Open Source version look dangerous and point out its bugs while hiding my own. I can make the vendors only accept the version signed with my key to provide something we decided to call "end-to-end verification."
Doesn't work with GPL software. They have to write their own.
Ubuntu is 96% built on unmodified Debian packages. Ubuntu's successes are Debian's successes.
Debian was never flexible enough of an OS to allow all the customization that Ubuntu needed to do to happen in Debian itself, thus it had to be forked. That to me is a failure, not a success. Forks should always be the absolute last resort, yet are common place with distributions, which creates a terrible situation for the user, has features they might want end up being spread across numerous different distributions.
I chose to use Guix SD because I like that the config is in a real (more general purpose) language, which I then proceeded to learn.
From what I understand (someone that knows Nix can chime in) the Guix CLI is also more parsimonious than the Nix CLI, and not multiple differently named tools. I like the simpler interface this provides.
It is however a bummer that there's no socially-approved way to share packages of non-free software on the official channels (what are the unofficial channels I should know about? Just have been searching Github to find).
They've been working towards this with the (introduced[0] in v2 few years ago) experimental `nix` command that combines the various `nix-*` commands.
[0]: https://nixos.org/manual/nix/stable/release-notes/rl-2.0.htm...
> It is however a bummer that there's no socially-approved way to share packages of non-free software on the official channels
There is https://gitlab.com/nonguix/nonguix
That's one thing I prefer about NixOS, with Nix Flakes you can just turn any old Git repository into a package. No need to be part of any channels or need for the user to setup anything, you can just build and install straight from the upstream source with a single command line if they provide a `flake.nix` file. This automatically resolves a lot of pointless drama about what should or shouldn't be part of the distribution and makes it trivial to distribute patches and workarounds.
I agree that the knee-jerk reaction of many FSF or GNU-adjacent developers to start a "filter" project that takes upstream and removes parts of it is regrettable.
As it is, the RYF market is so small that no vendor is incentivezed by it unless they are part of the movement already themselves.
"More freedom" is a benefit. You're free to judge whether it's a benefit specifically to you, but you can't judge that for others.