> Why does software installed by a user puts stuff where it will be seen by all users?
Because the software package has its install paths predetermined. But other distribution methods absolutely are available. Flatpak works much more like what you're accustomed to; you can supply --user at the command line. Of course, this also means you get the bloat you're accustomed to; it still tries to share dependencies, but it's much harder in that world.
Also, because it is a good thing to think twice before installing any software.
> When I'm not installing "for all users" UAC isn't there, right?
Yes, and you can correspondingly put an Appimage in ~/.local/bin (or anywhere, if you don't care about having it on your PATH) without sudo, or run flatpak install --user without sudo.
> For the purposes of installing software Linux is a single-user OS masquerading as multi-user.
I am the only actual person who uses my system, but I made 7 user accounts (so far) and use at least 2 of them regularly. To say nothing of all the non-privileged users the system creates automatically, specifically so that certain background processes can run without violating privacy or corrupting anything important if they go haywire.
> Because the software package has its install paths predetermined
That really doesn't explain why this still is the case for the vast majority of distributions in 2025.
Or why these "predetermined paths" could not be transparently provided to the package and actually lead wherever.
> Flatpak works much more like what you're accustomed to
It's not "what I'm accustomed to". It's how it's supposed to work.
I, the user, am installing some software for me, myself, the user. I am not installing it for all users of the system. And that is the primary case for installing almost anything, especially in a user-facing system.
And yet...
> I am the only actual person who uses my system, but I made 7 user accounts (so far) and use at least 2 of them regularly. To say nothing of all the non-privileged users the system creates automatically
And... this somehow makes any of my points invalid?
> specifically so that certain background processes can run without violating privacy or corrupting anything important if they go haywire.
What does this have to do with a user installing software? Literally nothing. Besides implying that Linux is a single-user system masquerading as multi-user. Where the simple act of installing user software for a user can apparently break the entire system because it's always installed for all users.
Because the software package has its install paths predetermined. But other distribution methods absolutely are available. Flatpak works much more like what you're accustomed to; you can supply --user at the command line. Of course, this also means you get the bloat you're accustomed to; it still tries to share dependencies, but it's much harder in that world.
Also, because it is a good thing to think twice before installing any software.
> When I'm not installing "for all users" UAC isn't there, right?
Yes, and you can correspondingly put an Appimage in ~/.local/bin (or anywhere, if you don't care about having it on your PATH) without sudo, or run flatpak install --user without sudo.
> For the purposes of installing software Linux is a single-user OS masquerading as multi-user.
I am the only actual person who uses my system, but I made 7 user accounts (so far) and use at least 2 of them regularly. To say nothing of all the non-privileged users the system creates automatically, specifically so that certain background processes can run without violating privacy or corrupting anything important if they go haywire.