Flatpak is a missed opportunity

We welcome people experimenting with other technologies such as flatpak on their Ubuntu and don’t intend to make it exceedingly difficult. flatpak remains available in the universe repository. Similar to other vendors we have an immutable distro under the name Ubuntu Core, but this runs alongside Ubuntu itself.

Thanks for the answer!
As far as I understand, Ubuntu Core Desktop is planned to be a replacement for classic Ubuntu when it is ready.

And at this point, I just would not like to know that now part of the software will no longer be available, because… flatpak is not as a snap package :slight_smile:

1 Like

Reviewing the last 30 days of support questions in AskUbuntu: 10 questions tagged “Flatpak”, 8 of them unanswered.

I would gently suggest to Flatpak enthusiasts that they improve that community support. The current lack of community support is a real obstacle to Flatpak acceptance, and it’s completely within your power to fix that.

7 Likes

The cat is out of the box :wink: :cat:

Hmm this may well be the case but is it of relevance? As also hinted by @KristijanZic I think Snap will face an increasing uphill battle. Since virtually all other distros are nudging users towards Flatpak. Some distros like Vanilla OS are adding to the drama by frantically aiming to move over onto a Debian base.

From my subjective impression the number of available apps on Flathub is growing steadily while snapd on non-buntu distros is often outdated or poorly supported by those distros.

What’s more, despite the hypothetical QA process on Snapcraft, there are tons of apps that haven’t been update in years. How safe and advisable is it to install outdated app versions? I’m skeptical.

Simply speaking, what am I suggesting? Flatpak is overtaking Snaps and the only way Snaps can grow is by Ubuntu increasing its market share. Snaps are more dependent on paid-for developers by Canonical than Flatpak is.

I’m an Ubuntu and Snap user myself (and don’t use Flatpak). I wish it was otherwise, but Snaps are somewhat a conundrum to Canonical. Not an easy one to solve.

3 Likes

I don’t think it will change anything.

Mark Shuttleworth and topics like this contain comments indicating that it is the Ubuntu manual that is not aimed at popularizing Flatpak in Ubuntu, even as an add-on and a default preset.

Moreover, no attempts were made (at least, no one talked about them) help with the upstream Flatpak by offering some ideas to improve it for inclusion in Ubuntu by default, at least as “if there is no deb and snap”.

Given this, it is not surprising that such low popularity on Ubuntu forums among flatpak enthusiasts.

Quite the contrary: An active, contributing Flatpak support community could potentially change everything. You will recall @ogra’s earlier comment that support is an important unsolved problem.

Ubuntu’s history is clear: Real improvement occurs when community members actively contribute.

Do not be so quick to refuse to address the actual needs of the Flatpak users in Ubuntu in a manner that is already within your control.

4 Likes

This should have been a short response but it ended up being a long one, sorry. I hope all of you find these thoughts insightful even tho they probably won’t change anything. But at least you’ll have a better idea of “what’s up”. I remain hopeful that Snap project will remedy its shortcomings and will actually become a new format that can be trusted (or that doesn’t need to be trusted because it’s open so it can be audited, contributed to, checked, forked etc).

Let’s take this apart with a little benefit of hindsight we have today:

  • “users can easily discover new applications”:
    This claim has been proven untrue, users are desperately installing Flatpak because not a single Gnome app developer publishes anything on Snap store. I presume it’s largely because of the closed source core and nature of it.

  • “developers can easily publish their apps”:
    This claim is again proven to be untrue. Developers can publish their apps for Ubuntu but for any other distro Snapd is not natively shipped. Everyone else is shipping Flatpak so I need to support Flatpak to reach my users.

  • and developing Snap itself is easier:
    Yes because the backend is not being tested in different situations and issues are not being found so we can all pretend they don’t exist and have an easier time collecting our checks.
    So what if it’s easier? The adoption is suffering a lot because of that.

Canonical, the company behind Snap and Ubuntu, already tried the distributed approach and discovered its downsides. Before Snap, “Personal Package Archives” (PPAs) were the recommended way to get third-party software to Ubuntu users. The idea of these is that each developer creates a tiny repository which includes their app. Users get new software by adding the PPA and installing the software using their package manager. This is very similar to how Flatpak supports multiple “stores”.

