Now, I would love to know, if I'm a maintainer of Foo (and you can get it today via `apt-get install foo`), how will I be able to start packaging using snap rather than relying on deb packages that come from debian? I'd love any feedback, cheers!
Now, I would love to know, if I'm a maintainer of Foo (and you can get it today via `apt-get install foo`), how will I be able to start packaging using snap rather than relying on deb packages that come from debian? I'd love any feedback, cheers!
Bleargh. More container bullshit, now with even less control over it by end users. Now each tiny library update (think OpenSSL security fixes) will pull hundreds of "snaps" instead of a single package… assuming the developers even realize they have to rebuild their snaps.
Do you think that's worse than the alternative where each tiny (shared) library update potentially breaks hundreds of programs?
In comparison, outdated npm/gem/pip/hipster-package-manager-of-the-week or docker installations happen how often?
With the former, the burden of updating and testing lies with a small handful of distribution maintainers. With the latter, every single developer has to worry about deployment and maintenance.
Good thing I abandoned Ubuntu a long time ago.
Edit: forgot appc. Thank goodness they're all planning on supporting the Open Container Initiative.
* https://plus.google.com/+FlorianHaas/posts/4xjQP1q6DEN
* https://www.hastexo.com/blogs/florian/2016/02/21/containers-...
If I want to install software that's outside the stuff that the packagers have prepared, like Firefox with correct KDE integration on Kubuntu, I am relying on a number of hard to track things working correctly together. Which tehy have regularly failed to do for me in the past.
Contrast to the OSX install experience: An application is a folder which contains everything related to the application that the base system does not provide. It's brilliant. Installing is copying. Uninstalling is deleting. As a user I feel more in control of the process than with apt.
Depending on the software stack you're looking at, dependency isolation might or might not make sense. I think OSX and Windows both are good case stuides that show that some level of isolation is sensible.
Firefox isn't that hard, all considered. KDE is necessarily hard because of how invasive that is – but no container fuckery will save you from that, because it has to be invasive to work in the first place! Either every container has to ship a full KDE, or you do it like OSX does it, and only have One Desktop To Rule Them All. (That's why Canonical and Gnome are both interested in app containers, presumably, to get rid of that filthy freedom of choice.)
> Contrast to the OSX install experience: An application is a folder which contains everything related to the application that the base system does not provide.
The difference is that OSX (and Windows) provides a lot, and you only have applications building on top of that huge, stable code base that's diligently updated by Apple (/Microsoft). OSX/Windows apps only have to keep their few third party dependencies updated.
Linux app containers have to literally ship everything outside the kernel to work, because the kernel ABI is the only stable interface in the Linux ecosystem. Everything else, up to and including the libc, varies between distributions, and versions of the same distribution, and will be incompatible. An openssl update would trigger a repackaging of every single app container. And where it doesn't, users are at risk. In contrast, without containers, I upgrade one package and the whole system is secured.
(On servers, it's a bit more nuanced, because here operations is in charge or repackaging docker/lxd/nspawn containers, and can start that process whenever they want.)
> As a user I feel more in control of the process than with apt.
That's more because apt is bullshit, even by Linux standards. pacman and other package managers not made in the 1990s are much nicer to deal with.
`apt-get` is depreciated, they've moved to just plain `apt`
`apt install foo`
I'd very much prefer to standardize on plain apt, but it doesn't seem ready yet.
https://developer.ubuntu.com/en/snappy/build-apps/
The ubuntu developer page has a good description of snaps and how to create them.
In short its a package that contains all its dependencies.