Re: Minimal installation...
You know, I got somewhat curious so I decided to do a little experiment.
For entirely different reasons I found myself needing an Ubuntu machine that booted straight to a browser window - basically for digital signage, but we're going with Ubuntu as the base for a bunch of tedious policy reasons that I won't get into here. Firefox, as downloaded from their own website in deb form, and then installed onto a base version of Ubuntu server with just enough xorg on it that it's possible to target a single GUI application directly at the one running X session, comes out at just about 330M installed. In fact, from apt we see:
Need to get 80.2 MB of archives.
After this operation, 327 MB of additional disk space will be used.
A quick check of how big Firefox is running on my machine as a snap right now
du -sh /snap/firefox/current/
709M /snap/firefox/current/
Further inspection shows 222M of /snap/firefox/current/usr/share/hunspell
which is a spellchecking library that's been included as part of the Firefox snap. I actually already have that installed on my machine in /usr/share/hunspell where it's taking up a grand total of 800K because I have only the single dictionary installed, seeing as I only really speak English. The Firefox snap has decided to include 138 others just in case I need them.
I'm sure that Firefox is far from the only example of this sort of thing so I don't want anyone to take this as me explicitly calling out Mozilla, but this pretty much encapsulates my problem with snap packages. I can't get rid of those dictionaries. They're utterly useless to me, but because they're pushed in as part of a larger package I'm stuck with them and even the one dictionary I do use is a useless duplication of one that's already in my systems /usr/share. 221M of wasted space right there.
Sure, the snap itself is a squashfs so it doesn't take up all that space on disk when it's not running, but in a way that's worse because now it has to waste cpu and memory duplicating things I don't need as well as disk space.
Every thing that's packaged in this way is going to be duplicating libraries and other shared-only-now-they-arent-shared type files to one extent or another. That sort of thing seriously adds up over time.