What downsides did it discover? Even if there are any (and ofc there are) if paid off greatly for Ubuntu and Canonical. PPAs are used today, it made Ubuntu foss compliant and very attractive distribution and hence It was once a clear linux distro leader.

On Android and iOS, users often find new software by opening the app store and searching for what they need. This is not possible with PPAs because the software in a PPA only shows up in the Ubuntu app store after a user adds it. Snap solves this by having a single repository with all available apps. Users discover new software straight from the app store instead of having to search the internet.

Firstly. How is Snap being proprietary and centralised helping that? Users still have to install debs, Flatpak and everything else to get their software. So the claim that it’s all searchable from one source is nonsense. Not a single new gnome app is available on Snap store and if there is, it’s never on launch, it’s always months if not years late. Proprietary backend and centralisation is hurting the snap adoption.

Secondly, PlayStore and AppStore store should not be taken as an example. That’s what everyone is afraid of that Canonical might turn their centralised store into. It’s not an open platform. The only person who might take them as an ideal is the one who never published anything on any of their stores.
Google Play store is so tightly restricted and you have to comply with all kinds of nonsensical rules in order for them to reduce any legal risk as much as possible. By making Snap store centralised Canonical is making themself a bigger target legally and will inevitably have to restrict us as to what kind of apps we can publish. So say goodbye to your torrent apps, youtube downloaders, ad-blockers etc. We, who deal with stores every day can see that coming from a mile away and years ahead. Hence why there are other third party stores that would be even more popular if Google hasn’t tied most of the apps to their proprietary services. In any case, you end up searching the Internet for your apps. Mind you, Linux user base is highly technical, they won’t be satisfied with an app store full of consumer apps etc. Linux user base clearly uses Linux for reasons other than using WhatsApp (which you’ll never have in your store anyway so who are you catering to?).

Taking AppStore as an inspiration? When was the last time you’ve installed a third party app on your Mac from their AppStore? Never, nobody publishes there, it’s extremely restricted and takes a huge cut. So you again end up searching the Internet for your apps.

iOS store. Do you really want to go sooo far outside of FOSS ethos that companies are taking you to court and entire countries and federations like the EU are forced to come up with new regulations to make you stop your monopolistic practices? I wouldn’t follow their steps if I was a product manager.

Many developers also find creating and maintaining a repository too cumbersome. Canonical tried to make this as easy as possible for PPAs with Launchpad taking care of building and hosting the apps. Nevertheless, the process is inherently more complicated than uploading your app to a store. Although PPAs are still used by many developers, even more software is only available to download from a website.

Great, where’s the issue? I can’t see it, you have your repo, some devs have theirs and everyone’s happy. Why can’t that be with the snaps too? Why do users have to install Flatpak and then a whole other GUI store and then connect all of that, include Flathub repo etc.

Who is your target audience? It seems to me that Linux users aren’t. They are literally showing you what they want. I’d listen to them instead of trying to convince them that what they actually want is something completely different that locks them in and hurts their freedoms. That’s what Apple, Google etc are doing. And that’s precisely why your user base is using Linux and not Windows or macOS.
I cannot understand the reasoning behind some of your decisions. Like… Snaps are great, but FOSSify them and let’s move on. Make the user base feel confident and safe keep doing an awesome job. What’s so hard about that? You have engineers and more funding than ever before to do it and it would pay off 1000%.

These issues are not unknown to the Flatpak project, which is why Flathub was created: having a single store which contains all apps benefits everyone.

Exactly, they’ve created Flathub to achieve what you have with Snap Store but it’s a completely different way to go about it and that’s why Flathub is crushing it and Snap Store is not even tho Snaps might be objectively better! It just needs to be open and distributed. Wether anyone actually creates their own repo is besides the point but it will certainly drive the adoption of the main store. That’s how they think about Flathub and it works and it’s freedom respecting.

Given the downsides of the distributed approach, Canonical decided to invest engineering resources in other parts of Snap instead. Creating a distributed system is a multiplier to complexity; each feature becomes harder to implement. That said, the Snap developers made it clear in the past that if anyone is interested in implementing this feature in Snap, they can definitely do so.

