Canonical to Work on Improving Snap Support Across Linux DIstributions
phoronix.com
phoronix.com
That said, it's nice that people who prefer snaps or flatpak (assuming such people exist) have that option without those packaging formats being shoved at me constantly.
But my understanding is that Flatpak solves the problem of "this guy has Ubuntu and that guy has Pop! and they both want to download this app, but each distribution has its own packaging system." Having a stable target that works across distributions seems good for the ecosystem.
I think that what snaps and flatpaks want to do that is "better" than this, is to isolate your system from such applications if they are malicious.
What you said is not wrong, however, it misses the bigger picture because like Snap, Flatpak also includes a package repository and distribution mechanism, whereas AppImage only solves the problem of running a dynamically linked binary on an unsupported distribution (the problem you described)
hey Snap, this pop-up is an interruption
1. Create a file /etc/apt/preferences.d/nosnap.pref 2. It's contents should be: Package: snapd Pin: release a=* Pin-Priority: -10
If Snap and Flatpak are both packaging layers I'd prefer Canonical embrace Flatpak.
I expect the same pattern to play out with Snap -> Flatpak, it's just a matter of when, not if.
Though maybe this is uniquely sticky, like the ongoing .deb vs. .rpm / dpkg/apt vs. rpm/dnf situation since Forever...
https://old.reddit.com/r/linux/comments/18yvefc/why_does_the...
The top reasons given were:
- Not Invented Here: Canonical wanting to design its own everything and not being welcoming of contributions or feedback from outsiders.
- Inventing for itself first: Canonical builds what's best for Ubuntu and lets other people import the source if they want to. Other providers build in the relevant communities, which makes it easier for other distributions to import the next-gen stuff (e.g. X11 and its replacement Wayland both came from Xorg).
---
While I was writing that, I was really tempted to use lowercase "canonical" to describe Xorg's relationship with the graphics stack, and then changed to "relevant" when I realized that the company being discussed is uppercase "Canonical." I wonder if how much of their self image is reflected in their name: do they they they're the canonical stewards of the Linux desktop?
It seems more like Redhat just employes more GNOME devs and thus Redhat's work seems like "default upstream work" while Canonical's seems like "rewrite because of NIH". It is not as if GNOME is super inviting to random outside contributions either.
I haven't used GNOME/Ubuntu in a long time but I remember when Canonical wanted to go Wayland first before rolling out their own display server for their phone use case. At that time, Wayland was mostly just in Meego and related devices.
I just wish these distro wars happened in the final UI layer of the software stack instead of duplicating enormous amounts of the useless/boring/core work over trivial differences. (rpm vs. deb, snaps vs. flatpaks, etc..)
Sometime an industry get in a rusty/complacent space and stop improving and only creating a competing product can change things. LLVM vs GCC is probably one of the best example in OSS. People have complaining about the compilation speed of GCC and the quality of error message for ages, only when LLVM came about and focus on those area did we see GCC make significant progress.
To me it's clear that without the competition (and relative success) brought on by Mir and Unity, Gnome and Wayland wouldn't be anywhere near what they are right now.
In the case of Ubuntu, canonical main focus was to bring linux to the masses and brush off some of that geeky/hackery. And the ecosystem was at best in interested in it and at worst hostile to this (https://www.reddit.com/r/programming/comments/2986i/why_i_qu...)
So i think it was the case the canonical has not choice to create those project to fullfil their mission.And from my perspective they have succeeded. The reason ubuntu got so popular as desktop OS, is because for a long time they offered the best desktop experience.
The switch to Wayland,Gnome and systemd(from upstart) also make sense. As things improve, and some of the improvement brought by those projects get into the OSS alternative it simply make less sense to keep them around. And some of those improvement are done by canonical themselves (https://www.omgubuntu.co.uk/2019/10/ubuntu-improves-gnome-sh...)
Snap seems to be the continuation of this process. Installing application on linux is/was a very bad experience for a very long time. Most of the efforts in that space (which were very all over the place when snap was created) were centered around server/security/containerization. Canonical was looking for something different.
I don't like snap. Mainly because of long habits, and also because the snap packages always seem to be older than what i can get through APT. But i really don't get the passionate hate snap received just for trying to solve a real problem that "regular" people might have.
X was working fine. Gnome was always a child with problems.
X remote/networok approach as never great for highly interective modern desktop. Isn't the main thing that bost Mir and Wayland are addressing ?
> Some people do, as Snap supports some functionality that the Flatpak alternative does not (in particular, server applications).
That's called Docker and Kubernetes. I have no idea who, out there, would be stupid enough to trust a production server deployment on Snap. The very idea is horrifying. If something goes wrong, at all, you're probably SOL unless you pay Canonical a pretty penny for your as-good-as-proprietary setup.
In which case, if the server market has a far-and-away better solution, what markets are left for Snap? Desktop and IoT. In that case, make Snap exclusively IoT and concede desktop to Flatpak and we all go home happy.
alias foo="flatpak run org.blub.foo"
I would bet flatpak doesn't do this by default since it doesn't hijack a native package's namespace in the way Canonical is forcing people with snap hijacking apt install, and gives you a choice.This lets me run multiple different Chromium flatpaks alongside the native package (stock Debian apt Chromium, official Chromium flatpak, Ungoogled Chromium flatpak) without issue, for example.
.. /me looks to Redmond with awe
The whole practice of third party package managers is a disaster.
One of the biggest improvements in secruity of a linux desktop as opposed to windows is the model of loading applications. In windows, binaries are loaded from random third parties over the internet, in linux distributions the applications are built, and the biniaries provided by the distribution.
Even if applications aren't methodically audited, the pathway for inspection and debug is already in place due to building teh application at the distributor, not by the third party proving the application.
Third party package managers are an aggrigated version of this, they bypass the infrastructure that provides binaries for distribution user's to execute.
The server apps I tried are good. If you don’t want fancy features, nextcloud snap runs like a tank, and self updates.
As an end user, I don’t want to worry about updates either. I know developers have different opinions due to their jobs.
Oh wait. You can't do that with snap. Snap is pretty much locked down, so Canonical is the proverbial troll on the bridge.
[1] Please move the "$HOME/snap" directory to a less obtrusive location https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1575053
Nowadays, processor power is infinite, memory is infinite, disk space is infinite, so why so many people complaining ? /s
I suppose this page should tell how things have improved, but its ridiculous tall cookie wall kept me out of the site: https://ubuntu.com/blog/firefox-snap-updates-and-upgrades
The issues that both share are slow starts, larger package sizes, lack of safe ways to interact with the rest of the OS, etc.
Base concept is actually really good- Separating out dependencies and "containerizing/sandboxing" userspace applications is just a no brainier from a security and maintenance point of view. Its so nice to be able to easily install several versions side by side and know you arent fucking up system dependencies. Once they (flatpack, snap, some future competitor/iteration) iron out the kinks it'll 100% be the way systems are managed.
But all the cool kids are running Arch, Pop or Void.
Then apt came and it seemed good. But I soon discovered that I was only good for software that was on the repositories.
Then I considered adding third party repositories and it seemed good. But I soon discovered that it could easily break my distro.
Then I considered compiling the software on my own machine and it seemed good. But then I discovered that newly available software required newly available dependencies.
Then I considered building dependencies on my own machine and it seemed good. But then I discovered that it soon becomes very complicated and could easily break my distro.
Then I considered replacing my distro periodically by newer versions and it seemed good. But then I discovered that it was unstable.
Then I considered using LTS releases only and it seemed good. But then I discovered that it was hard to use newly released software.
Then I considered compiling software and dependencies for my user only and it seemed good. But then I discovered that it was too much work.
Then I heard about klik, then I heard about glick, and containers and guix. And, during a long time, everything around these options evolved. And all that seemed good in different ways than before.
A few years ago I installed debian 10 from debootstrap, an incredibly learning experience. I then installed flatpak and guix on it. I loved it. I can finally have a distro with a stable core, long term maintained, where I can easily use newly released software without ever risking my system in a very simple way.
Linux, even considering only the kernel, evolved a lot for this to be possible. AppImages, flatpaks and snaps are a godsend for software installation on Linux. I really like the way all that matured along all those years. I had the beautiful experience of installing the latest released version of GIMP in different distros, different computers with different architectures all with the very same command a little time after it was made available.
I have just a vague idea how complicated it was to reach this point but I like where we are now. I know a lot of people worked hard to achieve it and I know a lot of good ideas died along the way. I don't know how harmful the ongoing "war" between snap and flatpak is today but I'm glad both worked as expected when I had to use them recently.
There's a lot to improve but I 'm hopeful and watching these improvements occur like someone who watches history being written. For all those who made this happen, for all those who made it possible: thank you all. You solved a lot of problems I had for years and I owe you a lot.