The "constant migration to a new best thing" is a big problem. Once written, a program should be able to run forever, but this is only true on Windows for GUIs and on Linux only for some CLIs. Arch just recently dropped the original vi from its repos because "it no longer compiled" with stricter GCC settings, and if you want to run an older GUI, just forget about it. It's hars to blame people for only targeting the Web or Windows when those two will work forever, but on Linux you have to keep up with the endless treadmill of X11 to Wayland, GTK 2 to 3 to 4, Qt 3 to 4 to 5 to 6, pulseaudio to pipewire, etc., and if you miss just one you may as well give up.