Hacker News new | ask | show | jobs
by misterbowfinger 2853 days ago
> Given the disaster that has been Windows over the last few years, and that Apple hardware is often out of the price range of the average user, Linux should be primed to take over the market.

I feel similarly. I'm a big Mac fan, but I'm confused why Linux isn't the obvious alternative. I'm guessing the issues are the following:

1) PCs/Laptops to consumers ship with Windows installed by default, likely a distribution partnership w/ Microsoft

2) Popular games run best on Windows

Problem (1) is difficult because of Microsoft's deep pockets. But it feels like it's possible to attack problem (2).

The gaming industry has huge sway on the market. For example, many serious gamers build their own rigs. If gaming companies introduce an open standard that Windows OS's need to abide by to build games, then.... maybe Linux can benefit as well?

I suspect this hugely benefits gaming companies too, because they would be able to develop on open source technology and not have to test their builds on proprietary technology. Honestly, that workflow sounds miserable AND expensive.

3 comments

3) Hardware support is dependent on kernel version, regressions occur.

4) There isn't a universal anything. There's no base system for developers to depend on, there's no consistency to the interfaces, widgets, clipboard behavior, or anything else.

5) Pretending there is no line between "system" and "application" and relying on a package manager and repositories is a terrible paradigm with a long list of problems roundly dismissed and ignored by the community.

6) The community is terrible. If you have any issues you'll be told you're using the wrong distro (no matter which distro it is), you should read the manual (even if you did), you don't really want to do that (I do, actually), "normal people" don't do that (I care why?), and finally that the source is available and you can fix it yourself.

7) The whole system is a gigantic Rube Goldberg machine of disparate components developed largely in isolation and slapped together by whoever decided to build a distro today.

And probably about a hundred other reasons. But rather than try to solve any of them the Linux desktop community prefers to pretend that they don't exist, and the REAL problem is that Microsoft is a bully and won't let companies install Linux by default or something.

This guy maintains a more comprehensive list: https://itvision.altervista.org/why.linux.is.not.ready.for.t...

To be fair, some small progress has been made and Windows is currently being sabotaged by Microsoft, so Linux Desktop may yet win by default.

Thanks for the detail and the link!

I was perhaps a bit naive and continue being so...

It feels as though the issues you listed seem solvable? As in, the work to create a distro & craft a community that solves the above problems is work that can be monetized, possibly in a RedHat-like way. I don't know much about RedHat's customers, but I'm curious what percentage of them use RedHat for desktop GUIs.

It'd for sure be a lot of work, particularly the hardware support since you'd have to convince other vendors that it's in their best interests to play nicely. It really feels like there's huge potential upside here because you'd be able to drive down prices (with open source development) and have contracts on the enterprise support angle.

They are totally solvable. They're so solvable, most of them have already been solved several times. The biggest issue is that very few within the Linux Desktop community seem willing to untie behind these solutions and instead prefer to keep everything fragmented, or cling to some backwards way of doing things because of some nigh-religious adherence to "the unix way", forgetting conveniently that even the people who created unix went out and improved on it because it really wasn't that great.

Google basically did solve a lot of these problems with Android, but doesn't seem to have any interest whatsoever in the Personal Computing Desktop market. Not surprising, their business model depends on keeping people in the web browser as much as possible, and the reality is that it isn't a very lucrative market anyway.

I'm not even entirely sure that's a bad thing. Now that I'm watching Microsoft turn their once-decent Personal Computing Desktop OS into a steaming pile of user-hostile garbage, I'm not sure I want the future of personal computing to be in some company's hands. Sadly, it is my considered opinion that the current open source community is largely worse.

> The biggest issue is that very few within the Linux Desktop community seem willing to untie behind these solutions and instead prefer to keep everything fragmented

I suspect this is the case with most open source communities that don't have a clear "market leader".

But if it's all open source someone can run with it and solve all the things if they wanted to, right?

