Long(er) Term Software
Occasionally I think about the software I use. Why do I get excited about running the latest and greatest? I guess I’m not as immune to fancy marketing as I would like to be. I might have found a cure, though.
How it started
Recently whenever I throw away plastic in our plastic bin (we do separate waste!), I’m shocked to see how much plastic we use. It’s terrible and I am ashamed. It encouraged me to find ways to use less plastic. And reduce waste in general.
Other events led me to Roman Krznaric’s book The Good Ancestor: How to think Long Term in a Short-Term World.
Which made me think about how I could be(come) a better ancestor. And perhaps even a Time Rebel ;-)
I wanted to find out more about the author. So I started looking for podcast interviews with Roman. I came across the (mostly dutch) Plant podcast of Nynke Laverman. In it, she and Lex Bohlmeijer interview twelve scientists, philosophers and artists who inspire her. Also, she strives for and mostly achieves a zero-waste lifestyle. And she describes how she did it.
One of the sticking parts for me is about taking more than giving. And not expecting a reckoning some day.
So … what?
What does all this have to do with this article? For a good part, it’s about mindset. I’m trying to reduce consumerism, waste and the unnecessary in general. Software is a significant part of my life. What happens when you apply the same mindset to software?
Most people use software produced by big corporations. Microsoft, Apple, Adobe and so on. Those mostly produce closed, proprietary products. And are moving their software and your data to their clouds more and more. Meaning those corporations mostly decide what the consumer can do with their software. And for how long. It’s not you deciding what you can do with your data. It’s them deciding what you may and may not do with your data. Oh, and they might as well use your data to their advantage. These corporations exist to make money. They collect your data to exploit it so they can make more money out of it.
It’s not just about the software itself. It’s about the data it produces as well. Your data. The formats these software produce and use are often proprietary. They store your data in closed formats which you can only use with their software.
To quote my favorite band Elbow, “Empires crumble all the time”. If the software disappears, good luck with your data. Think about your photo library, your digital letters, notes, etcetera. Do you even realize what and how much data you have? Which parts of it would you like to preserve? Would you like to use software from a competitor? You’re in luck if you’re able to transfer your data. If so, now two corporations have access to your data.
I’m typing this text in a text editor called GNU/Emacs. Which has been around since 1976. I wasn’t even born yet. I’ve been using Emacs on and off for about 20 years now. It has been mostly consistent in how to use it throughout all this time. I imagine it will still be usable 100 years from now.
The Proprietary world
What would a desktop operating system for the long haul look like? It won’t be Microsofts Windows. Windows grows and changes and gains weight with every release. When Microsoft announced Windows 11 it only worked on CPU’s produced in the last few years. They do things like this all the time. Causing perfectly usable hardware to be thrown with the trash. Such a waste. That’s not the way. Though Apple seemingly supports MacOS for longer, it still doesn’t support hardware from just ten years ago. Apple is also not the way.
The systems Microsoft and Apple produce are closed source, proprietary products. Closed source systems can’t be trusted for long term computing.
The Open Source world
Most known Open Source products include Linux, FreeBSD, OpenBSD and NetBSD.
Those separate the operating system from the software that runs on it. Consumers not only have choices in client software, but in graphical interfaces as well. Which means there is a lot of choice.
The biggest graphical environments are KDE. Both are changing continuously. Growing continuously. Chasing MacOS and Windows in an attempt to compete. Which on one hand excites consumers including myself.
Wouldn’t software be less fragile if it did not change as much? If developers would focus more on fixing existing code? If software contained less lines of code?
With each new release of the GTK or Qt toolkits, large parts of Gnome and KDE have to be rewritten. Just to offer the same functionality.
There are other options like IceWM. It has been around since 1997 and is still actively maintained. But it works with the Xorg graphical protocol only. Most Linux distributions are shifting to Wayland as a replacement for Xorg.
A few thoughts about the BSD’s
If you have used FreeBSD 20 years ago, chances are good you’ll feel right at home with the current version. Same goes for OpenBSD. I did. OpenBSD with its CalmWM Window Manager does have a learning curve. It’s not considered user friendly. But it is consistent. If I were to install OpenBSD 30 years from now, and OpenBSD is still actively deveoped, chances are good it will still work about the same way. So if I learn to use it now I can still work the same way 30 years from now. Wouldn’t that be user friendly? It has a learning curve. Is that so bad if there is great documentation available? What about webbrowsers constantly “needing” new functionalities to support the latest on the web?
A different operating system
A simple operating system with graphical environment integrated. Without choice in graphical environments. With great documentation. Developed around toolkits that last.
Are enough developers and users interested in making this?
Would it be possible to write recipes to achieve the above? Defining criteria that last a long time. When executing, it sets up your system and software according to the criteria. Using the same software when possible. But if not, setting up alternatives the same way as much as possible. Recipes could be made for several operating systems. Imagine having MacOS and OpenBSD setup the same way. It would be possible to make use of existing solutions.
Sounds doable right?
After getting the above out of my head, some words keep floating in my head. Curious to hear what other people think.
- Minimal (but not too minimal, perhaps functional but no excess)
- Low maintenance
- Open Source
- Compromises (just a few)
- User friendly (does it mean having a low learning curve, or being consistent?)
- Timeless design