Since my website is WordPress-based, and this is blogging software at heart, I thought I'd start a blog. I'm a very introverted person, but I also have a lot of thoughts and ideas I think are worth sharing with the rest of humanity.
I'll start with something controversial: a rant on why I think Linux is not even close to being a viable replacement for Windows (in most cases).
Why Linux Is Not a Viable Replacement for Windows
An opportunity that's in vain
Now that Windows 10 support is coming to an end for most consumers (for corporate users it's different due to 3 years of promised ESU), and Windows 11 has very high hardware requirements, many people are contemplating: what now?
Buy Windows 11 compatible hardware? A waste of money and a waste of global resources.
Install Windows 11 on officially unsupported hardware? Works great. I myself run it on a few 2013-era Dual Xeon V2 systems; a high-end CPU from that age with plenty of RAM and an SSD is still pretty fast for most use cases. To make a point: only a Zen 4 Ryzen or later CPU is at least 2x faster in single-threaded use cases than an old Ivy Bridge Xeon. All the older CPUs still officially supported by Windows 11 are not even 2x as fast as decade-old hardware. And what's not at least a more-than-2x improvement is not a worthy upgrade.
The official reason for Windows 11 not supporting even Zen 1 is the lack of CPU extensions required for good performance when using VBS (Virtualization-Based Security). Nice to have, but for no reasonable consumer a must-have. In fact, it is incompatible with some up-to-date 3rd party virtualization software one may still want to use. But Microsoft may at any point make VBS mandatory, or decide to use some less important instruction set extension (like AVX) that is supported by newer CPUs but not by great, still-working decade-old systems - like what already happened with requiring SSE4.2 in 24H2 and later.
So, what else? Running Windows 10 without security updates is not a recommended option, and obtaining a version of Windows 10 that would have support until at least 2031 is, let's say it this way, license-wise challenging.
A fourth solution is now being advocated on the internet, and its proponents see a great opportunity on the horizon: switching to Linux. It's entirely free (like in freedom), it often doesn't cost any money (like in free beer), and it doesn't monetize its users - not even the non-paying ones. Moreover, it still supports hardware from the dawn of the century. So, is that a viable option? For some, sure. But to be honest, these are the people who would have been better off with a Chromebook to begin with, instead of getting a full-blown universal personal computer. For Windows power users, no - it is not.
Why Linux Fails as a Replacement
Linux fails as a Windows replacement in many ways. On one hand, it's about its design policies, its GUI (or lack thereof). On the other, it simply fails because WINE is unable to run most Win32 applications. And while there are many other smaller shortcomings, those are all immaterial - Windows has plenty of its own small issues as well.
Let's start with the second point first - it's simpler and more straightforward. Not every Windows program has an open-source Linux alternative, not even a decent one. Often, proponents of switching to Linux will claim there are alternatives and it's only about âgetting used to something new.â They try to put the blame on the users: a.) not putting in enough effort to find the alternatives, and b.) not spending enough time learning how to use them.
There are two things to be said about this: First: It is simply not true. For example, GIMP is not a real alternative to Photoshop. Claiming otherwise is like saying MS Paint is an alternative to Paint.NET. Yes, kind of, but only in the way a Ford Model T is an alternative to a modern car - they will both bring you from A to B, but it's everything but the same. Second: More importantly, even if there were feature-equivalent alternatives to every Windows application, the burden of relearning a quarter century (or more) of muscle memory and know-how is, bluntly said, a debilitating handicap. It's like trying to get your life back after a stroke. Even if it's possible, it's an almost insurmountable effort that should not be casually demanded of anyone.
And the reality is: most Linux software that would qualify as an alternative has fewer features and a less polished GUI. So even if one found alternatives and learned to use them, one would still feel handicapped compared to life before the Linux.
The woes of compatibility
In computing, software compatibility is everything. Short of creating a completely new product category and being one of the first movers, no company has ever managed to enter the market without compatibility with existing software.
My favorite example is Windows Phone. It was, all in all, a great smartphone operating system. But it lacked one crucial thing - the one reason, in my opinion, for its failure: it did not run Android (or iOS) apps. That's it, full stop. Enough said. That's why it failed. Many others failed for the same reason - Windows RT (the Windows that couldn't run Win32 apps), and so on.
In the past, companies understood this. The C128 came with an entire C64 subsystem and secondary CPU for full compatibility with C64 software, because no matter how much better a C128 could be, if it could not run existing software, it would have been garbage.
Apple knew that as well. Whenever they broke everything and made life hell for developers, they still made sure old existing software could run on the new Macs - even across two major CPU architecture changes. Users did not experience interruptions. Because in computing, the only thing that matters in the end is: does your new system run your old software? Everything else - 4x the clock speed, 8x the RAM - is just nice to have, not mandatory.
The only example in this century of a new OS establishing itself was iOS/Android. They were first movers in a new market segment where almost no software existed before, a little bit Symbian and a few Windows CE/PocketPC's all targeting business users only was all there was. Microsoft already came too late to the party with Windows Phone.
In light of this, thinking Linux could succeed without a working WINE was always self-deception. The only way Linux could win the desktop in the long run would be if major countries worldwide outlawed Windows in schools and mandated Linux as children's first contact with IT. Even then, it would take 20 - 40 years.
And after many painful lessons, even Microsoft learned this. Windows on ARM has one feature that makes it useful: it can run almost all x86/x64 software. Sure, it does it via emulation, but almost flawlessly. That's why this time ARM can finally compete with x86/x64. Whether ARM is better than CISC may or may not be true - but it doesn't matter. It never mattered.
Let's set that aside. There are workarounds - for example, running Windows VMs. If one's goal is enhanced privacy and independence, running a bunch of compartmentalized, stripped-down Windows VMs on a Linux host for the required Windows software is a workable solution. In fact, I myself, while still using Windows as the host OS, run larger software packages in Windows VMs for compartmentalization: to make them portable when I upgrade or switch devices, and to be able to reinstall the host OS without disturbing my workflows.
So, let's focus next on the standalone issues of Linux.
GUIs vs CLI: Why It Matters
Linux is a CLI-first operating system. Most Unixes are, but not all. This is a problem. Everything UI on Linux feels like an afterthought. Yes, today you can install and use most Linux distributions without touching the CLI or config files, but this won't satisfy anyone beyond basic users.
Using a Linux GUI feels like using a Mac - and just to be clear, that is NOT a compliment. Quite the opposite. And if that weren't enough, on Macs most things usually just work. If they don't, forget about them - you won't get them to work as a mere mortal. Stay inside the lines Apple drew for you. On Linux, many things simply don't work at all.
What I personally find most frustrating is that since Windows 8, Microsoft has been moving Windows more and more towards a Mac OS - like experience, which means nothing good.
I realize this sounds very subjective - I grew up with DOS and Windows. But I assure you, dear reader, there are concrete advantages in how classic Windows was designed that make it superior to any other mainstream operating system currently available. I will outline those advantages in the next paragraphs - advantages Microsoft is actively destroying in their latest Windows versions.
At the core, it's about why GUI-first is generally better than a CLI approach. Not all humans have the same cognitive abilities. That applies to many fields, but here the relevant attribute is memory.
Some people have very good procedural and semantic memory. They can easily use a CLI, edit uncommented config files, and so on. However, this type of memory is not common. What most people are great at is associative memory - which makes sense, because that's the type of memory animals need the most in the wilderness.
A GUI can be navigated with associative memory. One doesn't need to remember what the tool is called, what arguments it takes, and how to mix the parameters. Just looking at the GUI reveals these directly. Or at least, to a somewhat experienced user, it becomes immediately apparent where to look for more options if the ones wanted are not yet visible.
So, it helps one to remember how to use it - something a CLI does not do. But a GUI is even better: one often doesn't even need to know how to use it beforehand. Just by seeing the offered options with a basic abstract understanding of computing, one can often deduce how to use it. As a side effect, it also makes new features and options apparent during normal usage.
This may sound like GUIs are for the cognitively inferior. But is that bad? Don't we want to empower as many people as possible to be capable and powerful computer users, regardless of their natural strengths?
A personal example: I grew up using VMware. When I needed to use Hyper-V or VirtualBox, I could do it - not to the same level I knew VMware, but to a solid 80%, simply by looking at the GUI and abstracting the knowledge I had about virtualization.
When I had to use KVM on Linux, I was like a caveman in front of a Ford Model T. After ChatGPT explained step by step how to configure it, I could operate it - to the extent it was explained, as long as I had my cheat sheet with the written-down commands. And yes, one can even teach an orangutan to drive a golf cart.
But whenever I needed to change a new option - an option I knew from GUI-based tools should exist - I couldn't. Not without asking AI or googling it. Sure, I could have read (or Ctrl+F'd) through the hundreds of manual pages and documentation. I know I could do so much more with KVM than with VMware Workstation - PCIe passthrough, GPU virtualization, etc. - but I can't, not without investing far more time than I want to spend on it.
A well-designed GUI makes reading the documentation for most common tasks obsolete. Isn't that an incredibly great thing?
So no, GUIs are not just a crutch for the cognitively inferior - they are powerful mechanisms that let the best and brightest focus their limited time on the important things. Understanding how computing works is important, but explicit knowledge of how tool X, Y, or Z works is not. It's useful when you have the tool, but useless elsewhere. That's why all cars have their control elements mostly in the same places and working similarly.
Could CLIs be standardized to follow the same patterns across different tools? Probably - but in reality, no one ever bothered.
Without the self-revealing property of a GUI, any CLI tool is at first a book closed with seven seals.
The core issue with Linux, macOS, and modern Windows GUIs is that they only offer you the absolute basics. If you have any non-trivial requirements, they fail in their own way. Linux sends you to the CLI. macOS tells you âThis is not something Apple wants you to do.â Modern Windows sends you to the vestiges of the classic Control Panel.
The classic Windows GUI design, which offered tools not only for the computer illiterate but also for advanced power users, was great. It offered a simple pathway of many minor steps for beginners to become power users - without forcing them to jump over large hurdles like memorizing documentation.
To hammer the point home:
On a CLI-based system, you need to learn how things work and how to operate the tools.
On a GUI-based system, you need to learn how things work - but can then use any tool without first learning its operation first.
Another example: if you know how to use an image backup tool like Acronis True Image, you can almost as easily operate competing products like Macrium Reflect or Ashampoo Backup. They're not the same, but if you understand the underlying mechanics, they're all similar enough.
On Linux, if you know how to use dd, that won't help you at all with Clonezilla - and that's very frustrating.
Are GUIs always superior? No, of course not. There are use cases where a CLI is better - for example, when you need to recreate setups with only a script, or when you have complex toolchains with many interdependencies. Recreating those with a GUI is a chore. But such advantages are not an argument against GUIs - just for software offering both.
Unfortunately, most developers seem to follow the policy that âif you have a full CLI, you can get by with a limited, dumbed-down GUI.â And this is simply wrong. It makes life for aspiring power users so much harder.
In my eyes, whoever doesn't provide a proper, full GUI for their software wants computing to remain a kind of dark magic - something only for the initiated few who can afford to spend 10,000 hours mastering the relevant CLI tools.
A proper GUI is inclusive - and of great use to everyone - isn't that the zeitgeist of our age, not to exclude anyone because of their individual shortcomings?
And frankly, Linux is right now (as of 2025) deprecating X in favor of Wayland, which is universally criticized for its inadequate and/or missing accessibility features, effectively excluding the visually impaired from computing for the sake of having a more secure and technically elegant solution. But what good is security if it makes it impossible, or barely possible, to keep using computers?
I personally miss many things in Linux, but listing all of them here would not be the point of this text (I may dedicate a follow up post to my own experiences with trying (more than once) to move to Linux); for everyone, different missing things will be most important...
Fragmentation and Intentional Barriers
So, let's instead focus on other Linux design policies which make it a real PITA for the casual user. Linux is extremely fragmented. A myriad of distributions may look like choice and freedom, but in practice it's a nightmare of spotty compatibility and functionality. Fragmentation does not need to be a bad thing, as Android shows: every vendor has their own flavour, but all apps work on all Android devices if they are new enough. With Linux, that is not the case. Even though the glibc ABI itself is technically kept stable, in practice different distributions ship different library versions and dependencies, meaning that a binary built for one often won't run on another. So basically, no developer can provide an application that would âjust workâ on Linux, short of packaging their own complete user space with it. In fact, some do: solutions like Flatpak, Snap, or AppImage provide all the libraries needed and only rely on the kernel ABI, which - unlike user-space packaging - does not change.
Call it my small personal conspiracy theory, but that can't be due to ignorance or incompetence; it must be on purpose, to make closed-source development, if not impossible, then at least highly impractical. I personally like open source, but trying to enforce it as the only acceptable norm from the position of an underdog is outright stupid. An OS family that deliberately shows the middle finger to all commercial software vendors should not complain about there being little to no commercial software for it. But complain its users do: for many people, a major hindrance on the way away from Windows is that they can't find workable alternatives to the tools they rely upon, which only run on Windows.
If Linux ever wants to be a serious OS, it must cater not just to the FLOSS crowd but at least avoid making the life of closed-source developers deliberately hard. Do it like Android: ensure that any app compiled for Linux ten years ago will run on any modern distribution. It's not as if nobody thought of this before - there was even the Linux Standard Base (LSB), which tried to be exactly that kind of unified baseline, but it fizzled out because distributions didn't want to tie themselves to long-term compatibility. Still, the need has only grown. It's time for a Great Unified User Space (let's call it GUUS for short).
Other Issues Worth Mentioning
There are many other things I haven't touched here in deep, like hardware support, driver compatibility, Gaming, Ecosystem Lock-in, Cloud Services integration and much more. To just share a few thoughts on that, In the past windows had the best hardware support even for the oldest of hardware, but this is often no longer true, if you have e.g. a printer from the year 2000 you'll probably get it to run on Linux but will fail on windows. Gaming is improving in great leaps thanks to valve, and Ecosystem Lock-in / Cloud Services well some people don't want any of that and the fact it may not work on Linux is not a bug but a feature.
Final Words
To summarize, these are the three main issues in my view: the lack of proper GUIs, the lack of long-term compatibility, and the lack of a reliable Win32 compatibility layer. Together, they turn Linux into a very peculiar product - a bi-modal operating system. On one end of the spectrum, if it happens to run on a given piece of hardware, it can serve the computer illiterate surprisingly well. A simple desktop with Firefox, LibreOffice, and a few basic apps works fine for web browsing, email, and light office use. As long as nothing breaks, these users never touch the CLI and may even believe Linux is âeasy.â
On the other end of the spectrum are the console-loving geeks. These are the people who enjoy spending countless hours tweaking config files, chasing obscure dependencies, and building up vast collections of specialized knowledge. They treat their operating system like a puzzle box, a place to prove their cleverness and mastery of arcane tools. For them, the constant change, the rough edges, and even the breakage are part of the fun. But this knowledge rarely transfers beyond Linux itself - it's neither broadly generalizable nor guaranteed to remain valid long-term. What works today might be obsolete in the next kernel, the next distribution release, or the next wave of half-finished packaging solutions.
And in between those two extremes lie the majority of users - the people who want to be productive, to install software and use it, to get their work done without friction or ritual. For them, Linux consistently fails. It neither offers the turnkey reliability of Windows nor the polished consistency of macOS. Unless you are content with bare-minimum use or willing to dedicate yourself fully to the Linux way of life, it leaves you stranded.
To put it bluntly: as long as it takes less work and hassle to strip down whatever version of Windows is current - removing the bloat, disabling the nags, and cutting off its endless communication with the mothership - than it does to get all essential workflows running smoothly on Linux, Windows will remain the only viable option for many. No matter how bad Windows becomes in the coming years, it will still be easier to tame than to replace. That's the sad irony: Microsoft can keep making Windows worse, and yet it will remain the path of least resistance, because Linux still hasn't solved the fundamentals.
You can discuss this article on our forum: https://forum.xanasoft.com/forums/forum-discussion.28/
FYI: I let ChatGPT correct the gramatics and ortography of the above text and help me draft the final words.