An article by Troler about Libre Software made me remember an email conversation I had with Richard Stallman the other day. I suggested to have a sort of
freedom ladder analogue, to encourage non-libre software developers to, at least, move closer towards user-freedom. I thought ranking software based on how close they are at achieving user-freedom. How close they are to being Libre. If they have source code published, but no license. This is still better than having no source code published at all. Stallman firmly stood his ground against my idea, claiming that anything less than Libre, anything less than software that grants all
4 essential freedoms to the user, is automatically not good enough. But then in that article by
@Troler I saw something interesting. Maybe merely granting the 4 essential freedoms, might be not good enough, either.
What is the difference between
Gnome and
KDE? Both of them are desktop environments, but they look a little different. But that is not all. If you go into the settings of Gnome, you will see your standard stuff. But going into the settings of KDE... oh boy... you will see that you can customize pretty much everything.
Gnome is technically as customizable as KDE ( on paper ). Both of them are libre software. But customizing Gnome tends to be a rather frustrating experience, compared to KDE, because Gnome was not designed for customization. While KDE was designed with the most customization possible. In KDE you have UI tools, built into the thing, to customize pretty much everything about it. While in Gnome the tools you get with it may give you the option to select between bright and dark mode. And you have to install other software to customize it further, and some things might not even be possible to do ( things that are possible in KDE with simple UI settings ) unless you are willing to make changes to the source code of the damn thing.
Both desktop environments are Libre. Both grant the users the 4 essential freedoms. But one of them goes the extra mile to make those freedoms more easily accessible. So, it is arguable that it is more free as a result.
There is a gradient of freedom-ness on both sides of this line that Richard Stallman holds so firmly. If the software isn't built with customization in mind. If the source code is too big and too monolithic ( like say, the Linux Kernel ), the fact that it grants you freedoms is meaningless. The thing is too complicated and or too large to be meaningfully customized. In a way a good design for a software project, would be a modular, customizable design. Not a spaghetti code noodle, but something where changes are possible to do. And the customization-ability is not impaired much by scaling the project up.
Richard Stallman himself put a lot of effort into early GNU software such as Emacs and GCC in order to make them easily customizable going forward. Emacs, for example, is a wrapper around a Lisp interpreter. And Lisp is the kind of easily readable, easily editable programming language. All of the settings and add-ons for Emacs are done in Lisp. Making the program extremely powerful. In 2026 ( something like 40 years after the start of the project ) Emacs grew into a behemoth. It grew into it's own operating system, with various app-stores and software repositories. And "add-ons" that do everything from email to gaming to social media. While technically speaking Emacs is just a text-editor.
Blender is another good example of software done right. The core of it is built with C++ but there is a full python engine underneath everything enabling for a similar level of customization to Emacs. Python is similar to Lisp when it comes to how easy it is to pick up. And Blender goes out of its way to help new-comers with customization. In Blender's built-in text-editor, you can load sample code for various simple operations, ready to be modified into your personal stuff. The python console within Blender acts as a sort of browser for functions you can use. And there is a window that shows a python function for every single operation you do by hand. And I'm not even talking about the huge selection of add-ons available for blender. And Blender investing a lot of time and energy into making the entire thing also be controllable by nodes - UI elements that can be connected to one another for some truly unique things. Which simplifies customization and in theory will lead to Blender being nearly 100% customizable even without any knowledge of how to code.
So you can image there must be a gradient. There must be a theoretical perfect program: Software so modular and so easy to customize that it is just heavenly. And on the other side of this spectrum you would have the worst of the worst: some proprietary piece of shit monolith with anti-circumvention up its every hole. Somewhere in the middle of the two there is the line of Libre Software. The line that Richard Stallman draws. Software that grants the 4 essential freedoms. But not necessarily software that is designed for be easy to modify.
c:0
Where would you draw the line?
Happy Hacking!!!
3