Actually, the better question is: When will they replace most desktop Linux programs?
Snap? It is fundamentally broken and Canonical shows zero interest in fixing that. Instead they try to patch applications to not be as awful when running via Snap.
Firefox is the best example, its a big application and suffers greatly from taking forever to start on Snap because of course the filesystem image is compressed, so it needs to be uncompressed, mounted and then firefox can start which is still slowed greatly due to snaps poor I/O performance.A unpatched firefox took 30 seconds to start on Snap, they patched it to load only one language pack and some other small things, and now it starts in incredible 15 seconds.
Which is shit poor compared to the native firefox starting in one second and the flatpak starting in also one second. All on the same machine.
Snap is by far the most cruel joke out of canonical.
Flatpak has no such problems.
100% agree. Snaps are kind of neat for server stuff (easiest setup of Nextcloud I’ve ever done, even though I switched to Docker in the end), but man the desktop experience is god awful.
I had to setup an Ubuntu VM at work to run something I couldn’t do on the Windows host, I tried to open Firefox and it took ages to start. I literally began trying to troubleshoot why it wasn’t opening before it finally started. Completely unusable and I have no idea why Canonical thinks this is an actual competitor to Flatpak.
Snaps are kind of neat for server stuff
Theoretically yes, until you find out that Snap will force update your server snaps without any way to disable it. Best you can do is pause it. This is absolutely unacceptable for anyone serious about server stuff.
Can’t tell how’s snap today. I refused to use it when snap vlc couldn’t access an external drive, and it wasn’t by mistake, snap couldn’t (and I’m nos sure if it can today) access external drives. I looked how to fix it and apparently canonical knew it and was ok with that, they said it was a feature of snap packages so, bye bye ubuntu, hello manjaro (back then, now I use debian)
If you want to keep building Linux and its apps with stone knives and bearskins, you can – more power to you. But, the future of the Linux desktop is here, and it’s going to be containerized.
Nice job antagonizing your readers. This is insulting and totally uncalled for. I know that his job is to sell clicks but he has completely lost credibility with this one.
Its the register, their tag line is “biting the hand that feeds IT”.
For a while they would produce playmobil scenes of stories, they covered Paris Hilton alot because she is clearly IT related.
They used to refer to Google as “The Chocolate Factory”, so clearly everyone who worked there was an oompa lumpa.
There is usually some insightful analysis buried under the biting satire, jokes and general sillyness.
Personally I am still hurt the suggested DxC Corporate Slogan “we’re not happy, until you’re not happy” didn’t win the poll.
Probably unpopular opinion: I hope that happens sooner than later.
I always saw packaging every piece of software for every distribution as a lot of duplicate work that could be better used somewhere else.
As an example, Gentoo’s default repository has ~18k packages (not to mention the many other packages in additional repositories), each one of them with its own building script, maintainers and tests.
Most of those packages are also present in other Linux distributions, again with their own maintainers, different building scripts and having passed their own tests.Doesn’t that sound like a lot of duplicated work for each distribution that could be used instead on improving the core system and pushing the burden of packaging applications upstream as flatpaks?
Also, since flatpak packages dependencies with the application, they could fix the dependency hell problem in a big part because the developer will determine what dependencies your package runs with, instead of relying on whatever version of the dependencies may be installed in your system.
And it could also solve the quick death of Linux applications. I’m sure most of you saw how quickly applications get unusable in Linux. You find an application you like, but because it was developed for an older version of some library (like OpenAL or GTK+2) you cannot use it anymore.
Have you seen that in Windows? You can still use most of the applications developed for Windows XP in Windows 10.That of course has its drawbacks. Because you are packaging dependencies with the application, you will have duplicates of the same library for each application, but I think that’s a fair price to pay for more stable and durable applications. That’s very similar to what Windows applications do.
I’m talking about flatpak. Like most of the people here, my experiences with snap were bad, I am not interested in it and I think it’s Cannonical going their own way.
I hope the opposite, because I bloody hate how everything is a huge package. I don’t want to download a bunch of massive packaged apps just because one library needed to be updated, or have one packaged app with a persistent security flaws because - despite me updating the library in my system - it’s still running an older version.
I hate that shit doesn’t work because the monolithic container conflicts with local security policies (for example, when I couldn’t use separate browser profile directories).
Everything is huge now and while drives are bigger these apps are taking way more then their fair share
I hate running “mount” to see my partitions and seeing a dozen freaking snaps.
It may be a useful solution for a few key apps - similar to the “portable apps” on Windows but I don’t want everything to be a damn snap and personally wish I had more choice as to what was (but in make cases they’ve supplanted native packages entirely).
I couldn’t have said it better myself. The wasted space because of duplicate dependencies is negligible and worth it.
No, and it is better no. I want to have control and freedom on how I install and use Apps. Not to mention both of Flatpak and Snap is not storage efficient (compared to native). So for me who uses low end laptop with small ssd, native apps with their shared library is the way to go. I hope even when Flatpak and Snap goes popular, distro which stick with native apps also exist and usable.
As someone from a developing country, I still prefer most of my software from standard packages, in order to take less space.
And before someone comes to tell about how cheap storage is nowadays, it can be cheap for you, but it isn’t for me and for a lot of other people.
If you use btrfs with dedupe it’s much less inefficient than ext4.
btrfs has dedupe? Is it possible to enable after-the-fact or can it only be done on new partitions?
Man, the experience with firefox in Ubuntu right now is kinda painful with the snaps. Updating in the background causes the browser to crash or become unresponsive.
Snap is fundamentally broken to the core. Just use flatpak.
I want both. Flatpak has saved me some heartburn a couple of times, but the distro I’m using dramatically reduces the need for it. I like native applications running with the shared libraries present on my system. I use flatpak as an escape hatch for when that breaks, meaning I’ve used it twice.
God I hope not. Especially not snap, it’s so painful and slow. AppImage works fine enough I guess. I don’t want an ecosystem where more and more developers go with these only and neglect being able to install at a system level.
That is unfortunately the future because maintaining packages for a million different distros is painful to say the least. The best you can hope for is native packages for the top 10 distros. Everyone else will have to deal with flatpak.
Doesn’t that just depend on whether or not the people maintaining are happy with the flatpak experience? If they’re not, they’d probably keep maintaining their packages.
There are a limited number of build systems and most build systems have some form of dependency management built into them.
Upstreaming modifications so projects can be built using standard build commands is a more monotonous than difficult.
Doing that lets distributions reuse build pipelines accross multiple projects, which simplifies their support burden.
Similarly there are also a limited number of packaging formats and 3 main distributions which most things branch from. Configuring a project to produce an aur, deb & rpm for their base OS layout (e.g. Arch, Debian & RHEL) is again monotonous but helpful to have upstream.
Take an Electron App, this is based on Node.js and will use NPM or Yarn to build and retrieve dependencies.
While both support script extensions, the convention for NPM building and releasing is:
- npm install
- npm build --if-present
- npm test --if-present
- npm publish
NPM provides libraries to create, aur, rpm and deb artefacts. You would add them as additional scripts, which are called as part of prepublish script (which gets called as part of publish).
There is no reason that can’t live upstream.
The problem here is that most packages aren’t maintained by developers, but rather by independent package maintainers from respective distributions.
In my eyes, this adds another potential point of failure outside the control of the developer of a given tool.
In my eyes, this adds another potential point of failure outside the control of the developer of a given tool.
On the contrary. The Fedora maintainers saved all their Audacity users when audacity introduced a spyware in their build. The flatpak had the spyware for months while the Fedora release of audacity was made secure by the maintainers. I value this, if you remove the people doing it then you remove value for everyone. It all comes down to how much you value your privacy.
Windows has a fantastic model where every software just work. It’s great! The result is an abomination of devs stealing your data or doing whatever mess on your computer. “Free software” was synonymous of red alerts and we used programs like Adaware or whatever cleaner software. Each months there was another new cleaner utility. When was the last time you cleaned your distro?
Try to expand the scale of flatpak and you’ll see that you will hit the same problems that any other distro.
I don’t really see Fedora maintainting a patched version of audacity as a fault of Flatpak, though.
Flathub is designed to allow developers to publish their own software in the way they intended. So Flathub and Flatpak are doing exactly what they’re designed to do
Well, I can’t give you a better example of the effect of auditing softwares for your desktop. One source, Fedora, had the app patched, while the other, official on flathub, published the flawed version on purpose.
You’d prefer to run the flatpak version of audacity with the spyware on? I don’t buy that.
Flathub is designed to allow developers to publish their own software in the way they intended. So Flathub and Flatpak are doing exactly what they’re designed to do
Okay, so it’s another way to phrase that you really preferred the version of flatpak with the spyware, since it’s the version intended by Audacity. With flatpak and flathub you are alone.
Fedora and their maintainers offer you a layer of no-nonsense, you should think twice before writing it off. I don’t think that you fully realize the quality of what you have right now in your hands in term of desktop. Popularity has a price and Windows users paid the price for it.
There is no need for. Flatpak as an additional format is nice to have, but I don’t want to trust 200 independent sources. I want to trust my distribution who test and bring those stuff together into a native packaging format, specialized for the distribution. I don’t want to fiddle with every Flatpak application until it gets the correct rights for my setup or try to make it look like any other native package. Flatpak does not even work with CLI programs (but could be extended to in the future).
Flatpak is great for big and complicated programs, such as Firefox and LibreOffice. Especially if they get a lot of updates and need to be as fast as possible distributed, such as any web browser.
I sure hope not.
I’m in the camp of thinking Flatpaks are definitely the future for GUI applications. While there are definitely cons…
-
CLI applications are not feasible as Flatpaks. This isn’t what Flatpak is designed for, standard package management will still be needed here.
-
Dependency duplication wastes storage space, but I’m personally willing to give up a couple GBs for the benefits I get.
-
Developers might package their application incorrectly. This is possible, but it hasn’t caused any notable issues for me in the 2 years that I’ve been primarily using Flatpaks.
-
As far as I’m aware, Flatpak doesn’t have a way to allow applications to set udev rules. This generally doesn’t matter, but for something like Steam Input, you will need to install the steam-devices package or setup udev rules manually so it can manage your controllers. Google’s Android Flash Tool also doesn’t work out of the box in the Chrome Flatpak last I checked.
…The pros more than outweigh these (in my opinion at least).
-
Non-distro-specific packaging means you can use Flatpaks on whatever distro you want. You can have more up-to-date applications on stable distros like Debian, or on smaller distros that don’t have the resources to package every application possible. Rather than Red Hat spending a significant amount of time packaging LibreOffice for RHEL/Fedora, they can just rely on the Flatpak and spend time on more important elements of the distro itself. There’s also Bottles, which enters dependency hell if packaged incorrectly, they had a blog post about this a while ago.
-
Application files are stored in one place in ~/.var/app. For some apps this doesn’t matter, but it keeps applications like Steam from cluttering up your home directory with random game saves and other garbage. This also makes backups easier since you already know where all applications keep their files.
-
It makes immutable distros actually usable, which I believe will be the future for some use cases.
-
Permissions management. Even if no one is setting privileges for their applications correctly right now, having the groundwork for this in place will be important if more proprietary applications are going to be ported to Linux in the future.
CLI applications are not feasible as Flatpaks.
Simply wrong, there are already lots of CLI applications on flatpak.
Having to prefix commands with “flatpak run org.whoever.whatever…” gets old quickly, and setting aliases to get around it isn’t user friendly. It’s certainly possible, it’s just not practical (which may have been a better word to use than “feasable” in my first comment).
Let’s paraphrase to “CLI applications are quite cumbersome to use under Flatpak as per the current implementation”.
Unless you set up your own aliases, you’ll have to write out commands like
flatpak run ...
, and if you don’t know the package name yet you’ll need to runflatpak list --app
first as wellI hope that in the future, Flatpak gets some improvements for exporting CLI utilities into the user’s environment.
-
I like Flatpak, but I do not want it to be the only option. My experience with Firefox as a Flatpak hasn’t been smooth
Ubuntu is already looking to All-Snap Ubuntu Desktop Will Be Available Next Year
I wonder how many loopback mounts would a full snap system have. Oh god no.
I like flatpak for gui apps, especially proprietary ones. For all open source apps i’ll be sticking with Nixpkgs.
Kinoite user here, the majority of my desktop apps are in flatpaks already. I have a couple of things in toolbox/distrobox containers
I’ve also been on immutable Fedora for a while, and the biggest complaint I have is that I need to reboot after removing software from the base system. Otherwise I quite like Flatpak for the ability to set granular permissions per app. KDE even has Flatseal built into the settings app now, which is super nice.