Installing from the Ubuntu Archive with apt-get means you get the version that was released with that version of the OS, say Ubuntu 16.10, sometimes with minor updates. With Snaps you get the version that the software developer pushes to you which could be their latest stable software released just yesterday (there is a concept of Snap channels that open up things like beta/candidate/daily builds e.t.c. but that is another topic).
Snaps can also update themselves, allow dependency bundling, are confined in sandboxes e.t.c. but for a user, it means you get very fresh software on your device. You can read more about them at https://snapcraft.io/
Are there risks/potential issues with having snap-based apps and apt-based apts coexist on the same installation of Ubuntu? I know there's now "Ubuntu Core" which replaces apt with snap for everything, but if you're just using plain old Ubuntu on a workstation or server, how safe is it to dip a toe in with a few snaps while leaving everything else managed with apt?
(Apologies if these are dumb questions, I just haven't been able to find much messaging on snaps that speaks to end-user concerns instead of developer ones...)
## Snapcraft
https://git.launchpad.net/~bjoern-michaelsen/df-libreoffice/...
## Debian
https://anonscm.debian.org/git/pkg-openoffice/libreoffice.gi...
That's a perfectly manageable issue.
But don't claim snap's are the only solution to the problem of getting up-to-date software. That's not at all true. We've been solving this problem for far longer than Ubuntu has been around, and their approach is hardly a panacea. For example, it can and will result in additional memory and on-disk bloat as a consequence of duplicated dependencies across packages until de-duplication is implemented.
Well, that and the sandbox features, so that they can't interfere with the rest of the system.
Huh?
If a snap includes version 1.0.0 of libxyz, and another does the same, you have two copies. If a third snap comes along and uses version 1.0.0 libxyz, you now have three.
Snaps do not automatically de-duplicate today.
That means two copies of the library living on disk and in memory at run-time.
So, they've reinvented dependencies (though, to their credit, they gave them a different name), one of the very things snaps were intended to alleviate?
Look, don't get me wrong, snaps have some interesting advantages (sandboxing being the one major selling point, IMO). But, again, they're no panacea.
Just like docker, snaps make sense even if there is some duplication of the libraries. Other benefits outweigh the extra size.
If only there was some existing solution for packaging and deploying software where you could declare dependencies between shared resources...