> you can't opt out of apt without changing distros
Yes, however apt/dnf/emerge/etc. are main package managers of the systems. They don't slowly overtake packages you use or the repositories of other distributions do not quietly offload package installations to other package managers (e.g.: apt install firefox triggers snap installation in Ubuntu. This is malicious behavior). Brew, flatpak, etc. live alongside your default package manager peacefully.
> systemd without changing distros.
I'm not a fan of systemd, and let's leave it there. We're talking about package managers.
> Like every distro "forces" its design decisions on you.
True in a sense, but none of the distributions have forced their semi-closed source metastasizing package manager on me mid-flight ever, except Ubuntu.
As I said in my previous comment, snap has two problems: closed backend, metastasizing silently, pulling the rug silently under me. Both are not problems of Snap, but how it's pushed on users.
> I get the repo thing, kind of. I mean i don't understand it being a showstopper but i do think it's valid criticism.
Simply put, I have principles. It's important for me to able to host a piece of infrastructure end to end if it comes to that. Snap doesn't allow me that, hence it's Canonical bound. This is not acceptable for me, period.
Before you ask, yes I can compile a Linux distribution end-to-end if it comes to that. I used to build a Debian derivative distribution.
> The rest, though, is just distro maintainers doing what they do: making design decisions.
In this case, Canonical the corporation is building a closed, revenue generating system for themselves. This is not an "engineering process for the sake of better Linux package management". Companies can pay Canonical to have storefronts on Snap store. It's a commercial product, like Ubuntu Landscape. Make no mistakes there.
> I just can't understand caring about how the maintainers choose to package the packages they maintain
Not everyone are emotionless about how and where they put their packages. Communities and how users and developers are treated matter a lot. Packaging a software is not a mere engineering decision, but deciding to interface with a community and communicate with these people.
> It's not being "forced" on me any more than their choices to use AppArmor or systemd or whatever other base system components.
Don't forget your apt package might become a snap tomorrow, without your knowledge with an apt upgrade. I mean, snap is not forced in any way. It just eats package you have. If it doesn't bother you, more power to you.
> other than being easy to make
You can build a binary, lintian-clean .deb package in 5 minutes flat. Been there, done that.
> that unlike flatpak, they can bundle CLI apps.
I beg your pardon: https://flathub.org/en/apps/io.neovim.nvim
> What alternative is there for a portable, contained CLI package on Linux? You just use docker for everything?
Besides Flatpak, you can use Brew and AppImage at least. If you need something fully contained but not Docker, you can use Podman or Apptainer. It runs as a user, compatible with Docker if you need, is free, fast and lightweight. We use rootless containers on our systems where more than a couple of hundred users login at the same time. Nobody leaks anything to other users, and they are very lightweight.