this post was submitted on 08 Feb 2025
1095 points (97.9% liked)
linuxmemes
22344 readers
988 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
- Don't get baited into back-and-forth insults. We are not animals.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
5. 🇬🇧 Language/язык/Sprache
- This is primarily an English-speaking community. 🇬🇧🇦🇺🇺🇸
- Comments written in other languages are allowed.
- The substance of a post should be comprehensible for people who only speak English.
- Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It really depends on your use-case, your criticism is valid though. In general it would be way better for new users to not learn about it as something that gets slapped onto a Windows machine, but on fair grounds for comparison (meaning on a machine from hardware vendors like System76, Tuxedo, Slimbook etc).
For Software it really is a hen-and-egg problem. Big companies won't support Linux until enough people are there, and enough people won't come until known software is available. This however changes gradually; The Software Store is receiving payment features in the future (almost any distro uses Flatpaks in the background), so there will be more viable paths to monetize your software product for companies. Meanwhile the amount of users rises more and more for years now thanks to 1. Valves push with SteamOS + Hardware and 2. India and China who got comparably high Linux userbases (I think in India it's 13% of all desktop PCs).
So yeah, not there yet. But not "far from ready", really. It just needs some software improvements that are in the works, and for the device vendors to become more known.
Wait, what distros use flatpak by default?
I don't even know where to begin… Fedora, Pop!_OS, KDE Neon, elementary OS, Tuxedo OS, Slimbook OS, any Ubuntu flavour that doesn't default to Snap, Zorin, Nobara, Mint… and any distro that comes with KDE that doesn't activate Flathub by default (e.g. OpenSuse) got the "Add Flathub" button built-in right in Discovery.
If you want your app to be accessible to as many distros as possible while retaining control over its distribution, Flatpak (and unfortunately Snap) really is the primary way to do so. Once KDE e.V. and the Gnome Foundation finish their efforts to support payments and ownership handling it's also the golden way for any developer who wishes to make a living with their craft.
Oh lol, that is a lot. I've only used ubuntu, Debian, Fedora (i3 spin, which I believe had only dnf as a package manager), endeavouros, arch and researched nixos (which I'm definitely trying next) so I've never actually had flatpak preinstalled to my knowledge.
What most Linux advocates hate to admit is that the abundance of distributions discourages software makers from supporting Linux. Because then they will have to deal with bugs specific to each distribution, desktop environment, window manager, x.org or Wayland, and thousands of other variables. Imagine having to spin up a different virtual environment for each use case. It's a nightmare that isn't worth it for them.
X/Wayland is fair but most distros and WMs won't have much of an effect apart from theming when it comes to functionality of most not terribly written/packaged programs.
I don't think that's the main problem, as on the inside (meaning backends) most things are rather standardized (ignoring legacy stuff) and any distro not adhering to those modern standards can be - purely from an economic aspect, NOT a nerd or enthusiast aspect - safely ignored. I do concur that choice paralysis indeed is a problem though.
The modern stack is pretty straight-forward: Flatpak and Snap for distribution, GTK4 (opt. with or without libadwaita) or Qt6 for the UI, Gnome and KDE to take care for proper integration, and stuff like Wayland, Pipewire and the XDG specs to focus on in technical aspects. All the documents necessary to work on fully functioning apps to publish via both Flatpak and Snap are there (not saying everything is perfect, just that it's properly working). Distro-specific bugs will also be either prevented by the new sandboxing or are to be fixed by the distro in 99% of all cases, not the app author. What's really missing right now is a way to sell it through those hubs.
Eventually there'll be sufficient pressure on all sides so common technical necessities will be defined that distros will have to adhere to if they want to receive app support (which is very much possible given the sandboxing around Flatpaks and Snaps). Until then every company keeps freely defining what they support. Right now they usually go two or three big ones, namely Ubuntu, RHEL+Fedora and perhaps SteamOS. Some also go for OpenSuse, probably because they use SLES for their own machines.
Meanwhile commercially developed distros - meaning stuff like Pop!_OS (System76 devices), SlimbookOS (Slimbook devices), Tuxedo OS (Tuxedo Computers) - all use Flatpaks, and as they all integrate it as intended apps work on them as they do on any other distro that uses the modern stack. So customers don't have to think too much about it.
tl;dr… Don't give new users too many options (avoids choice paralysis) but 1 or 2 modern ones or whatever a hardware vendor offers, and don't expect developers to target distros that do not want to fully support either Flatpaks or Snaps. Then we're already on a good way.
@Natanox @mtchristo
>Flatpak and Snap for distribution, GTK4 (opt. with or without libadwaita) or Qt6 for the UI, Gnome and KDE to take care for proper integration, and stuff like Wayland, Pipewire
I do not have anything of this in my system and will not install any app that requires to support all of this.
Flatpak even cannot work without namespaces (which is not enabled in kernel defconfig). If you want to make flatpak default option to distribute apps, first make sure it does not require enabling some (possibly insecure) kernel configurations and work on default kernel
Wayland (in current implementation) is error. Flatpak/snap is error.
Before all of this, all we need to make app work is some x11 libraries, so app can bundle it's needed portable toolkit and run without any additional requirements. Now we cannot just provide wayland-client, because app cannot draw with it. It needs opengl, which needs many libraries, which... cannot be provided in compatible way, so you need container bullshit that runs other distro inside... only to run some graphical app that draws few buttons...
Really, i'll prefer using windows, not this bullshit.
Now flatpak causes people ignoring new glibc compatibility bugs, so it soon will be impossible to build portable binary for glibc systems... Even now Portable Executable (windows exe) is most portable way to distribute software for linux, because wine gives compatibilty that glibc cannot (or jusn do not want). And sometimes wine even have less memory overhead than flatpak/snap
What are you using, a potato? Any modern distro comes with those. Without GTK4 and Qt6 barely anything even runs, lol.
I mean, you can reject literally everything of this new technology stack, but that doesn't change the fact it's things are working now. If you stay with old tech don't be surprised if things stop working though, the world will move even if you prefer to stand still. However if you want to be taken serious in your criticism please inform yourself on what you're criticize. Neither Flatpak nor Snap run "another distro inside". What you're talking about is stuff like Docker or Distrobox. Those are neither the default on user systems nor should they be, only very few distros aimed at enthusiasts and professionals ship them by default.
There are also multiple ways to ship portable apps, the best known of them would be AppImage. That one simply isn't recommendable due to a lack of maintenance and security issues (they simply don't fix the libfuse2 issue).
It's not like everything was great in ye' olden days anyway. There literally are FOUR different backends for desktop notifications, Pulseaudio is a friggin' trainwreck and don't even get me started on Xorg configuration. Every desktop environment very much did their own thing and once you installed an app using f.e. GTK2 on a KDE3 system the whole thing looked like it recently insulted Mike Tyson since there was no proper config available / it lacked the icon theme / the font broke everything / it didn't like your hairstyle. Likewise running older software more often than not was a real pain as they expected an environment with obsolete libraries etc.
Like it or not, Flatpak and Snap already are the standard. So is Wayland (and it works like a charm by now), and Pipewire is a god damn godsend after meddling with Pulseaudio all those years. And from a developer's perspective it's so nice to have a controllable environment to work with, i.e. Flatpak and Snap. Of those two only Snap generates huge overheads btw, it's a known problem with Canonicals approach (one of many). Still, technology like that is what Linux needs for the future.
But hey, ultimately Linux gives you the choice. If you want to stay in your niche I hope it suits you well.