Linus Torvalds on why desktop Linux sucks
Video Statistics and Information
Channel: gentooman
Views: 806,798
Rating: undefined out of 5
Keywords:
Id: Pzl1B7nB9Kc
Channel Id: undefined
Length: 11min 6sec (666 seconds)
Published: Sat Mar 27 2021
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.
This is why Windows and its programs ship so many versions of 'Microsoft Visual C++ 20XX Redistributable'. An installer checks if you already have said redistributable installed; if not, install it along with the program. If yes, just install the program, the redistributable installed by something else is guaranteed to work across programs because the APIs are stable. No need to screw around with breaking changes in libraries: just keep all the versions available.
Like someone else said: yeah, it clutters up your filesystem, but I'd rather a cluttered filesystem and working programs, if I am forced to choose between the two.
About a week ago, a blogpost from drew devault was posted in r/programming about how application developers should use the built in package managers for libraries in linux. I just refound this talk by linus torvalds on the issue and it encapsulates my reasoning for why that's just not possible for most devs.
honestly even as a debian user this hits hard.
it's so frustrating and sad knowing how Linux, a project designed to unify us, has resulted in the creation of so many distros that grew to be so alien from one another.
its things like this which make me realize why so few "just works" people actually use it.
I know that this comment may get a lot of dislikes but I develop one commercial product that available for Win and Linux. For Linux I have to support multiple Ubuntu versions (prior to 16.04), Debian and other and it's PITA so just decided to use static linking.
In my case it's not so bad as it could be, I replaced glibc with musl and libpcap and libsqlite are the only dependencies left.
For more heavy projects I hope flatpak/snap will be an appropriate solution.
every library developer should write this words on their heart and dont ever forget about it.
In my experience the main problem with Desktop Linux is not application packaging but drivers. NVIDIA drivers can break with every upgrade and HP printer drivers just plain didn't work 99% of the time. And the main reason for driver breakage is Linux refuses to have a stable ABI partly because of laziness (I get it, it's a volunteer-driven project even when most of the "volunteers" are employed by companies to work on Linux nowadays) and partly to get hardware manufacturers to release the source of drivers because they believe that Linux isn't open-source unless all of its drivers are open-source as well.
Waste their life... the maintainer is here 🤣
The problem is not only a "Desktop" problem.
If you want to upgrade a server software ( say php ) you might need to upgrade the distro to the next version. Which is not too friendly aswell.
As an end user perspective: I want my applications to have everything in one package, and be able to place it on any dir when installing (just like an App Image for example), I want to easily integrate with my desktop (unlike AppImages), and I want it to be able to auto-update (almost like Snaps, but also have the option to not auto-update if you want to). I want to easily find it on a single unified Store for pretty much all applications, and most apps shouldn't require root access, unless they really need to and prompt you to allow such thing.