Continuation of the Snap and Flatpak debates

Flat/snap packages are slow & bloated (tm) and doesn't use the systems shared libs, so it also takes more RAM to name a few things.

Try a .deb version and compared it with a flat/snap package of the same app, you'll see.

3 Likes

Funny thing about RAM. In both Win10 and Zorin, mine never goes above 60% usage. I suspect this is because the swap file on an SSD is so fast, the system doesn't need it and keeps some in reserve. Just a guess. 6-8GB, BTW.

Maybe the topic for another thread, but I'm quite surprised about these comments in this thread. From a package management perspective, and for Linux to be universal, a cross-Linux package management approach is essential.

I also think the arguments you pose are not that important, and possibly inaccurate. Yes, Flatpak isn't perfect, but it's better IMO than Snap, and often yields up-to-date packages whereas apt does not on an LTS.

Moderators: Feel free to split this into a separate thread.

2 Likes

The Snap /Flatpak debate is endless.
It pops up in thread after thread... I have debated this, as well, all over the forum. So have others.

What remains among all the points made is one Simplicity:

The arguments in favor of Flatpak and Snap fall short of the implementation and design of both.
The arguments against Flatpak and Snap neglect whether a universal packaging system is attainable without the aforementioned problems.

Rather than accept the counter-points as valid, most believers simply assert Denial.

APT packages are intended to be Long Term and Stable. That's the point.

What it becomes is one big Fallacy Fest.
One fallacy is countermanded by another, neither side willing to admit the valid points the other makes.

Flatpak and Snap do offer some advantages.

  • Standardized Packaging
  • Cutting Edge versions
  • Easier developer packaging

But they come with a variety of Real Problems that are undeniable

  • Too cutting edge sometimes leading to instabilities
  • Isolated from system so improperly work
  • RAM usage (Yes...)
  • Bloat (Yes)
  • Security holes (Well documented)

The solution is quite simple:
Replace Snap and Flatpak with a better system instead of desperately trying to defend the existing one.

5 Likes

Please be my guest and prove me wrong.

2 Likes

I can see that you have chosen your side, whereas I have not. So, I am quite surprised by the vociferous nature of these comments. I was hoping for a useful discussion, but that is clearly not going to happen. Furthermore, I expected more from the moderators.

Likewise, name-calling is unhelpful, and only demonstrates intransigence… the irony is that you are the “believers” not me.

I don't think this is a fair comment. LTS concerns the operating system; applications are a different matter, where users usually need feature enhancements more frequently. This is the focus of Flatpak, i.e., application distribution.

Can you share this? And can you support your rhetoric? As an end-user, Flatpak is attractive, especially when moving from one flavour of Linux to another. Traditional packaging nearly always results in inconsistency with applications or the need for PPAs, hacking etc.

1 Like

[quote="mjw, post:6, topic:17044"]
I was hoping for a useful discussion, but that is clearly not going to happen. [/quote]

But why don't you test it? As we did? Install .deb version and flat/snap of the same app. I would suggest a heavy app like gimp or inkscape and run 300ppi pictures for editing.
If you don't want to test it, don't you think an extra layer of libs uses more RAM as an example?

I can't see anywhere the name-calling part? But it may be my part of not having English as first language.

1 Like

It is a fair comment.
LTS is Long Term Support. This includes the dependencies within the Operating System that relies on Stable Packages. Understanding this is crucial to understanding why APT or PacMan or others work the way that they do.

I find this entire line of commentary interesting. Installing software using APT is not... Hacking... by any means of the word. This argument caries no merit whatsoever.
Above, I made the case that usually, the debate boils down to denying the existence of counter-arguments while clinging to the ones believed in.
Yet, this is exactly what you just demonstrated doing.
In my post above, I point out the Positive Benefits in Snap or Flatpak and I point out the well documented flaws that any person may independently verify without needing to take my word for it.
It is a Fair and even handed approach.