That argument is the same one as when developers say to >users< “Feel free to submit patches :)”. It’s tone deaf and disrespectful. We all know it’s too big of a task for any person to take on and they’d have to maintain a for of snapd and you can change the api at any time and it would be an endless cat and mouse game.


For all these reasons even the official Ubuntu flavours were shipping Flatpak…

Snap store is filled with low quality and abandoned apps and most of them are completely non native to gnome (remember the DE that Ubuntu uses?). And while Gnome itself is going trough the renaissance with the release of GTK4, gtk-rs, relm etc. New high quality Gnome (gtk4) apps are being developed every day and Ubuntu gets none of that love.
Like Ubuntu users literally get none of the good stuff happening in the gnome app development sphere. Nothing gets down to Ubuntu except the core apps that Canonical maintains and those are often years behind.

System76 is now doing their thing with Rust and Iced too. I never heard anyone even considering supporting snaps. Just Flatpak.

Elementary was once considering shipping Snaps but eventually went with Flatpak in order to have their own repository.

And they all know Snap is objectively a better format. So what’s the problem here? Could it be that Snaps are doing completely the wrong thing in the backend, it’s proprietary and centralised?

It’s not that the technology is bad, Snaps will fail for the simple reason that they don’t conform to the Unix ideology and FOSS ethos.
You are trying to attract users who are actively making their own lives “harder” by using Linux desktop instead of Windows or macOS in the first place, often purely based on the ideological reasons and you’re trying to offer them a proprietary solution.

I would compare that to opening a bible shop in front of a mosque in Saudi Arabia and trying to sell them a holy book. And being like… “So what dude… Quran, Bible… It was easier for us to print the Bible and a holy book is a holy book anyways, right?” Guess how many sales would they have? I don’t just think they would have no sales but people would actively rebel against that shop, maybe even started burning bibles etc (hypothetically speaking!!).

That’s what’s happening to Snaps in a way. They don’t really bother anyone right? You can use them or not to use them. But people go out of their way to actively remove them from their systems. Not because they are badly engineered but because they don’t conform to the FOSS ideology and that’s unfortunately or fortunately more powerful than plain engineering. That’s what Canonical forgot in their restructuring. Go with the FOSS flow or drown trying to swim against it.

Just something to think about. If I was a product manager there, I’d start working on repairing that image and fossify the stack. It’s not too late, snaps really are great otherwise.

4 Likes

I’m by no means a Flatpak enthusiast but let’s thing about what you just said.

So there are 8/10 unanswered Flatpak related questions. Where? On >>AskUbuntu<<.

So to understand that you have to put yourself in the shoes of those 10 users. What are they struggling with?
They are struggling with Flatpak on Ubuntu. Hm. So how would a user decide which of those two are they going to be mad about?
To answer that question, I’d turn to historic examples. There was once a time when users struggled to connect to WiFi because there wasn’t a driver for their wifi card included in Ubuntu.
I didn’t see any new users hating the owner of the WiFi they were trying to connect to, or a Wifi card or the OEM or the driver developers.

I would always hear things like: “That should’ve been working out of the box!”, “Ugh! Ubuntu, nothing works!”.

Those users from >>AskUbuntu<< are probably saying to themselves in this order: “Why isn’t the app that I need available on Snap Store?!”, “Why do I have to open a terminal and install something just get to any good software!?”, “Why Flatpak is not supported OOB if that’s where all the software is?!”.

And they’ll probably install a different distribution because of this and because the point of an OS isn’t the distribution but the software you do your work on. Those users have already rejected proprietary software to move to Linux and now Ubuntu is telling them that they can’t easily get to like half of software available on Linux.

You could say the same thing about Snap not being available elsewhere but a very easy argument to defend against that claim would be: “Snap Store is proprietary, you don’t wanna support that, if you’re fine with that just go on Mac or Windows” and most would agree.

