6 ms·
I still don't understand why Ubuntu is going with snaps instead of something like guix/NixOS?
by seiferteric 10y ago
I still don't understand why Ubuntu is going with snaps instead of something like guix/NixOS?
- jhasse 10y agoVendor lock-in into their Ubuntu Store.
- _joel 10y agoApart from snaps run on a plethora of distributions. Arch, Fedora, Debian, Ubuntu... even OpenWRT. I'm not sure how you can call that vendor lock-in
- jhasse 10y agoWhen you run `sudo snap install kblocks` it uses the Ubuntu Snap Store. Also to create a snap you have to use Ubuntu 16.04+ (or run its image via Docker).
- _joel 10y ago16.04 is the latest long-term support, brought out last April. If you actually want the latest snapd, you are best with 16.10 or using xenial-proposed. Using `sudo snap install {thing}` definitely doesn't use the store. I just installed openstack command line tools on a headless box. https://github.com/openstack-snaps/snap-openstackclients https://github.com/openstack-snaps/snap-openstackclients To create a snap, you use snapcraft.. basically YAML specification. I don't know where you are getting your detail there.
- jhasse 10y ago> Using `sudo snap install {thing}` definitely doesn't use the store. I just installed openstack command line tools on a headless box. https://github.com/openstack-snaps/snap-openstackclients https://github.com/openstack-snaps/snap-openstackclients I don't mean the store GUI application, but Canonical's servers / repository. > To create a snap, you use snapcraft.. basically YAML specification. I don't know where you are getting your detail there. ATM you still have to run snapcraft on Ubuntu 16.04+. Source: http://snapcraft.io/docs/build-snaps/ http://snapcraft.io/docs/build-snaps/
- _joel 10y agoOk, so as noted, the backend canonical servers are for easy of use. It's possible to use another service if one was inclined. Still don't see what's specific about vendor lockin. If you couldn't run your own service and change the default provider, then I could agree that it's vendor lock-in but it needs (currently) a ubuntu or docker to build the snaps. I still don't class that as vendor lock-in. It's just missing effort in terms of multi-distro support. Saying it's vendor lock-in throws up fairly draconian images in my head and that's far from the case.
- jhasse 10y agoWell, if one really wanted to use a different store, they'd have to change hard-coded URLs in snapd's source code (for example `snap login`), set up all the stuff (which was only tested on Ubuntu) and then ship these new tools. I doubt that Canonical would let you keep the "snap" name by then ...
- mhall119 10y agoSomebody who wants to setup their own store can send a pull request making the changes they need to snapd to make it easier to configure. Right now it's unclear if a "different store" would use the same data and protocol or would want to do something entirely different. In the end it's just a means of getting a .snap downloaded, so it can be as similar or different as the implementer wants.
- mhall119 10y agosnapd could be pointed to another store if somebody wanted to make one. But the Ubuntu Snap Store is free to use and open to anyone, and having them all in one location makes discovery so much easier. The limitation on snapcraft is technical, not intentional, and it's being worked on to make snapcraft itself distributable as a snap, so it will work on any distro that snaps work on.
- bkor 10y agoThe support on non-Ubuntu distributions differ. The sandboxing requires AppArmor. Various distributions use SELinux and that support isn't there (obviously on the todo). Further, heard that even with AppArmor a distribution needed to apply some AppArmor patches to the kernel. They run on various distributions, but not in the same way.
- _joel 10y agoAgreed, but not quite the same as saying it's vendor lock-in, is it.
- bkor 10y agoI did not claim that, I merely added something to your statement. With Snaps too easily the caveats are ignored. Theoretically you could run your own store. Practically it needed an environment variable, plus (at least at that time) the server code wasn't open. Snaps are IMO quite a success (seems more used than Flatpak& AppImage), but always find a bit unfortunate that its limitations aren't mentioned. E.g. only today I learned that it doesn't do user installation. Similarly the sandboxed and running on multiple distributions.
- _joel 10y agoUnderstood, apologies if the comment seemed terse.