Flatpak is a missed opportunity

Don’t get me wrong, I fully understand the mentioned arguments. Also, IMO, Ubuntu/Canonical is entitled to undertake whatever initiative to set out directions it finds useful. I furthermore have reasons to believe that nothing was pushed upon project leads to agree with the decision. There is nothing to defend.

That does not prevent me from having some thoughts about the argumentation though, and about some of the arguments, mentioned in replies.

I fail to see what problem we are exactly fixing by putting up a barrier to install flatpaks. I am pretty sure no one is expecting Canonical to support any of the applications in the repo’s, let alone third party software in flatpaks. It has always been the provider of the software or the community, like Ask Ubuntu, that can and often will help out. I see no difference.

I read:

…A way to install these alternatives is, and will continue to be, available for installation from the Ubuntu archive with a simple command…

Drawing a too pretty picture here. Imagine an average user, downloading a flatpak. Simply getting: “Failed to install, unsupported.” My guess as a new or inexperienced user would be that it is, well, unsupported. Where does he or she get the command(s), or the fact that there is one in the first place?

I read (in the post from arraybolt3):

…With Flatpaks, the situation is much more dismal from a technical support perspective. We have little-to-no clue what quirks the software vendor(s) will have introduced since we don’t work closely with them. We have no way to reach in and fix legitimate bugs aside from filing bug reports and hoping that they will be answered. We’re going to end up with frustrated support staff and even more frustrated users…

I am not to discuss the pro’s and con’s of snap versus flatpaks, but in my experience, this does great injustice to the quality of many of the flatpaks, and paints a too pretty picture of what is happening inside the repo’s, debs or snaps alike. The bunch of flatpaks I use are essential ones in my profession and are generally of excellent quality. They work flawlessly and seem highly professionally crafted. Support for these applications is also excellent and quick, despite the fact that Canonical is not working with them (I assume). Assuming these flatpaks will instantly be converted to snaps because we think that’s the way to go seems naive.

Also:

…aside from filing bug reports and hoping that they will be answered… - No offense, but again not different from software in the repo’s.

I read (again in the post from arraybolt3):

…Ubuntu provides plenty enough software for most people in the apt archives and in the Snap Store. In the rare instances that someone needs a Flatpak…

I love Linux, I love Ubuntu, but the world does start nor end with Ubuntu, nor with the software in the repo’s. Although we’ve come a long way when it comes to available software, one of the remaining drawbacks of Linux is the lack of highly professional software for specific (professional) branches. If acceptable alternatives are available, it is mostly from vendors that provide a version for Linux as well as Mac and Windows. I don’t know a single example of these applications, distributed as snap. Not for my profession at least. We should therefore open up our world instead of attempting to create our own buble. We need third party software, and third party technologies.

Leaves me with the thought that, although the arguments to discourage flatpak seem good in theory, the arguments to embrace flatpak next to snap seem far better.

13 Likes

[…] will have introduced since we don’t work closely with them.

Which would’ve been a great opportunity to work closely with them, right? Oh, wait, right, they didn’t, because they are more interested in establishing a single standard that is forced across the entire userbase rather than letting one have a choice. The same phenomenon has been observed in the past in regards to Upstart, Mir, Bazaar, Unity, etc. Weird how history repeats itself.

Anyway, I think this classic by xkcd is a good way to describe this:

