Flatpak is a missed opportunity

Why isn’t that true?
About updates, it’s true. Only updating deb packages causes the running software to terminate. And this approach is not so terrible for the user, since it is not automatic by default.
Flatpak wins in this respect. Forcing it to be updated at runtime on Firefox… has no effect whatsoever on workflow. You can continue to create tabs, update them, create new instances of windows. And only when the user closes everything and reopens Firefox, then it will update. And this is the most convenient and most practical approach to updating already running applications at the moment.

About popularity… those are logical judgments. Snap is only recommended and fully functional on Ubuntu systems. In other distributions it works only because there is a person who supports this package in repository. If you ask a Fedora, openSUSE, Manjaro forum for advice on which package to install, flatpak or snap, the vast majority will say flatpak. Because it is generally more suitable on those distributions for the reasons mentioned above (more support for themes, more flexible resolutions can also be added).

That is, to increase the popularity of snap packages, you need to either spread to other distributions with full support (some promises were made in 2016, didn’t get very far, as you can see), or increase the popularity of Ubuntu and derivatives (at least the dynamics of Steam show that to Ubuntu itself popularity is falling, although I admit it’s only a fraction of all other users).

So, where you find any untruth here, I don’t understand.

2 Likes

Honestly, I don’t think anyone would have any complaint with snaps if it wasn’t a proprietary service. Sure, the client is open source but it’s of no use without a backend. Snap client doesn’t have repos, the current store is centralised and that’s why it’ll eventually fail. There is just no incentive for anyone to package all the nice new GNOME apps just to host it on someone’s proprietary store.

Even tho personally I really love snaps, I love the ease of use, I love that it works on everything from desktops and servers to IoT and I’m even prepared to live with the much slower startup times (compared to deb) until they nail it down better. I still think that if Canonical doesn’t FREE up the backend services and allows for the creation of third party stores or repositories it will all fail miserably.

And I don’t think that if they were to open source the backend that everyone would suddenly start creating their own stores. It’s not even about that. It’s about the ability to do so if you ever need to. It would mark the technology as completely FOSS and safe to use long term. I think that by freeing the backend Canonical would see great growth in app submissions to their own store.

I think opening and developing the backend so that’s easily deployable by anyone, distributing it etc wouldn’t lead to massive competition but it would rather green-light the whole Snap story Canonical is trying to push and it would motivate developers to publish. I know that it would certainly motivate me to package Gnome software into snaps and I’d probably feel safe to use snaps in my cloud, iot etc. And guess what, I wouldn’t even spin up my own store. I’d still publish on Canonical store but the ability to spin up my own would make me feel like I’m choosing a standard, it’d make me feel much safer that if I ever needed to I could spin up my own store or a repo.

As it stands now, I’m just admiring the tech from a far while using everything else besides Snap to do anything serious because I don’t have confidence in being able to recover if something suddenly changes, if their service goes down, if they decide to abandon it like Click package format before Snap?

But most importantly Snaps not being fully free software will never gain a significant adoption on Linux so why would I ever want to depend on it?

I remember at some point somebody started either open sourcing the snap server or doing a rewrite or something. I’ve done a web gui for the store, it was when Unity8 was still being developed or right after it and I remember having conversations with FreeBSD and Apple developers and them being interested in bringing Snaps onto macOS but were turned down on the snappy irc channel at that time.

Overall, great stuff bruh. Too bad you gotta force feed it to drive adoption instead of just opening it up and onboarding contributors…
Personally I thought for years Canonical will open it up, allow for a distributed backend etc. I thought that the backend must have been so badly written or architected that they were ashamed to open source it but after so many years of waiting for it I’m kinda looking to other formats to take the role of an open standard as Snap just doesn’t have any prerequisites to be that. Too bad.

1 Like

Regarding the snap store backend I’d encourage you to read this post by Merlijn which has some very pragmatic reasoning. There has indeed been a prototype open source snap store given the protocol is open source, but as noted in the article there hasn’t been a strong interest in maintaining it or making widespread use of it.

If at some point in the future Canonical decides to abandon snaps, a sufficient part of the protocol chain is open source for someone else to pick it up should there be sufficient interest. I don’t believe this will be the case for the foreseeable future though. If the time comes, there would still be opportunity for open-sourcing the backend parts.

3 Likes

Can you tell us if the day may come when you will compose the system in this way (for example, it will consist only of snaps + the ability to install containers with deb/rpm) that flatpak itself will be technically impossible to install?

Or will you try to keep the ability to install it on *buntu systems (for example, if there is a big request from the community)?

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