A new 'app store' is expected to ship as part of Ubuntu 23.10 when it's released in October — and it'll debut with a notable change to DEB support. Don't
A new ‘app store’ is expected to ship as part of Ubuntu 23.10 when it’s released in October — and it’ll debut with a notable change to DEB support.
It's not a click bait per se. Even after deb support they will use only snap for applications that has a snap package and only debs if it hasn't got any snap package afaik.
Canonical is just weird like that, it seems. They tend to pick something and fixate on it really hard (Eg. Unity desktop, Mir, that convergent phone thing, now Snaps) and work on it until it's almost really good, then they get fixated on the next shiny thing and dump whatever they were doing to go chase that instead.
Tbf I think convergence could be the killer feature which pushes mobile Linux into large-scale adoption. Also Purism has its Librem 5 phone as convergent, too. It's not just Canonical.
There's a benefit to Canonical, the corp that maintains Ubuntu, which is that while snaps are open source tech, the server for the snap store is closed source and snap can't be configured to point at another store.
In other words, it's about centralized control.
There are some advantages to the tech itself, like live auto-updating, which is good for security-critical server apps, but over all I'm not a fan.
I believe you're completely right here, except that snapd can be configured to point to another store, though it's not very well documented.. I did find the piece of information once :).
But the thing is that the client still only supports one app backing site at a time. So if you pick another one, you lose visibility to the other store. I doubt even updates work as they should.
So it's really about building technology that is geared towards centralized control, whereas basically anyone can host flatpak packages and give ref links to them.
I don't think that the board members are sitting there and pondering how they can exercise more control on the user via snaps.
The auto updating is a nice benefit but it doesn't seem like a big enough benefit to allocate so many developer man hours into. I would think that Canonical would realize that the developers time is better spent making features the users want.
But what do I know? I'm just someone posting on Lemmy not a Canonical board member haha
Snaps are used for Ubuntu's IOT distro, and also for their upcoming immutable desktop. They even ship kernel and mesa as snap, which makes updating less likely to break a system (in case of a crash while updating, user error, ...).
That's why they push snap. Canonical doesn't mainly aim to make a apps available to all distros like flatpak does. Just like now where all distros need their own packages, snap will coexist with other package formats.
For the user it's unimportant how apps are installed, as long as they're available.
Because they controll snaps. Their backend is proprietary and they do not support any other way of distribution.
Now there are some objective benefits to Snaps compared to Flatpaks, at least so I was told. Apparently they offer significantly better documentation and integrate more tightly with the system, allowing you to do more stuff with them.
This was a while back tho, I don't know where Flatpak stands today
It could be like the old RPM vs DEB arguments. Technically, one could have argued at the time that RPM was explicitly singled out in the Linux Standard base.
However, these days, DEB certainly feels more common (although, from my understanding, Redhat/Slack is big in enterprise, so i'm not actually sure which is more common).
APT is not good at managing dependency hell. This is a common problem for all package managers that don't typically bundle dependencies. You can get 30000 open source packages from trusted sources having a maintainer working on each to all share the same dependencies for an OS release. That's what Debian does. However it's a lot of work and that works increases significantly when you try to do it for a piece of software across OS releases.
Read - it's difficult for LibreOffice or Mozilla to ship a new version of their software that works on several Debian or Ubuntu releases. It's also difficult for maintainers to do that.
You could of course include dependencies in debs, but then you're increasing the security attack surface of the OS, because there's no sandbox around those bundled dependencies. Bundling dependencies requires sandboxing to be safe. Otherwise whenever there's a security hole in one library in package X, package X might patch it, but the same library might exist in another 50 packages on the system unpatched.
This is a solved problem. It was done in Android, iOS, BlackBerry 10 and probably others. All OSes that had to deal with more than 30000 packages, open source or proprietary, from trusted or untrusted sources. Bundle non-system dependencies and confine in a sandbox. Snap's been doing this ever since it was called Click. Flatpak didn't have the sandbox part for a while if I'm not mistaken. I'm not sure what its current sandbox state is.
There are other issues with APT/deb but managing dependencies without sandboxing is probably the most fundamental one since dependency management is one their fundamental purposes.
Aren't you sorta trusting whoever wrote any package you install with root? I mean, you should have that attitude anyhow as packages have a huge attack surface so privilege escalation bugs are way more common than remote execution but still, flatpak and snap at least offer a bit of a sandbox which might improve...
Depends on your distro and what's available in the repo. With default repos you're more trusting the distro developer to vet packages.
I trust debian for that. It's been a while since I used Ubuntu so I don't remember how their repos are set up but the debian team is notoriously conservative with their repos.
The track record has been very good as far as i know with thousands of packages over the years so I doubt if there is a real problem to be solved here.
I'm kinda baffled people would jump ship because of this matter
Snaps have been a thing for 7 years and before that Canonical did similar really weird things (Amazon shopping lense a decade ago anyone?)
anyone who really cares already uses something else
It's just because I'm a newbie – having been using Linux for one year, and started with Ubuntu simply because that was shipped ready with my laptop. I haven't found the time to try any other distro yet, because of work & lack of time.
Indeed I remember I was thinking about moving to Linux years ago, exactly when the Amazon-Ubuntu craziness happened, so I thought "some other time".
Regarding snap & flatpak: I simply don't like the redundancy philosophy behind them.
Honestly for new/average users, those who tend to use Ubuntu, I always would recommend Manjaro. Since I use arch btw myself I have a bias but using pacman, being rolling release, and having access to the AUR (+ Flatpaks) set Manjaro apart from other distros for average users.
But frankly I never understood why Debian itself is considered an "intermediate" distro since it's no harder than Ubuntu to use IMO.
Debian is more bare bones then Ubuntu, that's why. Ubuntu comes with a lot of packages already installed by default. In Debian you have to install a lot of that stuff manually. You might also have to edit some configs for example. It's not that hard, but maybe a little too much for a beginner.
I upgraded Debian to 12 last night, which required manually updating the source.list for the apt repos for example. It's been a while but I'm pretty sure Ubuntu gives you a UI for upgrades? Upgrading Debian was simple for a techie who's played around in Linux already, but it could be more intimidating for a newbie.
Because maintaining snaps is a lot less work for whoever maintains the package, upstream developers, volunteers, or Canonical. If I'm shipping software for Ubuntu and I can use snap, I sure as hell will use it instead of deb.
because they won't need to maintain it, they won't even need to maintain the dependencies, some guy online will maintain the package and it's dependency for them, whether it's updated or not, it's going to launch, that's the whole point of those style of packaging
Because they something to lock you in to Ubuntu. They want Ubuntu to be the only thing that uses snaps. They want to get snaps to be an Ubuntu exclusive feature, and once they can start convincing some random closed source devs to ship in only the snap format they have a hook to keep you on Ubuntu. And they want those random random closed source devs to be focused on more of the corporate world so they can sell some support licenses.
Ubuntu is getting on my last nerve. At this point I'm going Debian on everything except Thinkpad, but only because it's Nvidia based and Pop!_OS just works on it.
All the servers I've spun up in the past few years have been Debian instead of my usual Ubuntu.
The last straw was kinda when I learned that installing docker via the install menu gives you the snap version instead of the normal one, with no indication that this is the case.
The Fedora software app has been promoting flatpaks over native packages, even not displaying that native packages are available even if they are, requiring the command line tool to access some native packages. So I don't see how this is fundamentally different.
The big difference is that Snap is partially proprietary. For those who like Linux for its free and open-source nature and all the benefits that confers, this is an unfortunate evolution that has a negative impact on the Linux ecosystem.
I hate that they also SEO'd the hell out of major search engines to show snap setup and installation instructions when anyone searches for installing a package. E.g. "arch install firefox" leads to https://snapcraft.io/install/firefox/arch which is downright dishonest marketing.
Yeah, nah, that's a dealbreaker for me. I'm back to LMDE when this happens.
I don't mind having snaps available but I'd avoid using them whenever possible. They're larger than necessary, slower than necessary, and I trust software checked by its original devs plus distro maintainers more than software checked by the devs alone.
Agreed. I would have like Ubuntu to come with flatpak, but snap exists for longer than flatpak and has additional use cases. Snap allows to do app packaging and even the rest of the system. Fedora uses rpm-ostree + flatpak instead.
I've been using more and more flatpaks lately on arch and fedora based distros, i have no idea how snaps compare but seems similar? Seems an odd push from Ubuntu, but could make more sense than deb packages for non techy users perhaps?
Ubuntu / Canonical were working on Snap for some years when Flatpak came on the scene. They've been shipping Ubuntu bits using it since 2016. In addition to the legacy, Snap is more versatile than Flatpak in that it can be used to package pretty much anything, including system bits. It's also had a secure sandbox from the start. Changing to Flatpak would be a functionality downgrade for Canonical and Ununtu maintainers using Snap. In addition Flatpak can be used along with Snap on Ubuntu so there's no need to not use both for whoever finds that useful. Snap lets Ubuntu ship software using less work, which means more up-to-date bits in Ubuntu. Users can install other software via Snap or Flatpak, whichever they find more useful.
Snap is portable to other distros, look at the official website and you see a list of distros, you can use snap on. That doesn't mean that there is no vendor lock-in, just a different kind. Snap as a format grew out of Cannonicals effort in the mobile field. Snaps where supposed to be the truly convergent successor to click, the packaging format used by Ubuntu Touch. And this history is baked into its DNA. It's right there on the snapcraft website: "The app store for Linux". As such Cannonical has always courted proprietary software and/or software by big companies (VS Code was first released as a snap for a reason). I think that they have always have had an eye on one day adding app payments and the sweet, sweet 30% cut they can take from every sale
In my experience, performance of snap apps is just abhorrent. The consume a huge amount of disk space and, whether it's due to that or not, they have extremely long load times.
Principles aside, this just makes them unusable for me. I use flatpak when there's no other option, but strive to use deb either natively or through PPA.
I would recommend using Linux Mint. It is Ubuntu without Gnome Shell and snaps. They use Flatpak instead. I have been enjoying it ever since I jumped ship from Ubuntu about 2 years ago.
I was using EndeavourOS when I ran into the wall that a lot of stuff didn't have builds on AUR that I needed (and didn't feel like compiling myself or they didn't provide source code)
Why do Linux nerds that care about this sort of stuff hate snaps so much?
Is it the concept of snaps / flatpaks that is the issue or snaps specifically because Canonical is behind them?
I know literally nothing about how they work except I installed the VLC snap and it's fine.
I couldn't install Parsec (a remote desktop game streaming app) because of a missing dependency (an old version of lib-something codec that wasn't in my newer version of Ubuntu). I spent like an hour trying to figure out how to take the 18.04 version and add it to 22.10. I don't know Linux at all so I wasn't making much progress. Someone, not the developers of Parsec, made a flatpak and it magically worked.
I was afraid that because the flatpak was made by some random guy I couldn't really trust it. I looked inside the flatpak and it's seems to be nothing except for the Parsec deb coming straight from the official Parsec URL and that libcodec thing that was causing a problem.
So from my perspective, not knowing the technical details or politics, what's the problem?
They are in practice proprietary to Ubuntu so they are not really FOSS
The draw of Ubuntu it is was based on Debian Testing and therefor pretty stable.
It's Yet Another Containerization stack. We already have flatpack, app image, chroot jails and more.
Why would a serious user want a psuedo proprietary Nth app containerization platform that sidesteps a serious incubation chain and has poor performance?
The snap store is proprietary, flatpaks handle the graphical app space better, OCI containers handle the service space better, and really high reported load times.
Snaps I get, but Ubuntu? Aside from an asinine application process to get hired a Canonical, they did a lot to push for a more straightforward Linux desktop experience. Their time has passed, but cancer is a bit too much for me, considering all the fantastic offshoots.
Context: I came to Ubuntu from Gentoo. Debian before that and a brief flirt with the hot fantastic mess that was Mandrake when I first discovered Linux.
Snaps is just the latest controversial tech they haved pushed for. They have a long history of pushing for things they have created that people don't want or don't want their implementation of (like upstart or the original unity desktop env). Or pushing for stuff before it is ready (like pulseaudio).
Nothing wrong with pushing for your own tech, but they do seem to miss the mark a lot on what they want to introduce. And keep upsetting the community over it.