25 Years Ago, an Explanation of How Reducing Free Software to 'Apps' Would Interfere With Freedom Goals
This was back in 2000 (some people heckle, unfairly, the messenger today, even if the message makes good sense and was timely in 2000):
Re: Converting the gcc backend to a library?
- To: gcc at gcc dot gnu dot org
- Subject: Re: Converting the gcc backend to a library?
- From: Richard Stallman <rms at gnu dot org>
- Date: Mon, 17 Jan 2000 19:51:25 -0700 (MST)
- Reply-to: rms at gnu dot org
Companies often try to make software non-free, and some would write non-free add-ons to GCC if we let them. The reason we have free C++ and Objective C support is because the companies which wrote these front ends had no *feasible* way to use them without making them part of GCC, where the GPL required them to be free. It is vital that we preserve this situation.
Anything that makes it easier to use GCC back ends without GCC front ends--or simply brings GCC a big step closer to a form that would make such usage easy--would endanger our leverage for causing new front ends to be free.
Because of this, the GNU Project will in all probability not install such changes, should they be available. This statement reflects a firm conclusion based on a decade of thought.
I ask anyone who would like to make such changes in GCC to please contact me privately. I would like to talk with you about the ideas you are interested in working on, to look at the magnitude of their potential benefits, and consider other possible ways of achieving them. Please think about the importance of future free front ends, as well as the interest of the project you are thinking about.
A GAFAM-centric mob (looking for ways to exploit Free software, turning it into proprietary "apps" without giving anything substantial back) is nitpicking on the very old message above. On the face of it, and looking back 25+ years ago (almost 26 already; notice the month), there's nothing unreasonable about it.
As someone put it 3 hours ago: "Not that strange, as GCC was an effort to a goal of developing an ecosystem of Free (as in speech) software. While FSF had sometimes made allowances for supporting non-Free software (whether non-copyleft open source or proprietary), these were always tactics in support of the longer-term strategy. Much like you might spend marketing funds on customer acquisition in the service of later recurring revenue. As RMS indicated, this strategy had already resulted in the development of C++ front ends for the Free software ecosystem, that would otherwise likely not have come about. At that time the boom in MIT/BSD-licensed open source software predominantly driving Web apps and SaaS in languages like Rust and Javascript was still far away. GCC therefore had very high leverage if you didn't want to be beholden to the Microsoft ecosystem (it's no accident Apple still ships compat drivers for gcc even today) and still ship something with high performance, so why give up that leverage towards your strategic goal for no reason? The Linux developers were more forward-leaning on allowing plugins despite the license risks but even with a great deal of effort they kept running into issues with proprietary software 'abusing' the module APIs and causing them to respond with additional restrictions piled atop that API. So it's not as if it were a completely unreasonable fear on RMS's part."
"Stallman's version of free is free to the end user. He cares more about whether the end user will have access to the source code and means to modify their software to remove any anti-feature, and less about whatever freedoms the developers of said software would want (such as, the freedom to close the source and distribute only binaries)... Ultimately Stallman was against a kind of digital feudalism, where whoever developed software had power over those that didn't," said somebody else 4 hours ago.
A lot of the rest is mindless RMS bashing, based on no actual substance (The Practice of Ritual Defamation) or focus on style/personality rather than the message.
I've used GCC since 2000 (when he wrote that message). Using GCC from the command line isn't hard; if you can develop in C (or C++), then you can handle a simple command with well-documented options and syntactic grammar. Similarly, if you can develop in C (or C++), then you can handle real E-mail and don't need to "suck the Microsoft GitHub teat". A lot of what I do on my laptops is in plain text editors and command line interfaces because it's faster and more expressive.
"Modern" typically means bloat and bloat does not necessarily simplify anything. █
Photo credit: Sonshi Style—an Obscure Way Japanese Programmers Type