(Made by xkcd, https://xkcd.com )

That’s only possible if Canonical actually has the necessary control.
Canonical does have total and complete control over the Ubuntu archive that apt uses. And Canonical has total and complete control over the Snap repository. If something goes wrong and Canonical must step it, they can.

This argument is a well-constructed sophistical syllogism. I give you that. But it’s still fallacious at best because it misses a crucial point that is mentioned very indirectly and another about responsibility:

  • You admit that no closer work exists between Canonical and the flatpak community. Yet, this opportunity could’ve been used, also to enhance security, stability, etc. (For instance, flatpak existed since 2007) But it wasn’t. For the sake of establishing yet another standard, for the sake of having yet another ego trip. Everyone (especially those who have been active in Linux communities for decades and through the mess of “standards”) knows this. We also have seen this with Upstart, Bazaar, Mir, etc.

  • Why should it be Canonical’s responsibility of having “total and complete control” over (emphasis on “total” ) what the user installs and what not in the first place? This is exactly what has been pissing off the community many times now. It’s this same line of reasoning that was used by snapcraft devs vehemently and stubbornly rejecting to implement a simple and easy feature/command to permanently disable auto-updates by snap for snap-apps, because, supposedly, for the sake of “security”. It took until around November 2022 after many heated debates for the devs to finally cave in. This is where the utopian sounding concept of “total and complete control” (aka authoritarianism) and lack of alternatives leads one. Windows users might be habituated to that, but Linux is essentially about getting away from exactly that authoritarian behavior.

  • Another point that is being missed here is that people who would use flatpak usually know what they’re doing (it necessitates awareness of package managers to a certain degree), otherwise they would just go with the default install with snap anyway, wouldn’t they? I admit that from a commercial perspective, having additional responsibility to software that your company doesn’t support is problematic, however, they could’ve easily put flatpak as optional option in the installation menu, putting a note in there making it clear that support for flatpak is limited. Yet, they didn’t. For the sake of establishing yet another standard. (And I guarantee it’s going to fail like all their previous projects, essentially because of their anti-community stance as exemplified above)

Last, but not least I’m still waiting to see that high-quality team Canonical is supposed to have, that keeps track of what’s going in and out in the snapstore. Evidently, this is not the case and we’ve seen that many snap-apps get accepted without further verification on their safety (and people with a good sense of intuition know exactly why; Having a looot of apps on snapstore makes a good selling-point).

Again, the whole “tech support” argument is fallacious at best. What exactly would have prevented Canonical to just add a minor note that flatpaks will not get any support from the Canonical Team if installed? What prevented Canonical to make it an optional option in the installation menu? What would have prevented Canonical to cooperate with flatpak maintainers? I can tell you: Profit maximization at the expense of the community. And that’s all what it is.

7 Likes

Where do you get this date from ? Please see:

https://flatpak.org/press/2016-06-21-flatpak-released/

Snaps were originally created in 2014, were used pre-installed in the first UbuntuCore deployments in commercial dell iot gateways in 2015, about a year before flatpak existed at all.

When we started snap development, we actually took a look at the xdg-apps project (which later became the basis for flatpak, but was back then a single-developer side project and did not have a lot traction in the community), but found it too limited for our use case (desktop only, tied to certain services you did not have on server, cloud and embedded devices, etc)

I’m not sure how this myth came up that snaps were a reaction to flatpak, they clearly were not, they were the evolution of technology we started with the ubuntu phone.

Flatpak was only announced by redhat during the week where canonical was holding a sprint to finish the initial snap desktop integration for the 16.04 release. At that time snaps were already used a lot in industrial, cloud, telco, robotics, you name it…

… do you think canonical should have thrown away several years of work, should have told commercial and enterprise users to stop using snaps and should have instead invested into a project that had already been ruled out for its technical limitations at the start?

16 Likes

There is no point in Arguing over this topic, , some are still arguing on predefined perception like one cant stop Auto Update of snaps but the fact is that newer versions do have such option, same is of firefox etc. some dont want to update the perception regarding snaps, they stiil use the example of Snap’s early stages and lackings but ignores New Improvements and Additions. No Point in Arguing over this, Linux is all about choice, one must do what they like, Snap is a integrated part of Ubuntu Ecosystem, use it or remove it depends on one’s use case but imposing your decision or ideology on others isnt good…

5 Likes

This is a somewhat modified version of the classic “why does nobody care?” argument. What opportunity? There never was one. If you want to try to juggle that much work, be my guest, but don’t assume you can before you’ve tried to. I, personally, have never even tried to maintain a Snap or any part of the Snap Store, nor have I tried to maintain Flathub or any Flatpak in it. My plate is full and overflowing just trying to help develop one flavor and help with just the apt archives. You imagine that the Ubuntu developer community would have been able to work more closely with Flatpak. That’s not possible without a lot more manpower that we don’t have. Which means the reply I have is the same classic “if you don’t like what we’re able to do, then help out.”

You miss my point here. Every single major distro has total and complete control over at least some of their software repos. If Canonical is evil for having control over the apt archives and Snap Store, then Fedora is evil for controlling their rpm archives. Debian is evil for having control over their apt archives. Etc., etc.

No distro can dictate what a user can and can’t run. It is true that design decisions made by the distro’s developers can make some apps easier to run than others. But the developers must make some design decisions unless they want to leave the user to build every single thing from source themselves. In that instance, all we would need it Linux from Scratch and the entire rest of the Linux world could pack up and go home.

Why? And if that’s true, what’s so egregious about having there be one extra command to run and a slightly larger download to get Flatpak enabled? If Flatpak users are more experienced anyway, then why are we having this argument? It’s not like the Flatpak package isn’t still in the Ubuntu archives - as the original post states, the package is still installable, it’s just not on the ISOs by default.

We’re not worried about the savvy users who know what they’re doing. We’re worried about the less-experienced users who learn about Flatpak from a blog post on OMG! Ubuntu! or whatever, and proceeds to use their GUI app store to add Flathub as a source, then end up frustrated with an app they downloaded and jumps on the support forums. These are the people who are going to be frustrated and who will frustrate us.

I slightly modded the above quote. If you think Canonical is bad for wanting to exclude Flatpak from being installed on flavor ISOs by default, then shouldn’t Fedora be ashamed that they are stubbornly refusing to help with Snaps? No. Of course not. Fedora isn’t invested in the Snap community, likely doesn’t have the manpower to become invested in a significant way, wouldn’t be to blame if they had the manpower but not the interest, and likely isn’t prepared to support the changes we may make on our side. Likewise, Canonical isn’t invested in the Flatpak community, doesn’t have the manpower to become invested in a significant way, wouldn’t be to blame if they had the manpower but not the interest, and is not prepared to support the changes the Flatpak developers may make.

3 Likes

I’m not sure how this myth came up that snaps were a reaction to flatpak, they clearly were not, they were the evolution of technology we started with the ubuntu phone.

This is a strawman fallacy. I did not claim that snaps were a reaction to flatpak. Either way, be it myth or not, the opportunities were there to cooperate with them, to build up a support team. Whether they were called xdg-apps or flatpak since their first release in 2016. (And flatpak surely enjoys a wide popularity that it definitely warranted such) Having alternatives and connections is always a good thing (and I thought this is what “Ubuntu” is about, a community of communities). In fact, I’m pretty sure there are more than enough devs that would gladly volunteer.

But, again, this would go au contraire to Canonical’s obvious business interests. Alternatives always stand in the way of a monopolistic structure. This is not supposed to be antagonizing (but ethically questionable, at least when it comes to the commonly shared philosophy of Linux in relation to the community), this is an objectively, empirically verified indisputable fact observable in most companies. And from a purely profit maximized perspective that surely makes sense, but it goes at the expense of the community. And the latter is what others and I care about.

do you think canonical should have thrown away several years of work, should have told commercial and enterprise users to stop using snaps and should have instead invested into a project that had already been ruled out for its technical limitations at the start?

Your (obviously) loaded question does not reflect the presuppositions that I agreed to or claimed, therefore yet again, fallacious and misrepresenting what I said. No, I don’t think Canonical should have thrown away years of work. However, they should give the average Linux user the opportunity to use alternatives that aren’t just [Your “universal” standard here]. My other points I brought up are questions, hypotheses, such like what necessitates that Canonical should have “total” control over what the user installs and what not and I referred to the example of stubborn behavior of not implementing relevant and demanded features which makes this question even more so relevant.

But look, my main point is not to discredit Snappy as a whole. My main problem is the obvious authoritarian stance of whoever is responsible that want to diminish the ability of the community using any alternative for the sake of forcing a standard upon all users regardless if commercial or private. Just take removing snap from Ubuntu for instance. While technically not difficult, it’s obvious that this hassle that is put upon the user serves the purpose (or at least, it’s teleologically and ethically what comes from it) of not even having them try to delete or mess with snap at all in order to avoid breaking their system:

You need to remove all snaps in a particular order, then delete the snap daemon via apt. At this point, you’re still not done. Next you will have to figure out how to get the apt update command to stop re-installing snap automatically. You do that with nosnap.pref and add the necessary lines and put it into the appropriate directory. And despite all that, you will still have to fiddle around with sudo apt install and add the PPA repositories (for Firefox, Chromium and who knows what else we have to in the future, which I find more concerning) and being careful to not forget the --install-suggests parameter when installing gnome-software, because if you don’t use it, it will – surprise – , install snap again. This is the kind of obtrusive behavior that I expect from a modern Windows OS, but not from a Linux distribution.

Give the community an easy, direct and simple way to uninstall snap (completely), like we asked to give the user a simple way to disable automatic updates for snap-app updates (which you all did give us, after long unnecessary debates). And let the community have alternatives. That’s all what people really have been asking for. And not having to engage in endless discussions and beg for a feature that should be self-explanatory.

@capecrusader-121

they are never going to respect facts, they are still arguing on predefined perception like one cant stop Auto Update of snaps but the fact is that newer versions do have such option, same is of firefox etc.

This is incorrect. I precisely did acknowledge and very clearly said that newer versions now have that capacity in my first reply to this thread. The point was under what circumstances this update finally came to be and why it was implemented this late, which is what I criticized. So, please avoid lecturing others about facts if you strawman my arguments. It’s really just hypocritical.

They dont want to update the perception regarding snaps, they stiil use the example of Snap’s early stages and lackings but ignores New Improvements and Additions.

No, I don’t ignore new improvements and additions. In fact, I’m not against snap in general. But I question the idea of attempting to monopolize a package manager and thus have the user slowly, but surely give up control over their system (and given the odd hassle that one has with uninstalling snap, my concerns are, to a certain degree, even factually and experientially justified). You clearly did not understand what I was talking about. I advise re-reading what I wrote above.

In response to the dialectical attempt of @arraybolt3 using a modification of my quote against me: Yes, I absolutely would have the same issue with Fedora trying to force everyone to use flatpak and rejecting corporation with Canonical. So swapping terms (and expecting me to somehow(?) reject the same predicate) is not really helping your point. I’m categorical in my reasoning. But, I should mention here that there is a slight semantic difference though (but might be not quite relevant) and that is that according to the maintainers of nextcloud-snap there are major security issues with snap on different distros than Ubuntu, as they do seem to be running unconfined and as root. And looking at their wording, it seems like it’s going to stay that way (their reasoning is definite, as if it is a closed-case).

So, even if there had been (behind closed doors somewhere) attempts by Fedora to cooperate with Canonical and snap maintainers, it would probably have been futile and a risk not to take and on the other hand this “problem” seems to be oddly beneficial to Canonical from an economical perspective, because, well, it forces you to use Ubuntu if you want to use snap without dangerous security risks. Thanks for reminding me about this again. It only further solidifies my concerns.

Linux is all about choice, one must do what they like, Snap is a integrated part of Ubuntu Ecosystem, use it or remove it depends on one’s use case but imposing your decision or ideology on others isnt good…

Yes, Linux is all about choice, but that doesn’t suddenly prohibit me or anyone else from criticizing a state that many are displeased with. This is like telling someone to leave their country because they aren’t satisfied with X (which is absurd, especially if they like their country and would like to see it succeed). Sure, I have no problem switching to a different distro or becoming a distro nomad again. That’s what’s great about the Linux world.

But the thing is, I like Ubuntu (I used it since 2007 when my cousin first installed it on my Desktop). And because I like Ubuntu, I point out why I think this hyperfocus on snap and monopolizing attempt is not the right way to go (It’s also somewhat of a warning and reminder if we consider the past failed projects by Canonical that had similar goals), at least from a community perspective and especially not if snap behaves in an annoying, obtrusive way as soon as you try to get rid of it. Especially this is a really good way to just piss off the community. So, in that sense, the snap developers themselves (either consciously or unknowingly, I don’t know) are heavily contributing to the antagonization of snap.

So, again, I’m not saying to abandon it as a project. I’m saying to not just drop support for popular flatpak if technically it’s very well in their power to build up a support team for flatpaks by actually engaging and communicating with flatpak maintainers (which they could’ve done, but didn’t). I’m saying that snap can still be improved in the regard of making it less difficult and less annoying to get rid off if one doesn’t want to use it, to not force it as a standard to everyone regardless if commercial or private. Etc. If they don’t want to engage with these demands, then fine. I don’t own Canonical, I ultimately can’t force them. I’m okay with that. But that means that I, and many others, will have to look for a different distro that respects the demands of communities.

Regarding “ideologies”, I think it needs to be noted here that Ubuntu, and any other distro pretty much enjoys the popularity they have precisely because of these ideologies you and others seem to dislike so much. But it is incorrect to say that I (or others) want to “impose” an ideology. It is always used only as a regulative in the face of an imminent violation of these generally accepted principles (because, at the end of the day, nobody stops Canonical continuing their path, so it isn’t a prohibition and we can’t really impose anything).

On a different, more off-topic manner, I would like to clarify that these principles are neither solely ideological nor philosophical. They’re both. Linux (or, if you want to go further back, GNU) began as a philosophy and each of the prepositions were carefully discussed, weighted out, modified and agreed on. Now Linux (or GNU) is a closed philosophy, therefore, yes, likewise ideological. But that doesn’t mean that any of the principles it follows are solely normative, as in the sense of “I believe in X, so it’s true”. They have proper, justified (yes, even a priori) reasoning behind them, so that these justifications are without a doubt proven by practical reason. (For a starter, I recommend reading Immanuel Kant’s both critiques, especially practical reason)

So, if it weren’t for critics who act as a regulative to monopolistic attempts, we wouldn’t be enjoying the diversity of distros we have right now. The fact that you can say: “Linux is all about choice” is only possible because of the ideologies and the categorical rejection of having an universal, monopolistic Linux distro everyone is forced to use (even though, technically, no one would stop anyone from pursuing that goal, which is why the ideology is regulative, not imposing or forcing). Qed.

2 Likes

Please respect others during discussion, as per the Ubuntu Code of Conduct. Just because someone has strong opinions doesn’t mean that they won’t respect facts, nor does it determine whether they are right or wrong. I have a strong opinion that Canonical and the Ubuntu Flavors were right to agree to remove Flatpak from the ISOs by default, and @Kaje has a similarly strong opinion that this decision was unhelpful. We can both voice our opinions and discuss it without accusing each other.

9 Likes

A solution for the other distros, that is based on ubuntu:

  • I guess they can ship without flatpak “by default” and in the installer have a checkbox to setup flatpak. Then everyone is happy :smile:
4 Likes

Well, here’s my perspective. I use both Ubuntu and Linux Mint, and I think Ubuntu’s Snapcraft is better in that there are far more proprietary apps and more apps in general compared to Flatpak. However, I do like having access to Flatpak for Mint.

These two are dichotomous and really depend on your needs. Snapcraft has evolved to the point where I cannot tell the difference in startup performance on modern hardware. Not only that, but as aforementioned, Snaps have more access to applications. If you want Flatpak included in default installations, use Linux MInt – which is still built on top of Ubuntu – but with Cinnamon DE.

2 Likes

The only problem I have with Snaps, and indeed, a problem I’ve had for quite some time, and something that I wish contributors at Canonical could explain the reasoning behind, is why core GNOME components, like the software, or calculator app have to be snapped. It takes away some of the core funcionalities of GNOME shell (like centralized search). Why not stick to a pure debian base, and provide Snaps for third party apps only? Whenever I run Fedora, I’m surprised at how much information is offered via the notifications area (with regard to weather, search results) and in GNOME Software. This, I think, should be kept intact in Ubuntu. In other words, as long as Ubuntu uses GNOME Shell, it should make sure it’s the best debian-based GNOME experience. It currently isn’t.

Other than that, Ubuntu is still the best! :wink:

3 Likes

They don’t and they aren’t.

GNOME Weather isn’t installed by default. You don’t get results from GNOME Weather if it isn’t installed. If you install GNOME Weather, then you get weather results in the Activities overview and the notification panel and so forth.

This has nothing to do with snaps at all.

4 Likes

I gave the example of Gnome Software and Calculator, but just for you, I tried it with Gnome Weather just now … Gnome Weather shows weather updates in the notifications area, snapped Weather does not.

Just like Gnome Software shows search results in centralized search, whilst Snap Store does not, Gnome Calculator shows … etc. I’m not going to repeat myself here. If you don’t believe me, I suggest you try it.

My point remains, and it has everyting to do with Snaps. I think core Gnome apps should not be snapped, because it cripples the Gnome experience.

1 Like

Our goal is to provide the best user experience. Ubuntu includes uptodate deb versions of all the GNOME components and our default installation hasn’t included snaps for GNOME components since Focal.

We do provide those also as snaps as an option though which makes easier to get newer versions for users who want them but also for Ubuntu Core users (which is based on snap for the base system and where deb can’t be installed).

The fact that search providers aren’t currently working is a known feature gap we are working on resolving even if it takes longer that we would have liked. You can find there the details.

8 Likes

Other package managers being any easy install from the *buntu installer still puts it in the critical path of the user experience, and would be no different than providing it by default. It may even be more prominent than just providing the executable, and would hence infer a level of support. Some flavors are looking into ways to provide a more optional install experience that sends a clear message, however it is also not our intention to create an deliberately negative experience for those who do want to make an active choice for a different package manger.

2 Likes

This sounds great, thank you so much for your response.

4 Likes

I would like to ask a question because I am interested in helping to promote convenient and better (technical) solutions to users.

I understand the concept of snap and the reasons why it is being promoted so actively.
But I am a little confused by the following:

…With Flatpaks, the situation is much more dismal from a technical support perspective. We have little-to-no clue what quirks the software vendor(s) will have introduced since we don’t work closely with them. We have no way to reach in and fix legitimate bugs aside from filing bug reports and hoping that they will be answered. We’re going to end up with frustrated support staff and even more frustrated users…

Ubuntu by default includes multiverse and universe repositories and supplies proprietary drivers.

If there is a problem with them, you will also need to somehow contact the suppliers to solve the problem.

How is this different from solving the same potential problems with flatpak?
Why do you think creating close ties with flatpak vendors and contributions there in this way is worse for Ubuntu than promoting and improving snap packages as a desktop solution (along with a cli/system/services solution)?

4 Likes

I also do feel that excluding Flatpak is a big mistake and is moreover “harming” the “Linux ecosystem”

How can we say that “Linux has crossed 3% market share” is we can at least say that the “Linux app store” has this icon ( OK or discover on KDE ) :

image

And also , what users will think when they cannot find an app on the ubuntu app store although all their friends can find it on their steam deck and other fixed distros ?

This why the first thing we do is removing snap-store and installing gnome-software-plugin-flatpak

1 Like

Well if we can’t have flathub repo set in snap-store , at least we ask to be able to open flatpakref file with snap-store , so we can send the web link to flathub and the installation is available for a normal user

@ogra I don’t see how you can ask a normal user to fire up the terminal to setup flatpak support when our initial goal for the ubuntu project in 2004 was to enable people to use linux without the terminal.

2 Likes

If you think Flatpak has already entered the Linux ecosystem, you’re right.
Flatpak is already quite widespread. It has more desktop(!!!) apps and they are much more updated than snap. Its “security history” is transparent and available on the relevant GitHub pages, unlike Mark Shuttleworth’s claims that it is not transparent.

And since Ubuntu plans to migrate its entire OS to snap packages, flatpak unfortunately remains in an even more suspended state.

And that’s really the solution. Those who say Canonical should abandon snap completely are too hot and biased.

Snap is very convenient and works well on servers. But as a desktop, even if you fix it technically, it will still lag behind Flatpak in both ease of updates (close the app to update…) and popularity.

A developer who just wants to publish his application with minimum effort is much better off doing it in Flatpak (if he has a goal to support only 1 format) than doing it in a package format that with all the protections only works in Ubuntu and such, and even if that user puts that snap in another distro, he will probably encounter messages like “if possible give up snap”.

That’s ruled out.

If it is a Snap Store, it should… store snaps :slight_smile:
However, on GitHub the new store has made it clear that they only want to support deb and snap format.
They won’t have enough resources for Flatpak. I don’t think they should be blamed here.

Flatpak is not officially supported by Canonical, so there you go.

However, when the GNOME store adds (or has already done so) a button to upstream with the ability to install Flathub, there will be some controversy.
Although Discover already has such a button.

2 Likes

Well, that’s just not true. Either because you want it to be not true or maybe you just didn’t use any snaps.

4 Likes