To me this looks like Ubuntu is gaining new first time users but loosing the dedicated ones that usually provide support to others and that used to make Ubuntu a warm and welcoming place or “A Linux for human beings”. Good foss ethos respecting engineering thoughtful FOSS respecting community management resulted in dedicated users base that made Ubuntu the biggest distribution 10 or so years ago. With that gone so is the reputation going away and so are the users going away and this space is just waiting for a big player to come in and pick up those users tired of corporatization of Linux space and hungry for true FOSS.

3 Likes

Kodak was a world leader in the photography sector, however, they were overconfident in their potential and believed that they would never go into crisis. The market was changing, but their arrogance led to them not adapting to the new digital paradigm, which led them to ruin.

Nokia was the world leader in the mobile phone market, however, when new technologies were launched, such as Android, they looked to the side and lost their relevance.

Even giants like Kodak and Nokia have fallen.

Ubuntu today may be the most used distro in the world. But will it be able to maintain its relevance for many more years?

Because of some decisions, I’m afraid not.

Ubuntu was already very loved by its users, today, the perception I have is that this is no longer the case, that passion has been waning, and there is more and more a certain aversion to Ubuntu on the part of the many Linux/FOSS admirers.

There are several reasons for this, one of them is snaps. Much of the current hatred towards Ubuntu is because of snaps, because they are not fully opensource, because Canonical tries to “push” snaps to its users, because Ubuntu does not support Flatpak by default.

I believe that Ubuntu would have much more to gain if the snap technology were completely open, and if Ubuntu also supported Flatpak by default.

This would be much more beneficial for the image of Canonical and Ubuntu, it would generate much more confidence, the Ubuntu project and its users would only gain with this.

I end with the thought at the beginning of this comment. Aren’t Canonical’s decisions regarding snaps a “shot in the foot”? Will Ubuntu be able to maintain the same relevance it has had so far in the future?

As an admirer of the Ubuntu project, I wish Ubuntu the best. But… if the same decisions stand, I’m afraid Ubuntu will meet the same end as Kodak and Nokia.

3 Likes

All this time, nothing prevented me from making flathub at least as an option provided by default.

You remove the flatpak delivery yourself, explaining this by the desire to remove fragmentation.

Please pay attention to everything that I indicated in my previous message.

How will the community want to somehow contribute something to what Ubuntu itself removes for reasons of “we don’t want to see it”?

I’ll be more specific.

All this time I have not seen any obstacles to make flathub, at least as an option provided by default.
The reasons why this was not done were indicated in my message above.

And specifically, Mark Shuttleworth’s statement, where he says that flatpak is not suitable because:

I don’t think they have the security story and I also don’t think they have the ability to deliver the same integrity of execution over time that Snaps have ‘cos we built those things into Snaps.

And the statement is to remove flatpak, because there should be only those types of packages that are supported by the Ubuntu community.

What is in the first case, what is in the second, I would like to know more specific arguments.


If you follow this link, then in the last 30 days (from May 26 to today) I have found 5 topics.

  • The first one was not commented on in any way (created today)

  • The second was commented with a request to provide more information

  • The third one is not related to Ubuntu at all

  • The fourth is not related to the problem of flatpak and its work in general

  • The fifth is generally considered a guide

Perhaps you had other questions in mind?
Please specify.

1 Like

I don’t foresee Ubuntu’s direction on snaps changing in the near future, but where Ian has a point is that despite that choice, it would be great to give those users who made the choice for Flatpak the support they deserve.

As noted in one of the linked posts, there is a certain level of opinion that Linux distros need to bring along to be successful. We may be wrong with the snap approach, and that is ok, but at the moment we believe there is still sufficient merit in the model and technology to explore it further.

Imagine telling Mozilla and Apple they should switch to Chromium already because everyone else is using it. Having a level of “competition” can actually be helpful for both sides, as the snap contributors are able to explore different design decisions that might not be possible with flatpak in its current architecture, and vice versa. We learn from each other in the process.

I don’t believe that open-sourcing the snap store backend is the only thing holding everyone back to give it more adoption than Flatpak, but I respect your opinion on that. People remove and disable snaps because in part because they read somewhere on the internet that it solves all problems. People remove snaps because of known issues that we’re working on. People might remove flatpaks for similar reasons, as neither technology is free of issues. In the end, the common user only cares that the application they want to use works.

