4 ms·
The trouble is "Linux" isn't a desktop OS. Ubuntu, Fedora and openSUSE are desktop OSes. They're separate OSes even if they are related. There is hope however.
by ChrisSD 9y ago
The trouble is "Linux" isn't a desktop OS. Ubuntu, Fedora and openSUSE are desktop OSes. They're separate OSes even if they are related.
There is hope however. Modern application containers like Flatpak aim to bridge the differences between Linux OSes by being self contained.
- alkonaut 9y agoRight. And that’s exactly the problem. Another problem is that ALL those desktop distributions chose application (package) managers that are ill suited to desktop. You don’t want shared libraries for desktop. That might be good for server (central patching, fairly stable environment once set up). On desktop you need to be able to install and uninstall apps by the dozen every week and never ever worry that your “system” can’t run the app, or that the app will ruin it for some other app. This requires duplicating libs or statically compiling. However package systems tend to dislike packages that include a private copy of 100 libs. That’s broken. Flatpak is exactly what’s needed. And it needs to grow to encompass APIs on the same level as Windows and OS X (e.g good notification apis, dpi change events for multi monitor across all window managers etc etc). Modern desktop APIs are pretty intricate on win/mac, so Linux needs to catch up. The problem with catching up is that design by committee is never quick to drop old cruft, unite on standards etc. This is why I think Mozilla, Valve, Google etc has a better chance of making the successful Linux desktop, than the OSS community has. Just like the OSS community won’t ever make a AAA game.
- stephenr 9y agomacOS and Windows have shared libraries. Packaging third party libraries with your binary is just going to lead to a race to see which fucks a user first: running out of disk space or that one app with an unpatched TLS library that allows RCE for an attacker.
- alkonaut 9y agoExactly. And yet for 99% I’d desktop use I’ll rather buy disks and risk security holes, than suffer shared library hell. I have been screwed by library compatibility hell 100 times for every time I suffered a disk space issue or a vulnerability issue. At the end of the day if it’s a hard requirement that you want to be able to just run binary packages that were created by idiots - then the smartphone app model is the only viable one. It’s important that components that do have significant attack surface such as TLS are provided and patched by the OS. The shared libraries of e.g windows come in pretty well defined tiers. Things that the OS provides, various optional runtimes that must or can be shared such as msvcrt and then there is not much else. No app is going to install a “system wide” image decoder or other utility lib (In the past, it was a thing to dump a dll into the OS folder, often overwriting older ones, which is where the term “DLL hell” comes from. Luckily that doesn’t happen these days).