We all know about Microsoft's latest OS, so I won't rehash. A lot of us intensely dislike it, to put it politely. Those of us who can, use other operating systems. This is Soylent, so let's focus on the one that is the most important to us: Linux.
I have been using Windows as my OS since right after Atari times. A few years ago I bought an ARM (ARMHF/ARMv7) netbook and put Lubuntu on it. I had problems with my first Linux experience, mainly in the area of installing software: missing packages in Synaptic, small dependency hells, installing a package at a time by hand, some broken stuff. I put it down mainly to the architecture I have been using, which can't be supported as well as x86-64.
Now, we all know that no software is perfect, and neither is Linux, even though it is now my main OS. We support it in spirit and financially, but there is always room for improvement.
So, the question is: What are your problems with Linux and how can we fix them? How do we better it? Maybe it's filesystems, maybe it's the famous/infamous systemd. Let's have at it.
(Score: 1) by Ramze on Thursday February 23 2017, @05:16AM
Preface for the TL/DR crowd: No focus on individual, desktop/laptop/gaming/media/ use. Lack of marketing, lack of support from major hardware and software developers for individual users, lack of caring about features the general public wants, fragmentation of design, and no general app store for purchasing supported, well-designed apps for personal use. (This last one is why Android is so popular -- one store where people can get all their apps free or purchased. I know we have "repositories," but those have dependency hells and are NOT all the same.)
My experience with Linux flaws
Linux is largely developed for business consumers for their paid support. REDHAT especially, but Ubuntu also. Because it is GPL'd, there's little reason for anyone else to pay for it or its support, and there's little reason for developers to care for the people who aren't paying for it. This means there's no market incentive to cater to their needs. Android was created to serve Java-style applets on smartphones to compete with Apple's Iphone. Google's incentive for using Android is to make money from apps in the store and in data-mining people's personal info for better marketing... without having to pay anyone other than their own developers for the OS. Linux is successful in Android, but also inside of so much other hardware. Why? Because it's essentially free to use and saves those companies a significant cost. So, why does it suck on the Desktop? Well, Windows isn't very expensive relative to the cost of PC hardware, and it is already filling that niche. It costs more for PC manufacturers to install Linux instead of Windows -- because it's a support nightmare. Or, they can sell the hardware without an OS and let you deal with it, but their profit off of that is slim to nothing... especially when they're paid to put crapware on your PC before you buy it. Why would most people want to wipe a perfectly good Windows OS off of their laptop and pray that Linux Distro X is going to support their webcam, trackpad, randomhardware Z, etc.
OK, specifics about what isn't "there yet": (My experience is mostly with Ubuntu and its derivatives, Red Had, SUSE, Arch, and a few others... but especially Ubuntu)
Hardware -- Hardware has come a long way, but graphics drivers are still a huge issue... even in virtual machines! There's little to no direct support from card makers or chip makers, and the open-source drivers are lacking compared to the binary blobs. In most tests, OpenGL is still better on Windows than Linux. Hopefully Vulkan and Mir/Wayland will help narrow the gap
Software -- very little polished, user-ready, supported by phone software and almost no mainstream proprietary cross-platform non-free software (including games, office productivity suites, database interfaces, CAD tools, etc.). (It MUST be cross-platform to work with the other 95% of the install base!) I know, yay... it's all free, but no. I can't get production non-free software easily on Linux... and most of the exceptions are run through Wine which is just another way of saying "it's not supported, but you can try it." Why won't developers write for Desktop Linux? (as opposed to server Linux) Partially because they see it as a freebie Desktop OS, and anyone running it likely has an open-source free software movement mentality and wouldn't bother to purchase anything if they made it, but mostly because it has low market share, so it's not cost-effective to support it. Chrome, Firefox, VLC, and LibreOffice make a Linux machine VERY usable for everyday tasks... but, what about my friend that wants to use AutoCAD's model studio for their course work? She has to either try an open-source alternative that isn't fully compatible, run what she has in Wine (if it will work), run Windows in a VM which is dog slow for GPU-intense 3D rendering, or reboot into Windows. 3 of those 4 solutions involve running or emulating a different OS. Tons of other niche programs are Windows and/or Mac only. That means Linux is relegated to a limited role for desktop/laptop use which is only slightly more useful than a Chromebook. (Chromebooks are designed to embrace this limited role, not because people asked for it, but because Google knew it couldn't support its own Linux distro, and its functionality ties well into their user tracking and services model.) STEAM/VALVE has recognized it can create a niche gaming machine/OS from linux, but again -- no dice with the full OS support.
OS under the hood -- ok, so we've talked about drivers (especially graphics drivers), but also Xwindows is ancient -- Mir and Wayland are potential fixes for issues with screen tearing and security of various open applications. SystemD is a band-aid to a bigger issue... users and their typical workflow are not a priority to the design of Linux. Want to plug in and unplug various USB devices and switch between audio streams? Why do I have to manually click to turn my ethernet connection ON when I plug in an ethernet cable? Why does Windows know what to do, but Linux doesn't? How about just the way Linux chooses to cache data? Windows will intelligently cache recently used programs into RAM so they can be re-opened quickly, but my understanding is that Linux will often wipe its cache and replace it with stupid things -- like if you copied a bunch of files from HOME to USB FLASH... the cache is now full of those files instead of whatever you were most recently working on. Architecture -- fragmentation of where things should go, fragmentation of package management systems, fragmentation of repositories, and very little in the way of a standard, stable system that absolutely will not change and break an app. Why should devs write anything for that? It's a minefield for breaking things, and a pain to have to re-write for different flavors of linux and support. SNAP packages are supposed to help with this, but the SNAP solution is to bundle everything an app uses together into one big blob to eliminate all dependency issues. A SNAP package can easily be 10 to 20 times the size of a regular download. UBUNTU says its goal is to move to ALL snap packages within the next year. Yay for fewer repository/dependency issues (less work for everyone!), but boo for me if a Linux + Apps setup is now 20 times the size it used to be and every app I add is another 200 to 400 MB.
GUI -- omg... I swear, I bet people have killed over GUI/Window manager wars. I like Windows XP / Windows 7 look and feel. Others despise it and prefer OSX. Others want to see the world burn and use some crazy new thing -- like Unity. I get that there should be lots of options, but when the OS with the largest market share has a certain look and feel, if you wish to cut into their market share, you need to provide an interface that is THE SAME or BETTER. There's a cost of switching which includes re-training for a new OS. Making it look identical and act identically goes a long way towards helping with that shift. GNOME and KDE forgot this for a while. MATE and Cinnamon were a bit smarter about this. Even if you can make a DE look like Windows, it takes a while to move things around to make it look like that. I think Zorin OS and some others make an effort to get there. Unity is great -- for a tablet.... especially if you like to have everything you do written to a zeigeist log file whether it's to help you with suggestions or alternatively to send your info off to Amazon, Canonical, or wherever to be analyzed and sold to the highest bidder. Anyway... point is -- I agree with the "to each their own for GUIs," but only AFTER there is a standard, agreed upon windows-clone GUI that everyone can use as a beginner to help ease the shift to the new OS. One that looks and behaves exactly like Windows, and perhaps another for OSX (after the windows gui is completed)
Content Provider Support -- This is kind of a software support issue, but not really. NetFlix supports viewing through Chrome, but not at 1080p like on the Windows 10 Edge browser or Win10 App. Netflix won't work on Firefox on Linux unless you use the USER AGENT SWITCHER to tell it you're using Chrome on Linux instead. Why? It's great that Netflix works on Linux, but it's mostly due to Chrome being cross platform and using HTML5 standards and nothing to do with love for Linux. There is no native Linux Netflix app... but there is an Android one! Why is there no "app store" for such things on Linux like there is on Windows and OSX? Why isn't there an architecture in place for content providers to package an app just for Linux... or maybe a simple Android emulator for Linux to play those apps that already exist in the andriod app store? (all the emulators I saw are memory hogs and don't play ARM compiled apps on amd64 anyway). Why doesn't Time Warner / Charter Cable 's Spectrum website play Live TV under Linux? It works fine under Windows, yet Chrome won't load it under Linux. It loads the interface, but not the video stream. Why aren't these web services using standardized HTML5 encryptions and codecs to where they're browser and OS agnostic? Why is there a Windows 10 Netflix App, but not a Linux Netflix App? One can pass the buck on this, but it's a problem for Linux users, so the blame is with Linux proponents for not marketing to these agents and lobbying for their support.
BUT, I love Linux!
I use Linux in VMs and on a desktop as file servers, web servers, and for generic web browsing, local media playing, and Netflix streaming. My setup is usually Ubuntu with Cinnamon, and I love Firefox, Chromium, Chrome, VLC, Apache, virtualbox, and a ton of other programs -- many of which are cross-platform. But, the only reason I'm running Linux on bare metal on one machine instead of in a VM as a test box is because the machine used to run Vista and there was no upgrade path to Windows 10. If I had a Win10 license, you bet It'd be running that instead... because test after test shows the Win10 video card drivers work better than the Linux ones - open source and binary blobs for NVidia. I use the machine mostly for local and streaming media... and H.265 HEVC media is CPU and GPU intensive. Windows just works better on the same hardware. Windows also supports 1080p Netflix through an app and the Edge browser. Windows 10 home license is $120... may as well buy a new laptop that comes with Win10 if I'm going to spend over a hundred dollars... So, Linux is the rational solution for getting the Core 2 Duo low-end GPU machine working for now. Of course, I HOPE that Linux will evolve into a better solution, so I want to get my feet wet now and prepare to move ALL of my families' machines to Linux. But... that won't happen anytime soon. Maybe after Ubuntu is finished moving everything to SNAPs companies will make/support SNAPs if that makes developing for Linux easier. We shall see.