I think the community could solve most of the problems if they wanted to, yes. Actually, I think if you could find and organize all the people who really want an open source desktop and have congruent goals towards a personal computer OS that embraces simplicity, consistency, and user empowerment, it could happen without having to deal with the mainstream Linux Desktop community. Unfortunately there doesn't seem to be anywhere for these people to find each other, no project to rally behind, no community to engage with.
Very few people use Red Hat (RHEL) as a desktop. It simply gets outdated and has (intentionally) very long release cycles. Most Red Hat shops I have been part of use Fedora for the desktop, and ship the RHEL/CentOS on the server.
> And probably about a hundred other reasons. But rather than try to solve any of them the Linux desktop community prefers to pretend that they don't exist, and the REAL problem is that Microsoft is a bully and won't let companies install Linux by default or something.

At least with 4, 5 and 7 they don't get solved because they are also strengths and a large part of the reason linux is so successful. I also don't see why you complain about package management but also complain about it being a rube goldberg machine, the former fixes much of the later which is still an issue with windows.

> linux is so successful

In the server and single-purpose appliance market. Otherwise you're talking about Android, which doesn't use a package manager, in the traditional sense, to install applications.

> I also don't see why you complain about package management but also complain about it being a rube goldberg machine, the former fixes much of the later which is still an issue with windows.

The former is utterly unnecessary if your system isn't a Rube Goldberg machine slapped together from disparate components. Windows installers may suck too, but that's just whataboutism. There is absolutely no reason that application management should require anything other than simple every day file management utilities like "copy" and "delete". See: DOS, RiscOS, MacOS classic, NeXTStep Application Bundles (inherited by modern MacOS), Rox Filer AppDirs, and AppImage.

> In the server and single-purpose appliance market. Otherwise you're talking about Android, which doesn't use a package manager, in the traditional sense, to install applications.

But android does rely on those slapped together disparate components you think are a negative. It's a large part of it's success that they could use components relevant for a portable computer and discard the parts built with servers in mind.

> There is absolutely no reason that application management should require anything other than simple every day file management utilities like "copy" and "delete". See: DOS, RiscOS, MacOS classic, NeXTStep Application Bundles (inherited by modern MacOS), Rox Filer AppDirs, and AppImage.

Ok, now how do you update all those apps with a single command? Most of those existed in a radically different security environment to today's, the last thing I want is 15 copies of the same library at random versions scattered throughout the file system, think of how many long patched vulnerabilities they contain.

Android basically just uses the kernel. It doesn't even use the GNU libraries and utilities. Google has built their own userland on top of the kernel.

> Ok, now how do you update all those apps with a single command?

You assume that this is worth all the headache and rigid inflexibility a package manager brings to the table, I don't think it is. Beside's, it's actually very straightforward: Each application has a manifest specifying a URI that can be checked using a known protocol to determine if updates are available and then the can be applied as a diff against the current version. Searching a file hierarchy is not rocket science, so just have your single command search for all AppDirs (AppImages, Application Bundles, whatever) and check each for updates, then present a list to the user so they can choose which ones they wish to update.

>the last thing I want is 15 copies of the same library at random versions scattered throughout the file system, think of how many long patched vulnerabilities they contain

The last thing I want is to be locked into a repo where the only applications I can safely install are at the whim of some third party maintainer and my only alternative is usually to just compile from source. I can't move applications around, have multiple versions of the same application, and they break easily when libraries get updated underneath them with incompatable changes.

Really common libraries, like cryptography libraries, should be part of the OS base system (a concept that does not exist in Linux) and updated with that, developers need not ship their own copy, and having a few copies of 200k libsomebullshit.so laying around isn't that big a deal. If you're incredibly paranoid about security we have sandboxing nowadays, use it (unsurprisingly, containers are hugely popular for Linux, hmmm...).

None of this is rocket science.

Linux has too many options. Mainstream users want to be able to get the same thing (or near it) on every computer they use. If I install Linux and you install Linux, are they the same? Maybe. But if we both install Windows or both install macOS? Yes. These options become intimidating. It's the same reason many people stuck with Windows XP until their computers caught fire or whatever other reasons they had to finally abandon it.

Gaming is also a factor. A better gaming story would drive up adoption amongst gamers and maybe spread to the people in their circles. But you'd have to have one or two distros that were particularly good for gaming that the majority of them used.

> Linux has too many options. Mainstream users want to be able to get the same thing (or near it) on every computer they use.