Instead of arguing the for and against each technology I’d like us to focus on what we can improve. If you are using Ubuntu and you’re contempt with the defaults, help improve the snap experience. Help package applications that are outdated or missing. If you are on Ubuntu and prefer not using snaps, that is fine as well. Install Flatpak and provide feedback to the Flatpak developers if something is not working, or help others that have made their own choice as well.

Like snap enough that you think it should be more broadly available? Advocate with other distros to stop them from putting roadblocks in the way of even using snap by choice. Test it on other distros where you can install by choice and report back if there are issues.

This way we are all contributing to open source and bringing the global ecosystem forward, which is really what counts. We don’t have to agree with all the decisions a Linux distro makes, but we do need to find our passion in the software we contribute to :orange_heart:

11 Likes

I want to give my feedback on snaps and flatpaks as an app dev/designer:

The whole ecosystem around snaps is very complete. You can create an app with a description of the snap in a yaml file and knowledge about snap https://snapcraft.io/docs/interface-management

Creating an account on snapcraft is easy and then you can upload your snap and it is immediately inside the store after audit.

You can connect your GitHub repository to snapcraft and a build is automatically created for the cpu architectures you want your app to be available at.

The snap starts as fast as the binary in the local working dir.

Users happy, developer happy.

I do not have anything against any other package format (why should I?, in the end they are just packages). And I had a request for providing an app I make as a flatpak. I said sure why not if someone helps me with it. Unless for snaps there were so many extra steps needed that the app is still not made as a flatpak and in any store. I won’t go into detail but it was a lot more complicated than with the snap.

If you come from any other platform other than the linux desktop you really are looking for one app store to find and deploy your apps to. Either if you are a user or a dev.

Eventually Canonical has made snaps too early public at a time when many snaps were still starting very slowly. But this is over now for modern snaps build with the recent snap tech.

All our flutter apps start super fast and bringing them to the user is easier than ever. :man_shrugging:

Also bear in mind that the impression you have on the linux world and the “general consense” might be heavily filtered by where you gather your impressions and how. @milachew

2 Likes

As a Flutter dev myself with apps published on the Snap Store I’d agree with all of what you said except:

As seen even from this thread itself users tend not to be overly happy with Snaps. That can also be backed up with various reviews on youtube, forums etc. It’s a well known fact that users dislike Snaps. The reasons they usually give are outdated tho and the only relevant reason today is imo that their favourite apps are just not published as Snaps that introduces the first issue:

As seen by no other distro adopting Snaps. Almost no other FOSS devs adopting snaps. Even ex employees making tools to get rid of snaps. Clearly developers aren’t happy either.

One would need to study this issue first but personally, I’d be happy it it was FOSS all the way. That’s the one thing that bugs me personally and I really think changing that would change things for the whole project for the better. If for no other reason than that it would personally motivate me to introduce snap building into Gnomes CI so that publishing Snaps was a trivial task.

1 Like

No, I don’t think this is not a well known fact.
It is your impression from reading internet forums :slight_smile:

Ubuntu has more users than other distributions as far as I remember. And I am pretty sure most of them do not even know what a flatpak or a snap is. And they really shouldn’t.

5 Likes

Please, take a look at the figures.

These 44 apps have been selected from various lists on the internet, and some that I use (Xonotic and Pulsar) have also been added.

List of apps

Symbols:
1 - newer
0 - not newer/unavailable
! - available only here

Android Studio 1/0
Audacious	   0/0
Audacity	   1/0
Blender		   0/0		
Chromium	   0/0
Clementine	   1/0
Digikam		   0/0
Discord		   0/0		
Element		   1/0
Evolution	   !/0
Firefox		   0/0
Flameshot	   0/0
GIMP		   1/0	
Handbrake	   1/0
Inkscape	   1/0
Itelij IDEA	   0/0
Kdenlive	   1/0
Keepassxc	   0/0
Kodi		   0/0
Krita		   0/0
LMMS		   !/0
Libreoffice	   0/0
MailSpring	   0/1
OBS Studio	   1/0
Okular		   1/0
Openshot	   0/0
Pidgin		   !/0
Plex desktop	   0/0
Pulsar		   !/0
PyCharm		   0/0
Qtcreator	   0/1
Signal		   1/0	
Simplenote	   1/0
Skype		   0/1
Slack		   0/0
Spotify		   0/0		
Steam		   1/0
Sublime Text	 0/1
Telegram	0/1
Thunderbird	0/0
VLC		0/0
VS Code		0/0
WPS Office	1/0
Xonotic		1/0

