Hacker News new | past | comments | ask | show | jobs | submit login
The Future of Snapcraft (snapcraft.io)
41 points by worble on Jan 7, 2022 | hide | past | favorite | 45 comments



I've been daily driving Linux for a few months now.

Snaps rarely work. Like they install fine and launch but you can't upload photos on chat programs or load your existing config.

Flatpak is somewhat better in that file access seems to behave as expected but many flatpak apps still have serious issues.

Please just publish as a normal, plain old apt. Security is great but it only matters if I can actually do useful things with my computer. The last thing desktop linux needs is some pain in the ass badly setup sandboxing system that half works.


To me, Snap and Flatpak are less about security than they are about universal application distribution that doesn't rely on third party maintainers and is free of conflicts. There are much simpler ways to achieve that goal[0], but the fragmentary nature of the Linux Desktop community makes the necessary standardization all but impossible. Similar to your statement about security, I loathe the traditional package manager/repo model because it consistently makes software unavailable to me either because it is missing from the repo, isn't updated yet, isn't maintained at all, or has library conflicts. All of its supposed advantages are useless if I can't actually run software.

To that end, I've put my money on Flatpak. I have my issues with it, both in practice and in design, but it isn't as user-hostile as Snap and seems decently popular and growing.

[0] AppImage is a valiant attempt, but simple AppDirs before it were much simpler


I've only come across a few AppImage apps in the wild but they have worked flawlessly. My only complaint is that installing their desktop icons is a bit of a doing and should be automatic - but that is a very fixable problem.


Appimages are the only ones I ever bother with, and everything snap/flatpak related is removed as soon as possible. I spent enough time trying to debug the others to know they really arent worth the trouble.


I love AppImage, but unfortunately they seem to be generally ignored. Very few projects distribute AppImages and there doesn't seem to be any momentum behind their adoption.


A lot of project maintainers are very open to people porting their project to other distribution methods.

As long as you setup CI, it should be pretty self maintaining in most cases too.

No experience building AppImages but if it's something you can contribute to projects, that is the best way to see more of them in use. This is a big part of how a lot of apps got on flatpak.


unrelated to snaps but i just helped a relative get back into dual booting. apparently i had told them about "kde neon" and they had used youtube to dual boot. ended up with a broken grub. "ow. why does it say grub rescue".

i made them get a live usb, install anydesk and then found out https://askubuntu.com/a/531448

which immediately helped the kid reuse his pc. the surprise on the phone was genuine. "it worked".

and i kinda wished it should have because the "baby duck syndrome", this would've been the linus popos event for this person.