Vociferous?
You appear to be trying to lead the dialog with descriptive terms in order to influence perceptions, rather than to actually debate the topic.
You claim that my statement is "name-calling" (It isn't), yet, you turn around and use it in the manner you are trying to suggest I had meant it as.
That really does not support your case, any.
If you want to claim that my statements were somehow... "vociferous...", then your very own post would also necessarily qualify as the same.
Further, you then claim that:

Projection.

Either way, you requested the topic be split. Are you now requesting it be Closed?

Personally, I am favoring locking it.
My post stands as a testament without your editorials. I point out both the Pros and the Cons in the packaging systems and the fallacies argued, rather than the focus on arguments that have merit.
This is perfectly valid.
The last thing I am particularly feeling like entertaining in this moment is the painted illusions of what was said, rather than the topic actually discussing the Merit of Arguments.

2 Likes

The reason why flatpak and snaps are isolated from the system is because snap and flatpak apps are intended to run on any linux distribution with the help of independent containers. This solves the big problem of software availability in linux. I know this because I have used Fedora where the dnf repo contains very less packages and most app creators don't even bother to create a RPM package.

The reason why Flatpak and Snap packages consume more RAM and space is because they need to install dependencies to get the container to work. And the software store is misleading during updates. It says Upto XYZmb. Most people believe that the update is going to cost them XYZ mb but in reality the actual size of the update is much lower the XYZ. These apps don't consume more RAM in general. The only time they do use more RAM than normal is when you open the app for the first time during each boot. After that it would take just as much time as a native .deb file takes.

Newer versions of Flatapak and Snap has improved a lot and they have also gained speed and stability. Unfortunately, to install flatpak and snapd you need to use apt which contains outdated packages usually. So, it is not possible for LTS users to enjoy the benefits of newer versions of Flatpak and Snap.

There is nothing called "Too" cutting edge. The normal way by which apps are updated is by deploying the update to users as soon as it has been verified. They don't deploy nightly builds or beta updates. In fact, newer versions or builds contain bug fixes and newer features that optimises the performance and security updates also. You get the latest and the safest update when an app is updated. The way APT handles this is different. In APT, once the app has been uploaded to the repos it remains that way until the next distro release.

For now, I prefer using .deb installers instead because they are usually actively maintained and also integrates well with the system. I try to avoid Flatpaks and Snaps as much as I can because, although they keep getting better and more tempting, they still have some rough edges and I completely disagree that there needs to be replacement for them. That would only add more confusion to the already confusing packaging systems in Linux.

Please note that in my first two points I was just providing information to those who didn't know. I know that these are flaws and justifying the flaws doesn't mean that they don't hamper the user experience.

1 Like

Wait! Is APT supposed to be LTS? Sorry, for my ignorance :sweat_smile:

APT is not suppsoed to be LTS, no. It is simply used by LTS systems. APT can be used otherwise.
It just generally isn't, for stability.

This is a good point. However, justifying a flaw is a fallacy in its own right.
It makes more sense to address or to try to correct a flaw, than to justify or rationalize it.

I do not see how it would add confusion. Snaps and Flatpaks often cause confusion among newcomers to Linux. It is one of the most asked about subjects.
While I can see how a newcomer might find the idea appealing in some ways, many new users express a lot of confusion about Snap and Flatpak.
If both were replaced - then it would be reduced to One alternative, instead of two competing ones.
And if they were replaced with a different system - then it may resolve the resistance.

I can easily disagree with this by simply pointing out how often it is a user joins the forum having issues because they are using the latest kernel and we must help them roll back to a previous stable kernel.

I agree that this is the reason why.
However, it does not address the many problems that stem from this. I could give a long list of reasons why anything is the way it is, without making any strong case as to whether it is good or workable.
Which begs the question: How necessary is it to do it this way?

Here are some thoughts to consider carefully:
How often is a package created with arbitrary dependencies? This is actually a serious question. For some packages, they require certain dependencies to run. However, in many cases, (and anyone who has created a package will know this), the dependencies are assumed and the version is assumed as the latest version, without necessity or really checking.
Eliminating this one flaw would go an extremely long way toward eliminating some of the problems.
A Reason Why This is Not Routinely Done: this type of detailed development takes... Money. Linux is short on that... It's shorthanded, more often than not.

Carrying dependencies with, as well as isolating the software clearly has some flaws. This does not make APT perfect, by any means. Less flawed, perhaps...
The question I raise is - would it be preferable to address Linux-Wide system dependencies than to try to Isolate Software?
Snap and Flatpak offer a certain solution, but carry with it a cost that many of us find Too High.
It was a Nice Idea... but the implementation is too flawed.
Instead of defending its good points by ignoring the flaws; why not seek a means of developing a Good System - without those flaws?
And I suspect it would be quite possible- but Flatpak and Snap both offer something that means very little to the end user:
It's a much easier solution for a developer. Even if it has problems.
The general trend is: Promote and push the product that is flawed instead of investing in fixing it. Just convince the users to accept it.

Which is exactly what Red Hat and Canonical did.

And when Canonical met resistance, they tried using force.

Even now, many devs will not offer their products as anything other than a Flatpak or a Snap. This forcefulness and limitation of user experience has left many with a very sour taste in their mouth.
Changing to a better system that lacks those flaws and lacks that history really would be the way to go.
I do not, however, see that as likely to happen when the developers find it easier to just Pressure the users and take the Easy road.

1 Like

I am far from an established developer, but some ideas to consider, that I have encountered...shedding light on some of these very important concepts.

While Flatpak and Snap were meant to work across distributions...making software installation easier for users, their implementation is flawed. They do make it easier to install (since all dependencies are packaged with them). Running them are effortless as well. This is because the libraries that are necessary are packaged with the application. This seems like a solution, but causes issues due to the fact that as you run the application, both libraries (usually the same version) are loaded into memory. The OS version is loaded into memory (as is all of the other libraries that are accessed by the OS) and the flatpak/snap dependencies are in memory as it runs...so you have identical libraries taking up space on the drive and in memory. This is redundant and unnecessary.

This has an adverse effect though, since the application is isolated from the system. In order for the app to interact with the storage and peripherals, the service now needs permission to interact with the distro (which isn't implemented well, if at all because access to the file system is assumed by so many apps and only requested by a few), leaving the user needing to find work-arounds, or "hacks", in order to get the app to work in the way that it is meant.

In order for the developers of these application packages to emulate the "adroid way", which is essentially what they are doing, then evaluations of whether the dependencies are already installed and allowing the OS to perform the sandboxing, as it already performs this on any application start is the key to reducing interactivity issues. This is something you saw in Windows, installing .net(insert version here) framework....The dependency was included but not installed or utilized if that version was already installed. While some of Google and Microsofts concepts are flawed, they did get some things right, which linux could benefit from their implementations.

Now this can be at the request of certain organizations that are working on a way to minimize the desktop in order to require developers to include what is necessary to run the applications so they can make their DE's and Distro's the lightest (and more appealing to those concerned with resource footprint).

It is up to the user to be interested and learn why things work, don't work or have issues. Some want the ease of use without the knowledge of how or why. That is fine, but then do not expect it to be flawless (it wasn't in windows any more than it is in Linux). It will take up more resources, duplicate dependencies, and possibly have issue doing what it is intended. This is the issue with software as a service, even if it is a local SaaS.

2 Likes

Is Linux to be an exclusive club where end users need to understand what's under the hood, or an OS that is user-friendly and accessible? I think Zorin is doing a pretty good job at making the latter a reality, and the fact that the developers included Flatpak in 6.1 is not insignificant.

Maybe. However, when someone talks about people rather than the topic, i.e., categorizing me as a believer, that is name-calling. I have no axe to grind and asked for a discussion, not a debate. The reason I suggested a new thread was to respect the OP and not draw their thread off-topic.

I'm experimenting with Flatpak, and currently think they offer a good end-user experience. Furthermore, I like the fact that sudo isn't needed to install an app and I can use the same versions of software on different distros and OS. These are good trade-offs.

Previously, I would always seek a .deb package, but would avoid PPAs, except from a trusted provider. But that sometimes means hacking--as in getting into the underlying code not malevolent activities--which should be unnecessary nowadays unless you're a developer or sysadmin.

Linux needs a distro-independent package manager, and Flatpak is one that interests me. Previously, I would have chosen a distro largely based on my experience of the package manager. Nowadays, the distro seems less important: the desktop is king and getting any up-to-date app to run on it is paramount.

You were not categorized, at all. In any way, whatsoever.
My statement was a general one in which it addressed the nature of the debate - and this is made clear in the post:

These statements are about people and that is perfectly fine. The comments made about Developers are about people, too - and relevant and valid.
These statements also do not attack the character of either persons or people. They address human behaviors.

Believers, as the post clearly spells out, refers to those on either side of the debate that press their case because they Believe In Flatpak Or Snap Or APT Or pacman... regardless of the points made against it. Or regardless of points made in favor of the other.

However...

The following statement does question the personal character of Specific Participants in the thread - one of whom had done nothing whatsoever to warrant the comment:


What are you installing that requires you to personally compile code?
:neutral_face:

1 Like

I accept that this was not your intention, but that is not how I interpreted it at the time. I thought the replies, and choice of words, were polarizing and adversarial, which is unusual in moderating.

Expressing how I felt is not the same as questioning someone's character.

Nothing, I am pleased to say, but I wasn't only referring to compiling code; even .debs have broken dependencies. My point was that resorting the shell should be unnecessary in most consumer situations.

So far, my experience with Zorin 16.1 on my MacBook is positive: all the apps from MacOS are running well. Much more so than Ubuntu 20.04, which I have used for some time on another machine.

1 Like

When people communicate over as imperfect a medium as Text-based discussion, I consider it unavoidable that we (all) will interpret what we read.
I am as human as you are, in this.

This also happens on MacOS and on Windows. I think that in computing, things going wrong on occasion is just a fact of life.
Having to roll up your sleeves and get in and fix it is, as well.
If a person operates a chainsaw, they may need to sharpen the blades.
If they operate a motor vehicle, they may need to perform their own repairs.

I, personally, believe that we must accept responsibility to put work and effort into things.
Moreso, in Linux, where we do not have the luxury of a 2 trillion dollar company to support coverage of issues. And even so, Windows doesn't even perform at that as one might expect.
So, we get a No-Cost Operating System... a lot of great apps... And the price we pay, without being Target Marketed, spied, our data taken and sold... Is that we sometimes need to use a Command Prompt or put a little extra effort into something.
I call it a bargain.
I think it is normal for people to have wants and expectations.
I also think it is normal for people to accept that we usually do not get them met. And when we do - it costs us something. Sometimes... things far more dear than handing over some money.

4 Likes

I have to agree with Aravisian here on the stance of mjw when he said

Coming from Arch linux all I've ever known was to use the terminal and it's great using a distro where I don't have to do alot of the thinking for myself so to speak but when things do go wrong I enjoy fixing things myself if I can before the developers can and I am happy to pass on what I've done for future work on the Zorin OS.

Years on Arch has taught me that sometimes you need to get your hands dirty and fix something even if it's something small like forcing GRUB to show the bootable kernels without all the other menu's

I’m happy to get my “hands dirty”, but Zorin is for users new to Linux, and they should not have to get under the hood to get things working.

Linux could and should be as easy as MacOS (I can’t comment on Windows as I’ve not used it in twenty years.)

MacOS is a two trillion Dollar Corporation. Linux is not. In fact Canonical only pulled in a couple hundred grand last year.

Windows and MacOS users Do need to get under the hood sometimes, too. There is no refutation of this as a Very Simple Net Search will reveal all the Forums for both OS's helping users Get Under the Hood.

That's enough.

If you get into a car with the feeling like you shouldn't have to be responsible for what you own and use, people can die.

Going into anything with Entitlement and Expectations = Disappointment and learning how to learn.

2 Likes

Sometimes you need to for instance Nvidia drivers if you don't want to learn how to fix things and just want it all working for you I suggest paying for Pro so you can utilize their technical support as it seems like you're the type to use an OS and call help desk to fix simple problems.

My partner had a problem with her Mac and I did everything they asked me to do before they asked me too as I did my own research but she still called and spoke to them.

They wanted me to buy a new Mac (no surprise) I troubleshooted the problem and the network card was going so I use a USB dongle adapter and it works fine even though it's 10yrs old.