Prediction: Within 15 years Microsoft will discontinue Windows in favor of a Windows themed Linux distribution
43 points by bthompson
43 points by bthompson
Gaming Is Already A Better Experience On Linux[...] Gamers as a whole haven’t realized this yet, but they will.
Hi, Gamer™ here. I have had some experience with Linux for years, but I had been daily driving Windows until one or two years ago (I can't remember if it's been one year or two yet. Maybe not even one?).
It's so much better. I tell everyone who will listen and everyone who doesn't too. If you're in a place in your life that you can ditch the few games that don't work (mostly because of kernel anticheat) you should look into installing Linux and never looking back.
Can I ask where you started with gaming on Linux? My 12yo wants to “build a pc” (we’re a Mac household but I’ve been a Linux user since the 90s) and I want to encourage him - but I don’t know where to start, especially in terms of (a) what video/mobo/hardware to recommend and (b) what distro to use. Any pointers would be awesome!
There are a few distros entirely focused on gaming. He might try Bazzite, which is also based on immutable Fedora core, so he can start exploring some Linux without the risk of destroying his system.
My kids (11.5yo) got their small Thinkcentre boxes for school (they started during Covid), and had been on Fedora since.
Hardware-wise it's pittyful: ThinkCentre M720 with i5-9400T, 256GB SSD and 8GB of RAM which we upgraded to 16GB for both their machines. We're now in the planning stage (not the real one, the "forever-planning that never comes to fruition because it's soooo long a waiting time" planning) to make a gaming lounge (a room for all the gamey stuff), where we'll build a proper PC.
The hardware is mostly ok, but it does sometimes struggle, e.g. Skyrim and Valheim is sometimes glitching a bit, and Minecraft when they add too many mods. Hence plans for building a proper PC.
The OS is the bog-standard Fedora, currently 42 or 43 (not sure), set to auto-update and to shut down at night :) (Yay root cron jobs, I'm not teaching them that trick any time soon!).
Regarding games: we started with GCompris (appropriate to the age back then), but now they're playing Minecraft, rarely but still ocassionally Padman or Open Arena or Re-Volt, Skyrim and Valheim. Some of these aren't as interesting but still get started ocassionally, and they often play some browser-based stuff that "everybody in the class plays". They also have a switch, a ps4 and the phones, but with limited screen time per day they don't get to play it all that diversely. They tend to have some seasonality - a whole week or two of Minecraft madness, then Brawl Stars on the phones, then some zombie game at poki.de.
They also print stuff they need for school (or play) ocassionally, they browse a bit or listen to music etc. We even tried a little python and want to do more of it - but with 45' a day screen-time limit, it's hard to do it all :D
I'm also slowly introducing them to the world of the Gnome Software - just look at what is there and what they might want to try out, when they need e.g. "to make a presentation for school". We land at libre office of course, but I'm teaching them to look to alternatives as well, and also reading the preferences.
wrt hardware it depends mostly on your target resolution and refresh rate. Best way to pick CPU and GPU is to have that target in mind.
Linux cannot support Windows kernel anti-cheat. It's not Windows. It's not something that can be added generically. It's like saying Linux needs to support Windows drivers.
The way it works is that games with anti-cheat need to add Linux support, which many already have (EAC).
Sorry, I deleted my comment (before I saw yours) because I thought it was superfluous, since the parent commenter mentioned anti-cheat.
Fair point about the inversion of support.
This is not gaming specific per se, but I tried both CachyOS and Bazzite and I just could not get my WiFi to work as well as it did Windows. My PC has an Intel AX210 that to my knowledge should be well supported on Linux distros.
I fiddled with the settings, including changing from wpa_supplicant to iwd, prioritising the 5Ghz band in the settings, and turning off power save mode. The WiFi would still intermittently disconnect, ignore my 5Ghz band, or have really slow speeds. Some larger games take many hours longer to download compared to Windows because of that, and it’s just not worth it for me right now.
Maybe I’m unlucky? I have found some posts online where other people have encountered similar problems, some with the same networking card. Anyways, I’m not necessarily giving up on Linux gaming, but my experience with something as basic as setting up the internet connection has caused me to reevaluate how much time I’m willing to put into this project vs just sticking with Windows for the time being.
I recently worked for a company where using Windows was the norm (Linux is allowed, but be prepared to be on your own with company infrastructure). It felt ridiculous at first, then I decided to try and be more open to it, maybe I don't know something. I even tried working on Windows for a week, but couldn't stand it, everything just took so much more effort to get done and there were annoying ads on my lockscreen.
Three months in, I'm realizing my first feeling was right. Using Windows was just one of symptoms of poor culture, low standards for developer's experience, neglect for code maintenance and devops. A few examples of what they considered normal:
To me, apart from just being technically inferior, Windows is a signal that company has a problem with culture. Now if I'm interviewing and they say they use Windows, I instantly walk out, not trying that again. I can accept if someone uses Windows due to external pressing circumstances, and we're on the same page about it being a necessary evil, but it's a huge red flag if the see nothing wrong with it.
I really don’t see the connection between using Windows and the culture problems you’re describing.
At what step of my explanation am I losing you?
Just as an example: what's the connection between using Windows and poor documentation? It's not like Linux is a beacon of great documentation.
Linux is a beacon of great documentation: The Gentoo Wiki, the Arch Wiki, --help and man pages for almost every utility, man pages for almost every C function, README.md files in almost every repository.
Additionally, since almost everything is open source, you can ask any popular LLM and get a pretty good answer. You can't do that with closed source software.
I agree there - Linux has great docs.
But I think mxey did not frame his comment well enough. Their comment:
what's the connection between using Windows and poor documentation? It's not like Linux is a beacon of great documentation.
could be written as:
what's the connection between using Windows and poor documentation? It's the same as using Linux and having poor documentation.
Or in other words, Windows and poor documentation for your own software is the same problem as Linux and poor documentation. It's not about documenting Windows, it's about documenting your own company specifics. Like the "restart WiFi to fix hiccups" problem the root comment mentions. Or a spaghetti of Makefiles. Or using SVN.
I might be inclined that people fiddling with Linux are more used to digging into people's READMEs and Arch Wiki, so they might be slightly more likely to dropping a line into README for their own program, but I don't have any numbers to tell you if it's true.
I know plenty of devs who don't care about such stuff at all - regardless if they work on Windows, Mac or Linux. The only ones who seem to care (from sporadic recollections) for such things are people who used to dig deeper into the Linux internals, or people prone to help others anyway.
All that to say that the company from the root comment might not have the best processes and dev setup (and work setup in general), but I agree with mxey that it's not likely related to using Windows.
Think of it on two levels. First, the principles, values and standards your culture sets. Second, the concrete choices it makes based on these values. The list of things in the top comment, including docs and Windows, is on the second level. The first level is "meta" it's causing what's on the second (modulo circumstances you're in), I'm not saying that the things on the second level are impacting each other directly.
To you last paragraph: if the culture is "good" (by the definition self-evident from the context so far) and you have (some) freedom in choosing what OS to put on workstations, why would you choose Windows? What would your cost-benefit analysis look like?
I also know enough successful devs who are negligent of documentation. I personally think it's their weakness. We're talking about culture though; a good culture may help this kind of devs by forcing them to write docs. Of course, leaving them the way they are and have your devs train the muscle of "digging though poorly documented stuff" instead of the muscle of "putting your thoughts in writing coherently" is an option too. But this does say something about your values and the kind of devs you expect to work for you.
Windows documentation is just as good. Maybe less complete but the stuff they want devs to use is really well and consistently documented. Neither is gonna stop a sloppy company from making an inscrutable dev setup.
For a person with no experience on Windows development, could you show an example to illustrate what you mean?
Like this? https://learn.microsoft.com/en-us/windows/dev-environment/
As long as you stay with what they've documented well, you're gonna have a good time. My last company's main product team did this and it was fine. Windows has some really dark corners, but we were building a .net server application.
I started in a Linux team at the same company and the story in your OP sounds like that team. It really is more about the team mentality than the OS.
Windows documentation is mostly terrible. And since everything is closed-source, when functionality described in those documents does not match reality, which I've experienced on multiple occasions, you have absolutely no recourse but to contact Microsoft support.
Are you talking about Win32 program development? I've heard that's horrible yeah but we're talking about programming on Windows. A lot of the developer stuff MS is peddling today is open source.
The wikis are third-party resources, not part of the software. That’s like saying Windows has great docs because (I presume) there are books written about it.
Well, if you want to be picky, then Linux is just the Linux kernel.
Linux distros, like Arch Linux, include the Linux kernel + packages + documentation (like the wiki).
The wiki is even available as a package: https://archlinux.org/packages/extra/any/arch-wiki-docs/
Having the Arch wiki be available as package is neat, I will admit that. My problem with Linux documentation is just that since a Linux distro is a collection of a thousand parts, documentation is also spread all over.
My standard for open source documentation would be OpenBSD, not Linux.
You mean Linux kernel? Judging by the standards of C projects, its dev docs https://docs.kernel.org/ are excellent, there's also books on it. Many opensource Linux tools I used have alright user docs and mans (nobody will use it without docs), they're certainly better than no docs at all which is the case this company. I'm saying that a competent dev will leave docs to what he wrote, because he has a habit of doing it, and it costs him little. Even for something as small as a hobby project on Github. And I'm also saying that a competent dev won't tolerate a lot of things that Windows user experience does to him (unless he's paid extra or Windows is somehow inherent for the problem at hand).
The common link is neglect to and lack of awareness of developer's convenience, good tools, and good maintenance practices. I'm claiming that this is causing both the choice of Windows and the things I listed. The Windows and docs are not linked directly, but there's two links to analyze: poor culture → bad docs, poor culture → Windows. Which of the two are you skeptical of?
I admit that my point is not bulletproof solid, one needs to share my sentiment on Windows to a degree to buy the example, and it's alright to not be convinced if you come from a different background. But I do think we may have a fun conversation if we try to find where the mismatch is.
there's also books on it
To be fair, I'm not sure that's quite right. There were good comprehensive books published around version 2.6 and before, but I haven't really seen anything of that quality since. It looks like you're expected to catch up with documents and sources by yourself.
I've worked on WIndows for a few years while I was at a consultancy agency, and I've also worked with clients whose infrastructure was entirely within the Microsoft ecosystem. I don't think using Windows is necessarily a sign of anything other than the company having a contract with Microsoft, but when it's compounded with the "big old company whose main business isn't software" factor it's (anecdotally) a signal for an aversity to spend dev money to improve anything that isn't in danger of hurting the bottom line, and a relatively high manager head count to go through before you can get anything done. This can lead to the culture you mentioned.
I've seen both good and bad companies where devs only use Windows. I think it can be cause for concern but I wouldn't say that it's always a signal for a bad dev culture.
Fair, my conclusion is overly dramatic. External circumstances could make a good culture use Windows, I agree. I shouldn't walk out of an interview, but rather take the bullet points from that that top comment and ask them about things there.
company file sharing is on Samba, use instructions can't tell you what protocol version and settings to use, they just go though clicking steps in Windows GUI on how to access it, Linux users are on their own,
That is how you do it on Windows though. That is the documentation. There is no need to add more info about it, because that is literally how you do it on Windows. I'm sure they could figure out what version of SMB they have exposed and any other info you would like to know, but documenting it is pointless as Windows connects just fine by itself.
To me it sounds like the problem you are having is a culture fit. Not with them using Windows, but just in general, though you might have to adjust your expectations as Windows is mostly used because it's familiar to the non-technical users.
Developers are technical users. Choosing an OS made for non-technical users for them is extraordinary, and needs a reason that's as extraordinary.
As a company, every OS you choose to allow in your systems will add overhead for compliance and certification. The company may not find the increased productivity and developer satisfaction to be worth it compared to the increase in cost for the monitoring tools, policy enforcement tooling, EDR, etc.
I somewhat doubt this was the case for the company you were describing in your post, however your example is extreme.
Unless you’re developing file sharing protocols, why would you want this level of control? I don’t want to pick a SMB protocol version for a document share mount, just like I don’t want to pick the HTTP version my browser uses.
So people can choose the tools that suit them. When you say "click this button in Explorer.exe", you've locked your users into a specific workflow and a set of tools. If you say "use ssh/ftp/nfs protocol with these creds", you're giving them a spec of an interface that they could use with a variety of tools to fit their needs. You could say "use tool X" (like ssh) only if it's cross-platfrom and composable with other things enough for them to cover their use cases (that you may not have though of before).
You're not picking HTTP version because browsers and servers are robust enough to pick one themselves. But https:// is usually part of your URL, so you've specified the protocol, not browser, say chrome://. I've brought up Samba because theirs was particularly difficult to connect to from non-Windows computer, you had to go through a couple of Google search results and try all sorts of advice from forums until you made it work somewhat. Your HTTP example is actually supporting my point, because HTTP is non-proprietary and is supported by different browsers from different OSes.
I'd agree if you argued that accounting department has no need to know protocols, they just need Explorer.exe, but we're talking about devs here. For example, devs tend to automate routine operations, it's a very natural and healthy idea for them. Like uploading releases or some build artifacts — that file sharing may be used for a lot of purposes, some of it could be serving their releases to the outside. Locking them into Explorer.exe prevents using a shell/python script, and forces them into the error-prone manual workflow.
I'm not making a particularly provocative point here: composable, flexible and cross-platform dev tools are good. I think it's a commonly accepted idea, do you disagree? And I'm also saying that Windows approach seems to lack (I may be wrong due to lack of experience).
You typically have network shares mounted in some way, so they will be available to all applications, not just explorer. On Linux your CI script is not going to mount an NFS share either because it probably does not run as root.
That Linux cannot just mount an SMB share without additional configuration sounds more like a Linux problem. If you mount an NFS share, it can also auto-detect the version. If you are a Windows-using organization, why would you document protocol details that you probably cannot even configure on Windows?
I think you are conflating correlation and causation here. I have worked at a variety of different companies where Windows is the norm from the things you describe:
I agree that your other symptoms are a clear signs of poor company culture and standards but like I said I feel like you are adding Windows on top of that because of a personal distaste for the OS (which is a fair feeling) while it really isn't a symptom in itself.
I should have remarked more strongly that it's ok to choose Windows due to external circumstances. My comment also fails to acknowledge that I was primarily thinking of the industry I worked at (embedded), and it may not read well if with something else in mind.
Given freedom to choose, what could be good reasons to pick Windows? Your build scripts, docker, CI and all that will probably run Linux anyway, and your devs must be familiar with it. Why bring one more piece of mental burden for them, if they could as well have their desktops on KDE?
and your devs must be familiar with i
That might be the case in the embedded world, but isn't necesairly the case elsewhere. I have seen a wide array of developers for a variety of languages where their Linux knowledge is superficial for the most part. They know the functional bits related to how applications run on a Linux based server but that is about it. And sometimes not even that, if you all your stuff is running on cloud services most of it is abstracted away to a degree where you are rarely looking at something you'd see on your desktop Linux OS anyway.
If anything the stronger preference I see from most developers is MacOS rather than Linux. Which a lot of companies that are otherwise Windows shops provide specifically to developers.
hey I think I worked at that company a while back, though they must have improved, when I was there we had no "instructions for setting up dev environment"
You are drawing way too many conclusions from a very small sample base. I've worked, admittedly not as a developer , for multiple companies using Windows both on the desktop and server, and the developers coped just fine. In fact, their work helped the companies make a profit.
The company you worked for had bad developers (or rather, a bad development culture). It's independent of the OS in use.
I don't buy it. Microsoft knows that their true moat is backward compatibility with the long tail of Win32 apps from all past decades. And that's something that Windows, even with all the crap added on top over the decades, still does better than Wine.
Disclosure: I am a died-in-the-wool Windows developer. I wrote a third-party Windows screen reader from 2004-2017, then joined the Windows accessibility team at Microsoft, and still use Windows as my daily driver post-Microsoft, mostly out of inertia.
The backwards compatability argument cuts both ways, IMHO. I've seen some legacy application behave better under Wine than they did on a modern Windows install.
I've not used Windows regularly in 20 years, but with Valve's work I can play any Windows game I want on Linux w/no issue. The Steam Deck opened the door, and an off the shelf PC did the rest with a modern distro.
Maybe for consumer, but not in the rest of the world - I work in manufacturing and it's so embedded at every point on the stack. All the PLC programming software is Windows, no one uses the open source stuff because it's either not as good or the maintenance supervisor simply won't trust anything other than licensed Simatic S7 TIA running on a 15 year old laptop they got from the manufacturer to connect to the 40 ton machine that could kill everyone if misconfigured. Outside of the factory floor, as you'd expect from any business it's all Windows, and if you're not familiar with enterprise it's quite different to consumer: everything is integrated very deeply, the software, the networked filesystem, even badges to get in/out of doors, it's all wired in to Entra/AD. And it's not just software and hardware, it's vendors and people. Everyone knows the Windows ecosystem. They know who to call, they know the APIs and the SDKs, the vendors and compatibility. It's a big stack that extends far beyond the code.
There's a lot more to it than just the bits and bytes, and that's just one sector of industry. Finance, insurance, logistics, it's all Windows and replacing the OS may sound easy but there's a whole social layer on top that expect and need things to work the way they do for a multitude of reasons.
Everyone Else Will Follow The Gamers
They lost me here. Why would that happen?
An alternative: gamers are irrelevant to Microsoft in the grand scheme of things. They exit from both consoles and desktop games. Not only will the exodus to Linux not worry them, the gaming related APIs will stop getting as much attention. The office workers and remaining enterprise server market will largely ignore the whole thing.
Agreed, I think most places using Windows that aren't Windows exclusive development shops are just locked in via inertia, contracts, and SKU bundling.
I don’t see “Windows is getting worse” leads to Microsoft discontinuing it because they are the ones that make it worse. It seems more likely that they might change course if Linux becomes serious competition.
On one hand, I think they want to keep their moat. Their walled garden that's not easy to escape. Corporations want Office, Active Directory etc.
On the other hand, maybe they can keep their moat while being Linux based as well. Maybe they build a proprietary layer on top of it. I think it would make sense, because then they don't need to invest in kernel & driver development anymore, etc. Then they can just free ride on Linux, while profiting from Office and everything else that sets them apart. The kernel perhaps isn't an USP anymore nor their core business, and then it makes sense to outsource it.
On the other hand, maybe they can keep their moat while being Linux based as well. Maybe they build a proprietary layer on top of it.
IMHO this is the way it would happen, if it ever does. Operating systems are expensive to write and maintain. Back in nineties, when there was real commercial competition at those levels of the software stack (both "below" the OS interface -- so things like scheduling, driver infrastructure and resource virtualisation, network protocols etc. -- and "above" it, i.e. in the form of what we'd now call native APIs) it made sense to throw money at it. Now it doesn't make as much sense, and it shows. A decision to externalise some of this effort to "the community" wouldn't be entirely out there. I'm sure it would still be a Frankenkernel to support things like Bitlocker integration but it's not 100% implausible.
But the mechanism outlined in this blog post -- a Linux-themed distribution -- I am a lot more skeptical of that. I find it extremely unlikely that anyone with paying users would work with the current Linux desktop stack. It works for some niches, like gaming, where all the "desktop stack" needs to allow is fast full-screen drawing, a launcher and sound volume control, and even then the only way it works for any commercially-viable (or at least developer sanity-preserving) value of "works" is in the form of things like the Steam runtime.
It's not just a quality thing. Sure, Explorer is getting worse release after release, so it's only a matter of time before it catches down to Gnome Files. But there are external, structural reasons why you can't make a wide-scale, commercially-viable desktop offering based on. Who's going to publish software that's supported for 10+ (or 15+, for LTSC) years based on a desktop stack that can't maintain basic feature compatibility for half that time and mainly deals with bug reports by deflecting them onto users or developers of other parts of the stack?
Aren't they long working on making Office Azure's moat not Windows' moat? Then Windows can go the way of IE, kind of still shipping something roughly shaped as that thing, but basically just bunch of paint on top of whatever.
Ubuntu, for instance, now has decent AD / Entra integration (beyond domain join - things like ADCS enrollment, etc. are supported now IIRC), and even some degree of Group Policy support
Intune feels like a massive step backwards compared to the flexibility of GP, so I’m interested to see how the Linux side of that integration evolves
Once the gamers start moving over to Linux, stores will start selling prebuilt machines with Linux installed and marketing them towards gamers. Normal people who want a fast PC for cheap and aren’t sure what to get will pick up a gaming PC like they do today, but instead of a Windows machine with a bunch of crapware preinstalled, it’ll be a Linux machine with a bunch of crapware preinstalled.
I have never heard of “normal people” buying gaming PCs.
With respect, I think you may be out of date here. This is a massive market now and it's very normal to build/buy gaming PCs now. I mean, I'm not, and my parents aren't, but a significant portion of everyone I know who's younger than me is.
From a consumer point of view, I think people are just not going to buy computers anymore in general. Unless you have a job or have a need, almost everything is already available on mobile. For work, people will use what's given to them. Probably something like a thin client would be the future where most of the compute will be outsourced to somewhere.
I don't think there's any groundbreaking commentary here, but I appreciate how it's laid out for our consideration. I think many of us have been half joking/half serious about the possibility of Microsoft shipping their own Linux distro as a replacement for Windows as we know it.
With the recent enthusiasm about moving to Linux being more viable than ever for gamers and the like, I wonder if Microsoft will even bother with their own distro. I think more likely we'll see Linux-based operating systems become a first-class target for Edge, Office, etc. and we'll just see some Ubuntu- or Arch-based distro shipping with Microsoft flatpaks preinstalled. I guess Microsoft could be the one to build that distro, but is it a meaningful distinction at that point? Might as well be HP Linux Powered by Microsoft™.
It's about the apps. It's always been about the apps. Microsoft will likely take the opportunity to lay off another team and stop making a consumer OS altogether.
EDIT: Or maybe I should say, for Microsoft and all these obscenely large corporations, it's about the ads.
EDIT: Or maybe I should say, for Microsoft and all these obscenely large corporations, it's about the ads.
That's a great point. Windows has changed from a profit center to a cost center that's now mostly a vehicle for delivering ads. It makes a lot of sense to drop a costly own OS and use a commodity like (an ad-loaded version of) Linux instead. They'd probably still need to hire OS developers, but probably a lot less of them.
as much as I would like it to happen, it's not going to happen, windows is getting better, maybe UI gets worse, but internally it's OKish, and amount of solutions they would need to port is nowhere near switching to linux.
They might bring a linux wrapper though, as an alternative tool to their proposal, but replace - never
MS developer in the past, I hate windows with passion but it's not even as half as bad as people claim
PS. NixOS+Hyprland is nowhere near average linux expirience
I wonder if they would ship a BSD instead. My reasoning: The GPL2 is not really corporate friendly, BSD's license is way more corp friendly.
That said, I basically agree that MS windows OS is basically just a cost center and them adding advertising and bundle deals is a way for them to try to prevent it from being nothing but a cost.
If they can't keep it making money I could see them either dropping Windows completely and moving the branding to .Net or something or adapting a BSD/Linux to replace it as a way to lower the costs of development.
I recently put together a new PC for gaming and opted to install Windows 11. I found the ads and news menu spam were easy to hide. On the whole, it feels like a solid improvement over Windows 10. Maybe it's actually here to stay?
There at least hasn't been a moment when using it where I've thought we're collectively losing the plot on user interfaces or the basic ergonomics of computer usage. I can't say the same for recent Apple OS releases.
If you’re a Windows user and you’re not complaining, you’ve likely internalized Windows bugs as just “what computers are like.”
Windows has never seemed like a good platform for anyone who wants to write code or understand how computers work. Does Windows even ship with a compiler?
So what we're saying is that some day soon-ish, ReactOS will be the way to go for Windows retrocomputing, the way DOSBox is for MS-DOS and Haiku is for BeOS?
What's Linux anyway? As far as most users are concerned it's defined more by what's hung onto systemd than by the kernel...