i really think we need to improve some sort of "youtube basic linux tutorials", because apparently text is old school now (thats what i've been told)

are there youtubers who i can recommend to new users who can help people to ease into the linux community until they can learn their way across even basic troubleshooting their systems?


>youtube basic linux tutorials

Well i don't help with that, it's too slow and not searchable, the linux terminal is text and so are manpages...on the other-hand i also don't care if someone wants to use a *nix.


The (original) problem is: for mature apps, it's often not just an apt / .deb that needs publishing.

It's also a RPMs, Arch AURs, Gentoo err things (let alone *BSD systems), and various flavours of repos / interfaces with packagers / downstream systems and release cycles...


> Please just publish as a normal, plain old apt.

I personally would prefer appimage or tarball bundle (like Mozilla does).


A bit of a tangent, but I'm not a big fan of Snaps (or Flatpaks for that matter). Whenever I tried to use them, I ran into issues as soon as I need to do some changes in the configuration.

Take Firefox on the latest Ubuntu for example, it installs as a Snap. Unlike the APT package (or any other package manager) version, the usual ~/.mozilla/ directory changed location. This broke some of my customization scripts and other people's scripts I'm using such as https://github.com/black7375/Firefox-UI-Fix

I would really, really, like if both Flatpaks and Snaps could keep the usual program's config directories. Then I would likely use them often because they have big advantages (especially Flatpaks) over package managers, especially for dependencies.


I kinda like that flatpak forces application created files to end up in a predictable place. Firefox, like plenty of applications, was doing its own thing despite XDG conventions (~/.config etc and associated env vars) being 20 or so years old, now everything is in ~/.var/app, plus flatpak knows if it belongs to an installed application or not.

Although I would have preferred if the hierarchy was reversed, so instead of having ~/.var/app/<app>/{cache,config,data} for each application, I could have all files of a category in the same place as to be able to manage them more easilly (say remove all the cache, version all the config), like it is now for the applications that respect XDG dirs.


Except isn't ~/.var/app is just another "doing its own thing" directory?


Yeah kinda, but at least it's not every applications doing their own thing, it's the thing that runs applications, so assuming you only run sandboxed flatpak stuff, you end up with only one thing.


Snap is a weird bit of tech, Canonical are pushing it, but it's hard to find people recommending it online, they'll typically say, "here's the Flatpak".

I actually grabbed GIMP last night using Flatpak, and a few weeks ago downloaded Tenacity the same way.

I'm still unsure what the reason is to use one over the other, but Snapcraft is definitely losing the war of minds online, as far as I see.


The problem people have with Snap is that it's basically a fiefdom run by Canonical. Canonical's repo is effectively the only one, they get to choose which software gets to be unsandboxed and which doesn't, and updates are forced. People don't like it because it is Microsoftian in its user hostility.


> Microsoftian

I think the actual word is "Apple-ish". Microsoft never succeeded in their appstore attempts, whereas Apple sadly did (and spectacularly so).


Maybe you don’t remember the software industry in the 90s when Microsoft was at the peak of their power. Nobody had heard of app stores but MS showed the world what a tech bully is. Putting profit over customer happiness, because they could.


> Maybe you don’t remember the software industry in the 90s

I very much do. Software was sold in boxes in independent store chains. Sure, MS abused their position whenever they could, but their various attempts at building appstores they could control never really succeeded, the best they could do is abusing OEMs to preload this or that crapware.

Apple, on the other hand, defined the market for walled-garden mobile appstores, with all their orwellian warts and obscene profiteering. But unlike with nerdy, cut-throat and business-y MS, "the public" loved their hip image and let them get away with it.


MS clearly sabotaged Dr. Dos. Microsoft was notorious for announcing a competitor to a product (which was vapor), then buying out the now-struggling competitor and releasing that as their new product.

Apple did the same with Sherlock (it's even a verb).

But Microsoft had a monopoly (confirmed by a long federal antitrust lawsuit), and Apple did not, so Microsoft rightly gets the blame.


Apple has an unofficial monopoly on the mobile market, one they are so keen to protect that they kick out developers who don't agree with their draconian policies - only to then grant some of their wishes to others because the restrictions are clearly monopolistic in nature (the Epic Games saga).

Honestly, I'm all for throwing stones at Microsoft, but when it comes to appstores in particular Apple clearly are the most masterfully evil of them all.


On desktop? Nah…


What's the point in a one-repo thing? Just host the apt-repositories at that point ...


> Snap is a weird bit of tech, Canonical are pushing it, but it's hard to find people recommending it

A couple of years ago they were looking to recruit dev advocates specifically for Snap. I applied and never even got a response. I guess they hired the wrong ones ;)


flatpak requires a desktop session so one straightforward difference is that snaps make sense on servers and iot devices which has to be said is probably where 90% of linux systems live on, and I think where Canonical's business focus has been.


I don't get it. What's the point of using Snaps on server when it's simpler to just run containers?


snap provides a form of containerization, if you talk about something like Docker, snap is significantly simpler because it's a container for an app rather than a container effectively for an entire VM.

Practical example, I use nextcloud as a snap, which requires basically one command, it self updating, shares the same IP as the host whereas each docker container would have a separate ip. If you only want to isolate an individual application on a host system (which is a common use-case) most container technologies are overkill.


> shares the same IP as the host whereas each docker container would have a separate ip

docker run --network=host was available several years earlier than snap.


My experience with the snaps was so horrible that I avoid Ubuntu and other distros that install snapd by default. Thankfully, Linux Mint 20 disables support for Snaps entirely. There is a short list of things I dislike about snaps:

- very slow startup time - forced auto updates (that tend to break things) - Snap store is proprietary, centralized and entirely controlled by Canonical - pollute home with ~/snap directory (not even hidden) - badly integrated with the system (GTK themes...) - creating snaps was easy only on paper - hard dependency on systemd

Therefore, I sincerely hope Snapcraft has no future and the community will converge on a single "universal" packaging format. I don't really care if that's Appimages, Faltpaks or something else.


The question is not "what is the airspeed velocity of a swallow", it is "what is the airspeed velocity of an unladen swallow?". You're not going to get across the bridge of death if you can't get the question right.


@snapcraft.io: Please fix the cookie controls to make it just as easy to deny all cookies as it is to accept all.

See https://www.cnil.fr/en/cookies-cnil-fines-google-total-150-m...


From my experience with the Snap Store on Ubuntu, it is always terrible.

- Most software is stuck on an older version and lags behind the latest release.

- Sometimes software hangs when installing. Gets stuck on 95% and stays that way, with no way to get it fully installed.

- Some of the comments on software are un-moderated and you read people trying to push a political agenda saying things like 'This software is Marxist because it's free'

- The Software Center is buggy as hell and constant error messages popup when trying to install software. (Yes I've done the update/upgrade ritual before installing anything).

- Most software is lacking screenshots. I like to see what the UI looks like before I install.

- I often encounter the software I want flashing for three seconds on the screen, and then disappearing for no reason. The search functionality is broken.


nothing like Ubuntu introducing a backdoor comprises of an empty Chromium APT package that activates SnapPak. :-/

https://techwiser.com/remove-snap-ubuntu/


This is the wildest definition of a backdoor I’ve ever heard. Canonical changed their official distribution of their build own Chromium from a repos provided by Canonical to repos provided by Canonical. And then made sure that scripts that relied on apt install still worked.

Canonical should be ashamed of their behavior! Making me trust this random 3rd party Canonical.


It's a bit over the top, but I can understand the frustration. If a user has decided to opt out of using snap, and then tries to install an apt package for a piece of software, it's understandable that a dpkg that just "sneakily" installs a snap (and thus the whole of snapd etc) instead could be seen as rather subversive.


but you do do get Snap installed whether you asked for it or not.


As a learning exercise I switched by Plex setup from Docker to Snaps during 2020.

While not the most popular idea, I love Snaps ability to auto update packages. I configured my box to check for updates every 4 hours. This felt like a good compromise on security/annoyance if there was a security issue for a non-Enterprise environment. Docker I used to use one of the WatchTower images to check for updates/pull images, but it needed to monitor the Docker socket which is a big security no no.

I do find it strange that Canonical doesn't allow you point to/host a third party Store.



I started looking at Ubuntu Core for a locked down psuedo-embedded Raspberry Pi use case that's reliable and has ways of preventing file system corruption. The only way to use that is with snaps, I hope it isn't going anywhere even if everyone seems to strongly dislike them.


I've used Ubuntu Core for a few things. I've used it for my nextcloud + syncthing + home assistant server; an abandoned photo booth project; and a plug and play slideshow thing using a web app in kiosk mode (hilariously involving the remnants of Mir, which is now a Wayland compositor?).

I think snaps are the wrong idea for the desktop and I hope Canonical finds a way to coexist with flatpak instead of whatever it is they think they're doing. But for Ubuntu Core in particular, where everything is working towards a headless, low maintenance kind of system, it really does shine.


Do you have any recommended reading on Ubuntu Core? The docs seem good but there's little content online for it. In particular I've been trying to understand how to get GPIO and I2C etc working on the Pi with Core and then allowing the snap access.


Ah, I wish I could recommend some documentation outside the Ubuntu Core docs, but my learning process was pretty much Googling ad nauseam - usually ending up on https://forum.snapcraft.io, which is rarely a good sign :( For the stuff I did, past experience with flatpak helped a bit, and there have been a few instances where I've created bind mounts to poke sandbox holes where I need them.

I haven't had an excuse to play with lower level stuff like GPIO, unfortunately, but I can imagine some stable documentation would be rather useful there.


I would recommend using openSUSE MicroOS.


Cookie tracker dialog on entry... Eject.


except from the said website:

Your tracker settings

We use cookies and similar methods to recognise visitors and remember preferences. We also use them to measure campaign effectiveness and analyse site traffic.

By selecting ‘Accept‘, you consent to the use of these methods by us and trusted third parties.

For further details or to change your consent choices at any time see our cookie policy.

Accept all and visit site

- no thanks




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: