A couple of weeks ago, I saw a tweet asking: "If Linux is so good, why aren't more people using it?" And it's a fair question! It intuitively rings true until you give it a moment's consideration. Linux is even free, so what's stopping mass adoption, if it's actually better? My response: “If exercis...
And Linux isn't minimal effort. It's an operating system that demands more of you than does the commercial offerings from Microsoft and Apple. Thus, it serves as a dojo for understanding computers better. With a sensei who keeps demanding you figure problems out on your own in order to learn and level up.
...
That's why I'd love to see more developers take another look at Linux. Such that they may develop better proficiency in the basic katas of the internet. Such that they aren't scared to connect a computer to the internet without the cover of a cloud.
It’s an operating system that demands more of you than does the commercial offerings from Microsoft and Apple.
Does it?
It's different, but I imagine they're not fundamentally different if you exclude established knowledge/already being used to something.
Normal office use for non-techy people is launching apps, editing documents, and surfing the web. That doesn't work much differently, not fundamentally different, and not fundamentally more difficult.
Linux is second nature to us IT people, so it's easy to forget that the average person probably only knows basic shell scripting and how to build programs from git repos.
Linux isn't minimal effort. It's an operating system that demands more of you than does the commercial offerings from Microsoft and Apple. Thus, it serves as a dojo for understanding computers better. With a sensei who keeps demanding you figure problems out on your own in order to learn and level up.
Guy says this as if it's a good thing lol. That's the real reason people don't use Linux, nobody making Linux seems to care about user experience for normal people.
What you say describes my experience 10 to 15 years ago, not my experience today. Compare the settings dialog in KDE Plasma to the windows settings dialog for instance. Or should I say myriad of Windows settings dialogues.
Yea I agree. Good UX is a lot of work, and I think FOSS projects rarely prioritize it. Even good documentation is hard to come by. When you write software for your own use case, it's easy to cut UX corners, because you don't need your hand held.
And good UX for a programmer might be completely different from good UX for someone that only knows how to use GUIs. E.g. NixOS has amazing UX for programmers, but the code-illiterate would be completely lost.
I believe that the solution is "progressive disclosure", and it requires a lot of effort. You basically need every interface to have both the "handholding GUI" and the underlying "poweruser config," and there needs to be a seamless transition between the two.
I actually think we could have an amazing Linux distro for both "normies" and powerusers if this type of UX were the primary focus of developers.
Sure, and where the line is drawn now is why more people don't use Linux. I even use it for work, but still don't want to deal with the hassle at home.
I am getting a new home pc soon, and I thought maybe linux is ready. So I started reading up. No, I do not want to have to reinstall the os several times before I get it right. I don't want another chore.
There's like a thousand Linux distros. Having one be ready and easy to use, no hassle or deeper knowledge needed, won't stop the great many others that exist without bumper rails. Arch and Nix etc will still keep existing, so you can chill out, edgelord.
I love Linux. I'm so glad I switched both my PC and laptop to OpenSUSE and got rid of dual boot Windows. Using Linux exclusively for months has really opened my eyes to the truth:
One of the first issues I had problems with was figuring out what was wrong with Street Fighter 6 giving ultra low frame rates in multiplayer, but working fine in single player. It needed disabling of split lock protections in the CPU.
A recent update in OpenSUSE made the computer fail to boot half the time and made the image on the right half of the screen garbled. I rolled back to before the update and am using it without updating for a few weeks.
I installed VMware Horizon for my job's remote work login and it fucked up my Steam big picture mode and controller detection. I didn't bother trying to figure that out and just uninstalled VMware remote desktop.
I managed to install my printer driver, but manually finding the correct RPM file to install would not be tolerable for normies.
I still can't get my Dualshock 3 controller to pair via Bluetooth despite instructions on the OpenSUSE wiki. I've stopped trying to troubleshoot that and use my 8BitDo controller instead.
I still can't find a horizontal page scrolling PDF app.
Figuring out how to edit fstab to automount my secondary drives is not a process normies would be able to execute.
Plasma recently added monitor brightness controls to software and these seem to have disappeared for me now and I can't figure out why.
I can't get CopyQ to launch minimised no matter what I do.
My KDE Plasma task bar widgets for monitoring CPU/GPU temp worked till I reinstalled OpenSUSE, and I can't figure out why they've decided to not work on this fresh install. System monitor can see the temperature sensors just fine still.
Flatpak Steam app wouldn't pick up controllers for some reason. Minor issue, but unnecessary jankiness.
People do not tolerate this amount of jankiness. And this doesn't include the discomfort with relearning minor design differences between OS's when switching.
It really just depends on what you do, and how you do it.
A formula-1 car is not for normies, but a regular car is. Same principle applies here. My tech illiterate mom has Fedora on her laptop, and she finds it considerably more intuitive to use, than her previous Windows installations
This is fair. But at that point the same could be said of a Chromebook for her needs, which I’d venture is true for most people’s computing needs given entire swaths of the world do everything on a phone or tablet.
The Linux vs Windows debate is peculiar, because it really only applies to users who are more advanced than the average, arguing about problems that only arise when you want to do more demanding things with your machine like development and gaming. Your average user doesn’t care about any of the anti-monopolistic / FOSS reasons to use Linux, which makes the argument for them essentially “you should use this operating system that takes more work to use because it’s better for you for reasons you don’t care about.”
In order for Linux to become more mainstream, it needs to be able to exceed Windows’ performance and ease of use for gaming and productivity - which is challenging since when most users think of productivity apps, they only think of Microsoft products. It’s not enough to be equal in order to compel people to switch from what they’re accustomed to.
Lol, tell me you've never worked IT support again.
The average user can't remember passwords without browser autofill. They don't want to tinker. A "just works" linux distro with a relatively limited set of default features targeted to a specific hardware set to avoid complications, like SteamOS on Steam Deck, is pretty much at the limit of the investment level the average user is willing to put in to keep things working.
"There aren't enough swear-words in the English language, so now I'll have to call you perkeleen vittupää just to express my disgust and frustration with this crap." - Linus Torvalds
I mean coding is difficult enough as it is, I wouldn't choose to use an OS that makes it even harder.
I use Linux because it makes my life easier. It has better support for development. Some of the other stuff is maybe not as easy or polished, but the support for dev tools and the ease of deploying to from local machines to servers that are also running Linux makes up for it.
If I wanted more effort I'd still be using Windows. It would force me to work on cross platform development and deployment. The idea that there's value in making things unnecessarily hard is just weird. I want Linux to be as simple as possible to use, so I can spend that effort on things that actually matter.
I agree, it's usually much easier to install required dependencies with Linux. I also recently noticed that some stuff, like compiling Rust, is much faster, but I haven't timed it.
I wonder what kind of support for development do you get? Honestly I've only had obstacles when I switched, for example the docker installation was much more complicated on linux than on windows+wsl. Even installing python was problematic because apparently 'upgrading it yourself can brick the system', at least if an older version comes with the OS?
And lastly it's the simple thing that pretty much all tools work on windows natively but on linux you have to find workarounds, which is definitely a problem when it comes to productivity.
So what are the benefits, what does linux have that windows doesn't in this context?
I don't think it was the point of your post necessarily, but I did want to mention a couple of things that might make the Linux switch a little easier - if not for you, anybody else reading and agreeing.
First, distrobox (https://github.com/89luca89/distrobox) is a nifty frontend for podman/docker that I think makes it a little more usable/accessible without having a PhD in devops. Basically helper scripts that create a series of simple CLI commands that let you launch a new environment, enter the new (or old) environment, do stuff in the environment, exit the environment. Keeps your core system's python separated from your development environment(s). Sacrifices the isolation qualities of containers in favor of usability, so probably ok for dev work on a desktop and not so much for production on a server.
Also, there are GUI applications for point and click management of distrobox - I use BoxBuddy, which is available as a Flatpak on Flathub, so again no interference with the core system provided it can run podman and flatpak.
Second, I know the php dev world figured out ways to abstract some docker complexity away with stuff like ddev (https://github.com/ddev/ddev) and lando (https://github.com/lando/lando). I wonder whether other languages have or will build that dev environment in a box abstraction on Docker/Podman/whatever.
It really comes down to what you're used to. If you use Windows tools then you already know many of the workarounds for Windows and you don't know the tools that haven't been ported there.
For example, you know not to use Python directly, but that you have to install anaconda instead, or whatever the current problems with Python development on Windows are.
The big obvious thing that you can't get away from is that you have to do things differently if you have develop for two different OSs with a view to deploying on Linux.
In particular support for shell scripts is crap on Windows. I could learn powershell or there's workarounds using WSL and a bunch of other stuff that I don't need to care about, but I'd rather not bother.
Depends on the programming language. Some are just as easy on Windows as Linux - sometimes easier. C#, Java, Rust, Go, etc. are all perfectly fine on Windows.
Some treat Windows as a weird second class citizen though, so for those I would agree: OCaml, Perl, Python, etc. However you can still use WSL for those and have the benefits of Linux without the downsides of broken hardware, terrible battery life, etc.
For 99% of Windows or MacOS users who work in their browser and within simple applications, day-to-day Linux usage is as easy or easier than Windows. Microsoft’s monopolistic practices and lack of government intervention/regulation led us to this point plain and simple.
I just a few weeks ago successfully switched my father-in-law's mid-2011 iMac (out of support for years) to Nobara 40. It took some finagling with the SIP settings and some other macOS specific stuff before it would boot the liveUSB but once it did, it works flawlessly OOTB.
Pretty incredible how frictionless the transition was for him. He even chose to switch from chrome to the default firefox, despite me having setup chromium for him to compare (but he knows its there if a website doesn't load right in Firefox). He's in his 60's and not a techy person at all. Everything is so intuitive with KDE these days he picked it up no problem.
Only downside is background sync for KDE connect doesn't work on iOS yet, seems this is a sticking point for most FOSS apps for some reason. It was causing disconnect/pairing issues for us. But I showed him localsend for now and it works flawlessly for transferring photos from the phone to the computer.
He's happy with all the default apps and onlyoffice (which I switched out from libreoffice as I've found much more consistent formatting when sending/receiving to MSoffice users)(maybe this is outdated, haven't tried the new release). Printing and scanning was plug and play. Apple trackpad and keyboard auto-paired. I showed him how to setup widgets and he went nuts. Overall 9.95/10 would convert a normie again.
That's why I'd love to see more developers take another look at Linux. Such that they may develop better proficiency in the basic katas of the internet. Such that they aren't scared to connect a computer to the internet without the cover of a cloud.
The developers I have come across mostly use Linux if they can, or another OS if they can't (e.g. when developing specifically for Apple or Microsoft platforms). Are there many that haven't even looked at it?
a sensei who keeps demanding you figure problems out on your own in order to learn and level up.
Ain't nobody got time for that. I don't need or want to spend my time debugging my OS for it to do what I want, I already did that and I did not exactly "level up" but I did waste a lot of time.