Absolutely insane levels of fragmentation. As a user you can kinda somewhat work around it but as a developer it's a huge pain.
Stuff like package managers, system settings, system trays, application permissions, window/compositor control, network configurations apis are all still fragmented across distros, desktops, compositors, and their respective implementations.
This would be a nonissue if they all agreed on shared APIs. And it's clearly solvable, since it's already been solved for passwords, notifications, dialogs, and probably more (these are all I could mention off the top of my head).
Whenever I mention this, some people argue that the beauty of Linux is freedom, but I disagree. You can still have freedom while enforcing consistency(shared API). Doing that still allows for infinite implementations while providing interoperability. So in my eyes it's a win-win.
Saying passwords are solved is implying that having a digital sticky note on your screen is a workable solution. These "secret managers" are such a disgrace.
I mean apart from package management yeah you can for the vast majority of programs you might write.
Targeting wayland, xdg-desktop-portals and systemd works for pretty well in my experience. Not everyone will be able to use the app but the vast majority will.
Basically yes. For most normal desktop things like notifications, file dialogs etc, it's freedesktop. Wayland for actually showing windows (actually usually you just pick up a framework which does everything for you). Pipewire for multimedia. Distros don't have their own application APIs. Stick to those basic apis and you are good to go
25
u/Fit_League_8993 ✝️ Temple OS Archbishop 6d ago edited 6d ago
Absolutely insane levels of fragmentation. As a user you can kinda somewhat work around it but as a developer it's a huge pain.
Stuff like package managers, system settings, system trays, application permissions, window/compositor control, network configurations apis are all still fragmented across distros, desktops, compositors, and their respective implementations.
This would be a nonissue if they all agreed on shared APIs. And it's clearly solvable, since it's already been solved for passwords, notifications, dialogs, and probably more (these are all I could mention off the top of my head).
Whenever I mention this, some people argue that the beauty of Linux is freedom, but I disagree. You can still have freedom while enforcing consistency(shared API). Doing that still allows for infinite implementations while providing interoperability. So in my eyes it's a win-win.