While I personally rejoice at the choice, unfortunately I believe you are right. I have switched quite a few people to Linux, technical and non-technical. The technical people tend to get excited about choice, and sometimes go read for hours on the different DE options. Non-technical people get a look of anxiety on their face, and even a little panic. I started defaulting *younger users to Gnome 3 and older users to MATE, and it has been a terrific decision.

> But you'd have to have one or two distros that were particularly good for gaming that the majority of them used

Right, that's probably closer to what I'm getting at. There's probably always going to be a bunch of options for Linux, but there should (?) be a few main ones for most people. And then anyone who wants to customize can then customize to their liking.

But it'll all be open source, not proprietary

I think you maybe don't use Linux or Windows 10? Windows 10 is still far and away more friendly and presents a much better user experience than Linux.

Linux will be the "obvious alternative" when the software actually works with off the shelf consumer hardware, compiling your own drivers based off of something you've downloaded from github is a non-starter, and getting things like waking from standby to work isn't a series of frustrating googles.

If you're into computers, not using them as tools just into them in general Linux is fine. But Linux is not ready for someone who is uninterested in how computers work.

Clearly a matter of perspective. Happily living in Xfce-land on my various Arch-boxes, my rare excursions into the world of Windows are always occasions for disbelief: 'Do people actually live with this, day in and day out?'. The prescribed choices, the licensing popups, the installation and upgrade rigmarole, the opaque policy management, the dependency hell, the anti-virus idiocy, and the Mickey Mouse conventions of the file system. Please, take me home to sanity. But as I said - perspective. I must assume it all somehow makes a kind of sense if you're really into it, and that pacman -Syu could equally freak you out if you came visiting to my side. Windows users rarely do, though.
Um the dependency hell is not something I have seen in Windows, but quiet often in Linux.

For my desktops I just want for the system to work and not try to figure out why the new kernel broke my video drivers again.

> Um the dependency hell is not something I have seen in Windows, but quiet often in Linux.

You never had to install 2 different version of php with IIS. My worst internship by far, it took us almost 3 week to get my workstation to work, and my coworkers were windows powerusers. I'd rather spend multiple times 10 minutes to resolve dependency hell than spend again 3*40 hours doing the same thing, just with no understnding of what i'm doing.

If you stick to the distro package manager you should never see dependency hell on linux, in 15+ years of using it I've seen it three times. Once was when I was being too clever for my own good with the package manager, once was from using third part package managers (ruby gems) and once is from co-workers essentially creating their own distro + package manager on top of red hat ( a story in it's own right). The root cause of each of those was ignoring or screwing with the package manager. And the last two started out as deficiencies (non-existence) in windows package management.

On windows I've come across it much more. Installing different versions of Visual Studio, installing some random program that doesn't package it's binaries, various installers including sub-installers, trying to run a program that requires the .net framework and having to install that first.

I spent most of this morning dealing with a windows app that was missing a dll and had to google my way through with lot's of trial and error to find the missing package.

I've also had docker for windows screw up my cygwin install, but I guess that's a point in each column.

> If you stick to the distro package manager you should never see dependency hell on linux

You'll also probably never see up to date applications or anything not present in the repo.

> Linux will be the "obvious alternative" when the software actually works with off the shelf consumer hardware, compiling your own drivers based off of something you've downloaded from github is a non-starter, and getting things like waking from standby to work isn't a series of frustrating googles.

When was the last time you tried Linux? Unless you're using something very experimental, you don't have to download drivers from github and install them (unless you want to). Even Nvidia, which is the only exception I can think of, is packaged in a way that's pretty darn friendly (a couple of clicks in a UI to enable them). What you described is more what Linux was like in the 2000s era. If you use a distro with an even remotely new kernel (Fedora, Arch) it will likely support every piece of hardware you can buy (proprietary hardware is an exception for obvious reasons).

>Windows 10 is still far and away more friendly and presents a much better user experience than Linux.

Windows 10 is a definite step backwards in terms of usability and even stability. Peak usability was definitely XP/Win 7.

Linux really isn't bad with usability anymore on popular distros. Any recent install of Linux Mint or Ubuntu will force you to learn where things are (Windows 10 now has essentially 3 'Control Panels', with different settings placed between all three), but I really don't see Mint or Ubuntu as harder to use than Windows 10 in 2018.