“installing a library” should not exist as a concept. A library is either so essential that the OS needs it (and therefore it is already installed), or is not essential enough that each program can have its own copy of the library.
“But I want all my 3 programs that use this random library to be updated at the same time in case a security flaw is found in it!” Is no excuse for the millions of hours wasted looking for missing dependencies or dependencies not available for your system. If that library does have a security vulnerability your package manager should just find your 3 programs that use it and update their copy of the library.
I don’t care about 10KB or even 100KB of disk space per installed program if it saves humanity the collective millions of hours wasted on .dll/.so issues.
If your program needs libcirnfucb to run, it should be in the same directory as your program, and you are responsible for putting it there for me. No other program in my computer needs libcirnfucb, there’s no efficiency gains and now I have to go to some random website from the 90s and find where they put the damn download link and now I have to learn all about how libcirnfucb manages their versions and if I am in the correct webpage, because the project is abandonware that was formed 10 years ago and now it is in another 90s looking website that has a name completely unrelated to libcirnfucb.
“installing a library” should not exist as a concept. A library is either so essential that the OS needs it (and therefore it is already installed), or is not essential enough that each program can have its own copy of the library.
“But I want all my 3 programs that use this random library to be updated at the same time in case a security flaw is found in it!” Is no excuse for the millions of hours wasted looking for missing dependencies or dependencies not available for your system. If that library does have a security vulnerability your package manager should just find your 3 programs that use it and update their copy of the library.
Efficiency out the window…
I don’t care about 10KB or even 100KB of disk space per installed program if it saves humanity the collective millions of hours wasted on .dll/.so issues.
If your program needs libcirnfucb to run, it should be in the same directory as your program, and you are responsible for putting it there for me. No other program in my computer needs libcirnfucb, there’s no efficiency gains and now I have to go to some random website from the 90s and find where they put the damn download link and now I have to learn all about how libcirnfucb manages their versions and if I am in the correct webpage, because the project is abandonware that was formed 10 years ago and now it is in another 90s looking website that has a name completely unrelated to libcirnfucb.
Some care and there are, hence that approach. You might like snap, appimage or that works-on-my-computer-in-a-box thing called docker.
Or GoboLinux.