Linus Torvalds on why desktop Linux sucks

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

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.

👍︎︎ 911 👤︎︎ u/delta_p_delta_x 📅︎︎ Nov 26 2021 🗫︎ replies

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.

👍︎︎ 339 👤︎︎ u/markehammons 📅︎︎ Nov 25 2021 🗫︎ replies

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.

👍︎︎ 60 👤︎︎ u/UpOnTheLadder23 📅︎︎ Nov 26 2021 🗫︎ replies

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.

👍︎︎ 177 👤︎︎ u/x1-unix 📅︎︎ Nov 26 2021 🗫︎ replies

Linux kernel has one rule: we dont break user space.

every library developer should write this words on their heart and dont ever forget about it.

👍︎︎ 74 👤︎︎ u/eanat 📅︎︎ Nov 26 2021 🗫︎ replies

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.

👍︎︎ 10 👤︎︎ u/magnusmaster 📅︎︎ Nov 26 2021 🗫︎ replies

Waste their life... the maintainer is here 🤣

👍︎︎ 55 👤︎︎ u/MountainAlps582 📅︎︎ Nov 26 2021 🗫︎ replies

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.

👍︎︎ 4 👤︎︎ u/Perkutor_Jakuard 📅︎︎ Nov 26 2021 🗫︎ replies

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.

👍︎︎ 7 👤︎︎ u/WolfiiDog 📅︎︎ Nov 26 2021 🗫︎ replies
Captions
right uh one of the problems desktop has i mean ignoring all the purely market and getting free installs and making it just so that normal people and by normal people i mean obviously non-technical people will just buy a machine and it just works one of the things that none of the distributions have ever gotten right is application packaging right and now somebody will say hey d package is way improved and much better than rpm and that's not at all what i'm talking about i'm talking about actual application writers that want to make a package of their application for linux and i've seen this firsthand with the other project i've been involved with which is my dialogue application right we make binaries for windows and osx we basically don't make binaries for linux why because making binaries for linux desktop applications is a major [ __ ] pain in the ass right you don't make binaries for linux you make binaries for fedora 19 fedora 20 maybe there's even like rel five from 10 years ago you make binaries for debian state oh actually you don't make banners for debian stable because to be unstable has libraries that are so old that anything that was built in the last century doesn't work right but you might make binaries available for debian whatever the code name is for for unstable and uh and even that is a major pain because christ we had this small local flame fest just a couple of days ago um damien has these rules that you're supposed to use shared libraries right and if you don't use shared libraries getting your package in like is just painful but using shared libraries is not an option when the libraries are experimental and the libraries are used by two people and one of them is crazy so every other day some abi breaks right so you actually want to just compile one binary and have it work preferably forever and preferably across all the linux distributions and i actually think distributions have done a horribly horribly bad job one of the things that i do in the kernel and i have to fight this every single release and i think it's sad we have one rule in the kernel there is one rule we don't break user space everything else is kind of a guideline the whole security thing it's a guideline that we shouldn't do stupid [ __ ] right but that's not a hard rule people do stupid [ __ ] all the time i don't get that upset people break user space i get really really angry i mean i this is something that is religious for me you do not break user space and even in the kernel i every single release i have people saying okay i'm changing this api because it's cleaning stuff up and i'm like no you're not changing that api because i will crush you right uh and actually it's often okay to change api as long as nobody notices but immediately when somebody notices it's a bad thing and this is like a big deal for the kernel and i spend a lot of effort explaining to all the developers that this is a really really important thing and then all the distributions come in and they screw it all up because they break binary compatibility left and right they update glib c and everything breaks you hey you can recompile everything right that really seems to be this mindset quite often it's like the glibc people say it was a bug look here's the standard it says you can't rely on that nobody cares if it's a bug that people rely on it's not a bug it's a feature right and i won't even get into all the other libraries but it's really sad when the most core library in the whole system is okay with breaking stuff uh and and as long as things improve and they fix the api so that's my rant and that's what i really fundamentally think needs to change for linux to work on the desktop because you can't have application writers do 15 billion different versions and i'm on record as saying that maybe valve will actually save the linux desktop and it's actually not because i think games are important i don't care i don't play games i think some people do so games may be important but the really important issue is i guarantee you valve will not make 15 different binaries and i also guarantee you that every single desktop distribution will care about valve binaries so the problem is valve will build everything statically linked and create huge binaries and that's kind of sad but it's what you have to do right now i would like i would like to come back to the topic of getting applications running everywhere and every distribution and compare it to the out of three modules in the kernel where the rule is to get your module in the in the can merge in the kernel could we ask maybe the same for the application to get them merged into distributions um i think that's what actually happens quite often i mean that's this is what most of you i actually i don't know what most of you are doing i'm assuming most of you maintain one or more packages am i completely wrong right now okay so most of you your work is literally to bring in the applications into the system and i think that's actually the right solution for all the base applications do not get me wrong i do not think that something like like 90 of the core stuff that is open source should just be in the distribution but then there's the crazy stuff right there's something like subsurface is open source but let's face it we have maybe a thousand users worldwide out of which maybe a couple of hundred are running linux out of which maybe 10 are running on debian i don't know the the we do have some numbers so those numbers are not completely made up but my point is if you have 10 users on debian and you have 10 users on fedora and i know we have a couple of users on actually we have a couple of users on arch and most of the linux users seem to be on ubuntu which actually kind of makes sense right because divers are not necessarily computer technical people so and ubuntu has been selling to that kind of crowd so if you have that kind of situation does it make sense to have people inside every distribution package that application for that distribution and do so in a really timely manner when we're making major changes that is really important to users because without those changes their dive computer does not work right no it does not make any sense at all so even for open source projects bringing that project into a project like debian is just waste of manpower you guys have better things to do trust me you really do surface is the fun applications but nobody should waste their life maintaining oh maybe the maintainer is actually here but the point is i i'm grateful we actually do have a debian maintainer uh did i screw that up no but uh it's this is an example of something where it would make more sense for us like for windows we have nightly builds and by we i don't mean me because i haven't touched the windows machine in a long time but dirk handle who is the real maintainer builds basically nightly and it's really convenient because these users that have problems with a particular model of that computer he can make a windows binary and say hey install that package and see if it fixes your problem this is what you want for real users right for linux we can't do that the dividend package is out of date it's not a nightly build there's no way to create a nightly build the only thing you can tell these kind of people is hey take the get tree and compile it and see if it's works or not and that works if you're people like us but if you're a diver who's in hawaii and has trouble with his dive computer and is running ubuntu or debian uh it's not really a very good solution right so even for open source i don't think uh maintainer distros should maintain everything you should do the core and the core is still going to be thousands of packages right there's no question about that and then we have all the commercial software and debian is probably mostly people who really don't care uh i don't know maybe i'm just projecting here um what is debian's feeling about like commercial databases and and stuff like that i don't know yeah so so i'm probably talking to the wrong cloud but some other distributions definitely have the whole thing with no hey valve is actually using debian isn't they started off using ubuntu but now they're using debian right so even deviant should be aware of these kinds of commercial packages and for them they have to give a package and right now they have to pick not just a distro but a version of the district
Info
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
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.