
In short
the time of shared runtime libraries is dead, again. Now everything has its "special" set of runtime binaries, libraries and configs. How nice that RAM and storage is now so cheap
Red Hat's Fedora project is to add a new variant called Kinoite, an immutable desktop operating system alongside the existing Silverblue, which runs GNOME desktop. The idea behind an immutable operating system is that it is mounted read-only; also, conceptually, it is not patched but rather is replaced when it needs to be …
The thing is...
RAM/storage and bandwidth *are* now so cheap that this becomes a cost that is seen as a reasonable one in the name of security for various environments.
After all HTTPS is only possible because the additional compute and bandwidth is sufficiently cheap for the increased security provided.
My Flatpak apps currently use one shared KDE 5.15 runtime, GNOME 3.22 and 3.20 shared runtimes, and share components like openh264 from the freedesktop 20.08 platform. I could even force GIMP to use Gnome 3.22 to drop to 2.5 runtimes. That's a lot of sharing! Not everything is shared, e.g. I have two apps using the same XML parsing libraries.
I use a couple of bleeding-edge Flatpaks built nightly from git head and the rest are stable builds from Flathub. The ability to easily run newest Flatpak to reproduce a bug without disturbing the rest of your installation is great for both users and developers.
In the days before we had weekly OS updates, it was fairly standard practice for unix admins to mount everything except /var, /home and /tmp as readonly.
You had to switch to single user mode if you wanted to remount them as read-write and update the OS.
Does immutable also mean you can't turn off or remove all the annoying shit they bundle with operating systems these days?