I know this thread is likely to quickly descend into 50 variants of "ew, snap", but it's a good write up of what is really a pretty interesting novel approach to the immutable desktop world.
As the article says, it could well be the thing that actually justifies Canonical's dogged perseverance with snaps in the first place.
I appreciate that they try, and as much as I dislike some of snap's design choices I think it has a place. Flatpak appears to be the winner in this race however, and I feel like this is Unity all over. Just as the project gets good they abandon it for the prevailing winds. I've been told the snap server isn't open source, which is a big concern?
Unlike desktop environments where there were equivalent alternatives to Unity, Flatpak isn't an alternative to Snap that can deliver an equivalent solution. You can't build an OS on top of Flatpak. This is why I think that if Snap makes the lives of Canonical developers easier, they'll keep maintaining it. We'll know if Ubuntu Core Desktop becomes a mainstream flavor or the default one. I think there is a commercial value of it in the enterprise world where tight control of the OS and upgrade robustness are needed. In this kind of a future Snap will have a long and productive life. If it ends up being used only for desktop apps which Flatpak covers, it may fall by the wayside as you suggested.
I'm pretty excited about it. It's a much cleaner solution to the problem immutable OSes are trying to solve. Dare I say it's better even than the Android model because it covers the whole stack with a single system.
I don't like Canonical pushing snaps as universal apps for all distros, because of issues like sandboxing not working on mainline kernels.
But it's pretty interesting to see how a fully snap based desktop OS could look like. It might have less limitations than rpm-ostree. Easy access to recent mesa and similar would be awesome.
But why is it an issue that Canonical controls a source of software for their own OS? Isn’t that the same with every distro’s repository?
No. You can add any other repository to apt, rpm, Flatpak, etc. You cannot do the same with Snap and that's by design. Canonical wants to be the sole gatekeeper of Linux software, hoping that all developers have no alternative but to publish software on the Snap store (ideally only there) which works best on Ubuntu.
Snap makes a lot of sense for desktop apps in my opinion. There's a conceptual difference between system level packages that you install using something like APT, and applications. Applications should be managed at the user layer while the base system should provide all the common libraries and APIs.
It's also worth noting that this is a similar approach to what MacOS has been doing for ages with .app bundles where any shared libraries and assets are packaged together in the app folder. The approach addresses a lot of the issues you see with shared libraries such as having two different apps that want different versions of a particular library.
The trade off is that you end up using a bit more disk space and memory, but it's so negligible that the benefits of having apps being self-contained far outweigh these downsides.
The problem here is that for that purpose, Flatpak is better in nearly every way and is far more universal
I think Snap makes the most sense for something like Ubuntu Core, where it has the unique benefit of being able to provide lower level system components (as opposed to Flatpak which is more or less just for desktop GUI apps), but it doesn't make sense for much else over other existing solutions
This new entrant in the immutable space is not a replacement for ordinary Ubuntu
Not yet the replacement. It will be and I bet Canonical is targeting 26.04 LTS to do that. This is just the next step of trying to force all their users into Snap, just like when Flatpak was banned from being in by default of community-supported but official Ubuntu variants such as Xubuntu.
I'm very excited about how the Linux community generally seems to be moving towards various approaches to immutable systems - all of them having in common that system updates are going to be a lot less likely to break. The future is looking good!
As much as I have issues with the snap implementation, I really want to live in a world where my base os is solid and everything else is easily updatable. LTS, with the latest apps.
Snap and flatpak achieve this, and I want more of that. Just less... frustrating. And less not-invented-here like.
Flatpak cannot do what's discussed in the article. Snap can and it was started prior to Flatpak. If Flatpak was able to do what Snap can, you'd have half a point.
Snap has the ability to do the base system in a much more modular way and could be really cool for an immutable system. Forcing them on desktop users with their transitional deb packages and making it heavily integrated with only one repository really screwed it up.
Also I'm not sure about slow startup times. Are those still an issue? If so, then I would be sure to considet Ubuntu dead and not only not recommend it but actively recommend switching away from it.
Ordinary desktop and server Ubuntu aren't going anywhere, and the next release, numbered 24.04 and codenamed Noble Numbat as we mentioned last month, will be the default and come with all the usual editions and flavors.
Nor is this a whole new product: it is a graphical desktop edition of the existing Ubuntu Core distro, as we examined on its release in June last year, a couple of months after 22.04.
Ubuntu Core is Canonical's Internet of Things (IoT) distro, intended to be embedded on edge devices, such as digital signs and smart displays.
Most of the major Linux vendors have immutable offerings, and The Reg has looked at several over the years, including MicroOS, the basis of SUSE's next-gen enterprise OS ALP.
Former Canonical staffer Alan Pope demonstrated a Steam Deck running Ubuntu Core at the event, and his lengthy blog post about the experience contains some interesting details about how well the developer preview already works.
Compression of Flatpak apps is a key reason that Fedora now uses Btrfs, although it's worth noting that, as of yet, Snap doesn't include any form of deduplication between separate packages.
The original article contains 1,052 words, the summary contains 189 words. Saved 82%. I'm a bot and I'm open source!