DEV Community

Loralighte
Loralighte

Posted on

Linux Mint is Making a Mistake

Recent news from the Linux Mint team has made it clear, Linux Mint doesn't like Snap. You should be expecting articles soon on how to enable Snap packages on Linux Mint. Why? Snap packages have a stable future, and more distributions are supporting it. Some key notes to take is Arch Linux, Manjaro, and Fedora. Those three support the installation and use of Snapcraft. Ubuntu ships Snap packages by default.

Snaps are not perfect as they are larger, slower, and can't easily be themed. These are issues within Snap, but others have put claims with Snap based on a fact. The Snapcraft backend is closed-source. There are numerous conspiracy theories. Many Linux users have been comparing Canonical - the company behind both Ubuntu and Snapcraft - to Microsoft. A lot of complaints came when Canonical announced that some APT packages - ones they maintain for Ubuntu - will become Snap packages, and the APT installation command will install the Snap version. Many people disagree with this option, but this option leads to why Linux Mint is making a mistake removing Snap.

Snap packages are better from a developer perspective. I develop applications, and Snap packaging is an astounding solution. Working on projects like Ubuntu Lumina wouldn't benefit from building Snap packages, however applications I have been processing will. When Deb packaging things like the Lumina desktop environment, there is a sense of Kakorrhaphiophobia inside of me. If it doesn't work, I get disconcerted. It often does NOT work. Now I have only packaged a couple of Snaps, but each one of them is leagues easier to build than if I made them Deb packages.

Many people are happy with Snap, but anyone can run a distribution that doesn't include Snap but can install it if they do. Linux Mint is trying to make it impossible to run Snaps. That's an issue, as many developers build Snaps. There are many factors at play with why developers love Snap, including the fact that Snap is available on nearly every Linux distribution, Ubuntu being the most used Linux distribution, Ubuntu builds and supports Snap, and that Ubuntu has Snap preinstalled makes it a more reliable choice for developers. Especially over solutions like Flatpak and in some cases AppImage, Snap is what developers want to use to ship software. Linux Mint making access to Snap difficult only hurts developers and users that like Linux Mint.

Top comments (8)

Collapse
 
karandpr profile image
Karan Gandhi • Edited

Hey Kai.
Linux Mint is not removing Snap.
They are forbidding APT from installing snapd in background.
Also in release ,they will be outlining if anyone who wants to install snaps via apt (Why ?)

apt-get install apt-software

should either install a deb or throw error.

snap install snap-software

should either install a snap or throw an error.

Most of the drama is due to chromium package is a wrapper for a snap package which is wrong. It installs snapd in background without user consent.

Collapse
 
kailyons profile image
Loralighte

Chromium installs Snapd because it installs via Snap. It is a wrapper, it doesn't just randomly install Snap. Here is the official reasoning.

Collapse
 
karandpr profile image
Karan Gandhi

I understand their reasoning.
However their implementation is flawed.
If I am distributing a Deb then it should not be a wrapper for a snap,flatpak,npm,pacman.
Installing a package manager in background and then installing another package is how malware distributes.
This is not acceptable behaviour of a reputable company.
Anyway, you do you.

As a linux mint user and I am very satisfied with how linux mint team acted.

Thread Thread
 
kailyons profile image
Loralighte

The difference is not that if YOU are distributing a deb, the issue is (especially with chromium) that Canonical was developing the deb. The issue became severe when they had several LTS versions of Chromium to maintain, with SEVERAL versions of Ubuntu being in life dating back to 14.04. Not counting everything, 7 releases of Ubuntu in SOME FORM, or another supported. 6 not counting 14.04 where its EOS (end of support) was last year, although EOL is up to next year, 4 not counting the two unnamed releases (21.04 "HH" and 21.10 "II"), and 3, if you don't count 20.10 even though it is in development and available, (with distribution devs like me needing to get packaging for groovy, and many devs doing the same.

This in general puts at bare-bones MINIMUM 3 editions of Chromium to maintain, if they only package the latest LTS editions. 4 counting groovy. it gets worse if you take in all 4 editions for chromium (stable, beta, dev, canary) on each of the 4 systems, making 16 packages to maintain for one browser. Firefox packages themselves, so we will ignore any Firefox or other browser versions. Technically there is no canary version for Chromium supported, so it's 12. 12 editions Canonical has to maintain on their own.

So imagine having to maintain 3 packages on 4 editions of Ubuntu, while developing the rest of Ubuntu, while building many other tools. It strains a company. Canonical runs the Chromium packages and built Snap so the hell of packaging chromium and other apps like it are a lot less stressful for developers.

I agree Snap isn't perfect. But Linux Mint could have dealt with it better, or at least have not made it a snark fest. I know Linux Mint is a protest distro (like Devuan) but that doesn't give them the right to be as snarky as they were in the blog post. I hope they at least make the installation of snaps through apt optional by adding a thing where you get notified, even if you did sudo apt install chromium -y it still popped up with "This package is a Snap wrapper, meaning it isn't coming from the repositories but a different application. This will install an extra layer of software, causing... explain why Snap sucks here ... which isn't ideal for most. To continue with the installation, you must consent to include the installation of Snapd. [Y/n]"

This is the solution Linux Mint should use, because

  1. If you HATE Snap, you can run with your day without it
  2. If you LOVE Snap, you can run it on Linux Mint without extra steps
  3. If you don't care and you just want Chromium (as many new Linux users are in that mindset), then you still have the option.

This will kill Linux Mint as the "Absolute beginner-friendly distribution". If they did it similar to how I described, maybe get a LOT MORE users than if they did nothing, as it gives further choice and transparency, without overall removing usability and new-user-friendliness.

Collapse
 
bigpod98 profile image
Primož Ajdišek

While yes snaps are in some ways better to build but they do require quite a huge level of skill unlike package for arch for example which are leagues easier to make them both snaps and debs and normal packages arent even that difficult evem with deb. Of course you are packaging a desktop environment witch is harder then normal apps

Collapse
 
kailyons profile image
Loralighte

Snaps are easier to build, but you are right to say DE's are harder to install. I even argue that DE's are a terrible idea to snap at this moment due to the speed issues. Snap is great for many CLI and GUI apps alike, as it is fairly easy to get rolling once you get used to running what is on the tutorial page.

Collapse
 
bigpod98 profile image
Primož Ajdišek

Being a person who snapped a few applications i can tell ot isnt easy to get going but when you get it done for first time it goes easy but it is the same case for debs, but you might have a harder because you are packaging a de as a deb package but deb packaging and snap packaging is different but equaly hard

Thread Thread
 
kailyons profile image
Loralighte

I have packaged a couple of snaps, and I work commonly with Deb packages, snaps are at least mildly easier to maintain.