Software for Linux is a lot more complicated than, say, software for MacOs. Instead of having one simple binary that you update for every version of the operating system, you have hundreds of binaries for many Linux distros, with different package managers, formats, init systems, and even userlands. Many people see this as an issue, and try to use a universal package manager, and then they fight about which universal package manager to use. But, I am here to propose, that not only is the fragmenting of Linux not an issue, universal package managers are unneeded and inefficient.
This is an extremely bad argument. “Universal package managers are complicated” yes, true, “so everyone should build from source” no, that’s harder, and more complicated. Package managers were introduced for a reason, one of which is that it’s almost impossible to reliably uninstall software installed from source, not to mention the yak shaving operation involves when there’s dependencies.
The fundamental problem with binary package managers is that they solve the problem of “every program installed is a global variable that potentially affects the operation of the OS in non-trivial ways” by proposing a solution for globally managing any installed software, which necessarily is slow-moving and complicated.
This is not usually how users see things. Installing a web browser is fundamentally a different type of operation than upgrading the version of python used to run system scripts or replacing the window manager. Those are deep, cross-cutting concerns that affect the system and need to be synchronised.
The version of python I use for writing web applications is not a central concern and shouldn’t be treated as one.
This is an extremely bad argument. “Universal package managers are complicated” yes, true, “so everyone should build from source” no, that’s harder, and more complicated. Package managers were introduced for a reason, one of which is that it’s almost impossible to reliably uninstall software installed from source, not to mention the yak shaving operation involves when there’s dependencies.
The fundamental problem with binary package managers is that they solve the problem of “every program installed is a global variable that potentially affects the operation of the OS in non-trivial ways” by proposing a solution for globally managing any installed software, which necessarily is slow-moving and complicated.
This is not usually how users see things. Installing a web browser is fundamentally a different type of operation than upgrading the version of python used to run system scripts or replacing the window manager. Those are deep, cross-cutting concerns that affect the system and need to be synchronised.
The version of python I use for writing web applications is not a central concern and shouldn’t be treated as one.