All information was checked through Snap Store and Flathub, the list was formed on the basis of this and this page.

Of the 44 applications Snap Store delivers with a probability of about 50% an outdated package/does not have it at all.

At the same time, in the case of flatpak, if the user encounters outdated software, it is rather an exception. And the software that is newer in snap is not much newer than that in flatpak.

I can continue to bring applications from GNOME Circle or some web browsers (Vivaldi, Edge, Librewolf), which simply do not exist on snap (or outdated), but I decided not to add them.

Also note that even official individual vendors (such as Inkscape) may still lag behind in publishing their applications in snap format.

If this is an insignificant indicator for you or not an indicator at all, then I ask everyone who reads this to check both this list and any software you need to make sure how much my arguments (and not only mine) about the popularity of snaps reflect reality.

Unfortunately, we can’t find out the popularity of users of other distributions at all, but according to Steam statistics, popularity is falling.

If we compare the indicator of November 2019 and June 2023, Ubuntu became the third after Arch Linux on Steam.

Given the rather abrupt and ambiguous actions of Canonical, as well as considering that other distributions do not stand still (for example, Fedora), well, this statistic, I now doubt which distribution is really the most popular on a desktop PC.

Well, yes. You are correct to point that out. There wasn’t a formal study. Hence why I said that one would have to study this issue first. The little data that I could find confirms my observations:
https://ubuntu-mate.community/t/poll-opinion-on-snaps-and-if-you-would-like-to-see-them-as-default/22848

https://www.reddit.com/r/linuxmasterrace/comments/wgghir/poll_snap_bad_snap_good/

It’s a really weak data but I can’t really find any that would suggest the opposite results or lead to a different conclusion including on the Ubuntu’s own sites as well.

As far as the distributions and developer perspectives are concerned I’ve found this article:
https://www.zdnet.com/article/linux-desktop-leaders-unite-behind-flathub-app-store-heres-why/

There is also no data at all to substantiate that. But I’d say it’s around 33%, yes that’s a lot. If we look at distrowatch Ubuntu is in the 8th place (but that’s Distrowatch, not really a good source).

But we do. And we do what we do for the benefit of our friends, family members and other users.

The idea behind the Snap Store model is to entice users with the benefits of open source software, such as transparency, community contributions, and the ability to modify the code. However, the closed source components or backend create a dependency or lock-in for users, making it difficult for them to migrate to alternative solutions or access the complete feature set without using the closed source components and that is highly controversial within the open source community as it can lead to concerns about vendor lock-in and the potential for losing the collaborative and community-driven nature of true open source projects.

So should the users care about that (rhetorical question)? I think they already do. And while that model works well on users of other platforms, Linux users tend to be more informed about those issues and are willing to forgo the benefits of using that kind of software for the preservation of the open source model.

2 Likes

This leads me to think even more about the comment I made above. Even giants like Kodak and Nokia fell, they dominated the market and thought that the huge amount of users they had was enough to stay at the top, the haughtiness led them to ruin.

I fear Ubuntu is on the same path. Some indicators show the decline of Ubuntu, there is no longer the same passion that existed before, and there is even some aversion on the part of many people.

I hope I’m wrong, but some decisions don’t seem to help reverse this trend.

In my view it is a mistake if Canonical thinks that as it has a large share of the market they can do what they want without listening to their users.

1 Like

If you allow me… I’m a user… I’m not a software engineer but an engineer who does engineering things…
I have been an ubuntu user for more than 10 years and from time to time ubuntu is accused of breaking with the community (by not following redhat), with doing non-standard things and also that if ubuntu does not do x or y it will disappear.
So here’s my 5 cents… I’m not desperate to change where the software I use comes from, I just want it to work and occasionally discover something new. Now that’s deb+snap and I’m fine with that.

6 Likes