Could Microsoft release a desktop Linux?
zdnet.com
zdnet.com
This argument makes little sense: that "vice versa" is wholly unsubstantiated and without it the rest collapses. Making Linux binaries work on NT (which already has a subsystem concept; Interix proved that this could be done) in a way where they interact little with the Windows desktop, and making not just NT binaries but Win32 binaries work smoothly on Linux, are almost entirely unrelated problems.
It is true that MS owns the code necessary to make this happen, that WINE is an existence proof that it can be done shockingly well even without that code, and that there is both code and expertise at MS for stuffing Linux concepts and NT concepts in the same kernel. But that's about it.
https://cloudblogs.microsoft.com/sqlserver/2016/12/16/sql-se...
I really don't think so. MS used to render scrollbars in the kernel (was still the case in early Win10 versions)
[1] https://blogs.technet.microsoft.com/secguide/2017/06/15/drop...
Even still, read the story about how they built an OS abstraction layer on top of Windows and Linux and then ported their product to it. That was an impressive feat and an perfect example of Microsoft doing something (maybe only this one thing) right.
Unlike Office on Mac which was a piece of shit for very many years and a very different product than Office on Windows.
I definitely believe MS has the skills to make a binary-level implementation of Win32 on Linux happen. I just don't think it will be easy.
From Wikipedia:
A main design goal of NT was hardware and software portability. Various versions of NT family operating systems have been released for a variety of processor architectures, initially IA-32, MIPS, and DEC Alpha, with PowerPC, Itanium, x86-64 and ARM supported in later releases. The idea was to have a common code base with a custom Hardware Abstraction Layer (HAL) for each platform. However, support for MIPS, Alpha, and PowerPC was later dropped in Windows 2000. Broad software compatibility was achieved with support for several API "personalities", including Windows API, POSIX,[11] and OS/2 APIs[12] – the latter two were phased out starting with Windows XP.[13] Partial MS-DOS compatibility was achieved via an integrated DOS Virtual Machine – although this feature is being phased out in the x86-64 architecture.[14] NT supported per-object (file, function, and role) access control lists allowing a rich set of security permissions to be applied to systems and services.
In any case, that support is in the wrong direction. The article proposes dropping NT and moving to Linux, which doesn't have subsystem support at all. Even if it did, the existing WSL code isn't helpful.
(Also WSL's IO performance problems suggest this kind of emulation approach has significant costs.)
1) This is maybe not true for big databases since those are optimized to basically bypass all of the Windows filesystem.
Maybe I'm confusing this with subprocess creation speed (which also hurt git back when lots of tools were shell or Perl scripts) or network performance (many years ago, my boss and I found that Apache on Linux on VMware Workstation on Windows with bridged networking performed better than Apache directly on Windows, presumably because it's using select() or something)?
But ... why would they? The only reasoning I can see is if they could stop maintaining the windows kernel, like how the move to chromium means they have one less thing to maintain. But they have to keep maintaining it for all those enterprise windows deployments which are tied hard to win32 apps. So I think there's nothing here but clickbait. And yes, I clicked.
If handled well, a community would blossom around "NT," with multiple "unofficial" distros (maybe one with full POSIX compatibility), and lots and lots of happy developers. If things went really well, they might even achieve the resources necessary to create Windows Phone 2.0.
Microsoft could still make money from consumer/enterprise support plans (i.e. AppleCare), and via commissions on sales in the Windows app store. And an open-source Windows could lead to growth as a cloud OS, driving revenue for MS Azure.
Open sourcing the Windows kernel would be the ultimate culmination of Microsoft's turnaround, and IMHO a fair penance for evil deeds past. Nothing could do more to invigorate the open-source community. I would be so delighted I might even start to use Bing! It's never going to happen, but it is a very pleasant dream. Far better than "One Kernel to Rule them All!"
You'll see Microsoft open source new things as they go, and probably smaller components as they rework them, but I doubt you'll ever see a truly fully open source Windows, just because of the amount of work involved.
But it's one of the largest codebases in the world, AFAIK, and it's immensely complicated. It's hard to quantify just how much work would need to be done to verify it was even marginally safe for release. And there's tons of licensing related issues as well, as far as where Microsoft may have gotten some of the code inside Windows.
It's not impossible, but it's a big gamble, and Microsoft is not a company that gambles big. It's not really in their culture to do what you're suggesting. I would be thrilled if they did, but I'd be jaw-droppingly shocked if it did.
But I don't think that has more interest than a Linux compatible subsystem, which they already have.
A standardized desktop can be used just fine by all of Ubuntu, Fedora, and Arch.
On the other hand, Flash once had API dominance and lost it as they (fortunately!) abdicated to HTML5. MS is now extremely aware that Win32 isn't the future - they even cut the OS into pieces and reorg'd NT under us (Azure.)
.NET Core is the way forward for the company. I could totally see us releasing "NT Core" without the Win32 userland, and WSL, Modern and .NET Core as the official personalities.
We could even release the shell that way. But it would pull a bunch of developers away from new scenarios to put onto an ever-shrinking desktop market.
Most likely we'll just see all new products become cross-platform and the execs will wait until a new "iPhone moment" comes along to get ahead with consumer OS.
So far it hasn't been that interesting for Windows projects.
Regarding the ever-shrinking desktop market, laptops and 2-1 are "desktops" as well.
Plugging phones into docking stations will never caught on.
I'm still fascinated by that. The iPad Pro and the Chromebook have taken away a lot of windows' traditional market. But ... you look at how people are using them, and they're using them as laptops. Why couldn't windows take that place?
The logical answer is: because of all the legacy. Windows is too easy to break (even microsoft can't upgrade it without breaking it), and too hard to use, and it needs major investment to fix those problems. So, why stop investing in windows when it's the lack of investment that makes it unable to compete? I'm still struggling to understand that one.
It seems microsoft's management has concluded they can't and won't compete after windows 8 flopped, and they'll just stretch out the decline of windows as long as they can and hope to catch the next wave. I'm sure google and apple love them for doing that, but I still don't quite understand it.
I bet no one that downloaded it has spent a dime to Sun.
It was a free download for decades before being open sourced. From what I heard, it increased support contract sales quite a bit, letting companies feel that that weren't necessarily tied to Sun for Solaris, but knowing that Sun was the best outfit to support it.
> I bet no one that downloaded it has spent a dime to Sun.
You would lose that bet hard. They made their money on hardware sales and support contracts.
A family member of mine was the head of Federal Sales for Sun at the time.
And it was always the support contracts even more than the hardware sales that kept them going. Starting to nickel and dime for software licenses too wasn't an option on the table for them.
That won't dry up Microsoft's revenue stream, and is a great middle ground between open and closed source.
It was 2002 when I first read some of the Windows code via official Microsoft channels (Shared Source license) to unterstand some of the quirky behaviors.
I only came up with https://www.microsoft.com/en-us/sharedsource/ which has specific categories like enterprise, government security, OEMs, etc. I'm looking for something available to everyone.
Enterprise support contracts are mainly about OS upgrades and patches. That would probably stay the same for MS, they would dominate in the same way Red Hat dominates the Linux enterprise. I don’t think this would be strengthened in any way though. It would be pros and cons.
ReactOS exists today, and how many people care about it? Does NT even matter, except as a basic layer for the Win32 and UWP platforms?
The issues largely fall into two categories - missing software, and missing or undercooked hardware support. If Microsoft did signal to the market an increased long-term support for Linux with a concomitant warning about Windows' longevity, I suspect these issues would be mitigated. Bring it on.
I'd love to see real competition in the OS space for people who need both a decent app ecosystem and open source developer tools.
Me too until this May, when it was past time for my aging MB Pro to retire. I really couldn't justify a new one given I don't even like them any more (the Touchbar was the coup de grace).
Hence a Dell XPS 15, running Windows 10. I won't pretend the latter is anywhere near as good as OSX (less stable, less consistent UI, generally lower quality apps), but it does manage all the hardware well & gets the job done. WSL makes it livable-with.
I'd prefer linux though for its window manager choices, single-rooted filesystem, lack of nags & faster file io (among other things).
> I'd love to see real competition in the OS space for people who need both a decent app ecosystem and open source developer tools.
Quite.
Why not install Linux, and run Windows under a VM?
Or if locked to the Windows install, run Linux under a VM?
I am certainly saying that a fresh install of Ubuntu (and a reasonable attempt to get over the initial issues eg. using a respin available on github) has too many problems for me to either live with or spend time investigating. Others may have more tolerance for fiddling around with OSs, but I've done my dash with that kind of stuff.
Maybe. But that has nothing to do with what I wrote.
> I'd be interested in the specifics
Would you? Or would you like to gather factoids in pursuit of your belief that everyone must make the choices you make?
> that you anticipate on supported hardware
Not "anticipate". Experienced, after installation (more than once). It was more trouble than it was worth to me.
> on supported hardware
As I say, I don't think there's a developer edition of the 9570. There isn't an extant linux driver for the fingerprint scanner, which surely there would be if Dell preinstalled linux on this model.
There's a host of folks in my org running Ubuntu on Dell XPS laptops. Issues do arise, but they're pretty rare. I made the switch from Mac almost two years ago and it's been great.
For me the dealing with the few issues that arise is a better use of my time than wrestling with things like Docker on Mac, homebrew, ancient python, and weird VPN issues that seem to pop up with every upgrade.
I don't really believe Microsoft is going to do a linux as a consumer-grade replacement for Windows, but if it did, I suspect the issues I have would go away. Hardware vendors would write drivers, missing software pieces would be filled in, etc.
[Edit: I committed the cardinal sin - or is it a common convention? - of commenting on an article before reading it. A mistake in this case - I realise now the article is just silly speculative hand-waving]
Have you tried to use Ruby or Python on Windows? It's even worse.
Or KDE Neon if you'd rather have an Ubuntu core. I heard good things about it but didn't try.
I want a big company, who I trust will follow through, to take my money and solve my problems with The Desktop Linux™. I need office apps, I need music apps, I need image processing, I need some sort of integrated cloud offering, and I'd like a unix-like back end. I'll pay money for this. I will not pay in time. Apple does this for me currently; MS is possibly the only possible other company which could take on such a challenge, hence the interest in the idea.
It's sort of ironic to me that one of the main reasons I like linux on the server - which I use exclusively - is because I perceive it as "just working" in a way that MS servers never do. The situation is entirely inverted on the desktop - OSX, and to a lesser extent Windows, "just work" and the solutions to all of my problems are, at most, an install and possibly a few dollars away. Linux is very far from that currently, and until it gets a whole lot closer - and it will probably take a big company to actually do it - that door is closed to me, and people like me, for the foreseeable future.
The lack of a company controlling Linux is exactly why it's Linux. I am surprised that someone who is mid-career, has money, and little time doesn't know that.
Canonical has totally failed to deliver this. Maybe someone else could, maybe not. We're just speculating here.
Many of those seem to have gone by the wayside: Unity deprecated in favour of GNOME 3, Ubuntu One dead. It makes me wonder if Canonical found out that it just can't be done, that pissing off the people involved in the projects upon which Ubuntu depends by sacrificing some of the sense of community in exchange the It Just Works™ magic towards which they have been working is ultimately a fool's game in the current ecosystem.
I find that a shame. I thought Ubuntu had the potential to be a sort of macOS for Linux: built upon a free base, contributing heavily to other projects from which it takes, but also adding Ubuntu-specific stuff (still open source, of course) that disrupts the Linux desktop ecosystem to make the current other players (KDE, GNOME, Xfce, etc.) feel like amateur hour. At one time, it felt like Unity could've been Ubuntu's macOS desktop and I could swear they were heavily promoting some Python API for desktop apps that might've been to Ubuntu as Cocoa is to macOS. That also seems to have changed.
Please re-read what I said.
I said that I was hopeful that Ubuntu would create something that would make KDE and GNOME seem like amateur hour. I never said Unity was the thing for which I was hoping, merely that it was Ubuntu's attempt (which, to my mind, was a failure), and I never said KDE or GNOME __are__ amateur — although, you forced my hand with the next bit.
> […] if you take 20 minutes to configure it
This is exactly what I'm talking about as "amateur", though.
Try thinking like a regular user, who just wants everything to work properly out of the box, rather than a technical user who might be happy wasting 20 minutes on the fruitless endeavour of getting KDE to work Just Right This Time And I Swear I Won't Spend Another Couple of Hours Reconfiguring It Again Later When I'm Bored™, because that very way of thinking is exactly why the Year of Linux Desktop will never come.
At some point, my threshold for irritation to run a Linux desktop dropped low enough that I was willing to make the jump. My threshold for irritation for Mac also went up.
I was only willing to do so if I could install a stock standard distro and get to work without having deal with a bunch of configuration hassle. That's pretty much true for Ubuntu. However, there are a couple of issues that one may need to address that I didn't mind so much, but I readily admit, I'm not an average user.
I switched when Unity was still a thing and was surprised to learn that it was pretty good with only a little refinement needed. I was pretty disappointed when Canonical dropped Unity settled on Gnome and here we are two years later at precisely the same place, with the aforementioned refinements still needed.
Like you, I was hopeful that Canonical would produce a generally usable Linux desktop, but that still remains to be seen.
> Try thinking like a regular user, who just wants everything to work properly out of the box, rather than a technical user
I'm by any measure a technical user, with over a decade in software dev and a decade before that in network admin and corporate IT, and I absolutely insist on things working properly out of the box. Anything else is Work™ and I'm simply not going to do it for personal devices. Sure, I'll spend hours tweaking a server to get it behaving exactly the way I want. I am almost OCD about reliable, robust, version controlled environments. Just the other day I spent literally hours massaging some stupid nginx config file so it did exactly the right thing, all of the time, in exactly the right way. And all was right with the world.
My personal stuff though? I have zero, and I mean zero tolerance for any of that shit. My personal stuff better work perfectly first time, every time, or I will be taking it back for a refund or throwing it in the fucking river (regretfully this is not a metaphor). At work I am all linux and open source. At home I am the biggest Apple whore you ever met. I just want things to work.
I am also disappointed in Canonical, who I thought might do as you suggested and create "MacOS for Linux". I think such a thing is sorely needed. They haven't succeeded, though - perhaps MS could. I'd like to see that if they did it, and I'd give it a solid chance.
I'm kind of starting to realize that small nuances in Linux are not forgiven, but they are easily overlooked in Windows.
People are just used to Windows and it's problem's are overlooked.
Anyways, Desktop Linux has always been a mostly volunteered project. There are billion dollar industries around server but most of the drive on desktop is just pure volunteered.
Considering that fact, I think it's doing amazing.
As a mid-career DINC in a 2% income bracket married to a 1%'er, I too, have money but not much time. That is why I will never not use a Linux desktop. Everything just works on my XPS 13 arch + i3. I also own the previous gen mbpro, I think I used that last year may. Just the idea of me wasting time with osx or windows is sneeringly ludicrous.
If "just works" is what you're going for, then install a rock-solid distro on the desktop - Debian GNU/Linux, CentOS and OpenSUSE Leap are the ones which are really in the running, IME; Ubuntu LTS is a distant possibility if commercial support or third-party applications are a priority for you - and, just as importantly, accept its limitations. No, it's not going to support the office, music or image-processing apps that you're used to. But there's plenty that it can do, that many, many users will be absolutely fine with. (The fact that so many people are fine with something as incredibly basic as ChromeOS is proof positive of this. A Linux desktop gives you plenty more than that, and you can easily get it to run on extremely cheap hardware that would not manage to run any other modern OS.)
https://blog.ubuntu.com/2018/07/27/dell-xps13-developer-edit...
Alternately, there's System76
Works fine on X11, which is why I think Ubuntu shifted to Wayland and then back to X11, but at this point, X11 is no closer to dying.
Nvidia hardware doesn't like to behave well in Linux. One has to get just the right driver, and the correct kernel options to prevent hangs and poor standby behavior. However, I'm not sure this is terribly different than my experience with Nvidia drivers on Windows.
So far I’ve tried it out with Ubuntu 18.04, 18.10, Fedora and Intel Clear Linux. There’s not much set up involved in getting any of these installed and working.
The only issues I've seen have been, the trackpad’s a bit jumpy and I still don’t have a HiDPI and 1440 mix working nicely together under Gnome.
Currently I’m trying out Arch which is great as a learning tool.
I still have an old Mac for day to day work but I’ll be permanently switching to Linux soon I think.
I've trying every Fedora release for about two years, with a view to switching (back) from macOS. Everybody has their priorities, but Fedora is now there on software and features for my uses. If I switch back now, I'll lose the official Google Drive client, but that's it.
In the past, I've run Linux desktops without hardware issues by buying slightly older ex-corporate laptops with Intel CPUs and graphics. Today, there seem to be a bunch of vendors offering Linux preloaded, so I don't expect to this to be a big problem.
Example - I installed latest ubuntu on my laptop. Few days later, I needed to share my internet connection from wifi to ethernet. Ok, no problem, I'll just google it. Answer says it's easy as anything, you just open the connection manager, tick two boxes and done. Except....on latest version of ubuntu, the connection manager looks nothing like the one shown in screenshots, and doesn't have that option. Ok, so I start digging(and it's not easy, because almost every result on google shows me something that doesn't exist anymore). Finally, I find a command to open the old network manager, because of course it still exists - and voila, it works straight away. Except that I wanted to set up some filtering where only certain ports would be allowed through...no issue, I'll just use iptables. Fine. But since the last time I used Linux, someone had a moronic idea to change the interface names from easily understandable (eth0 for ethernet, wl0 for lan) they are now all something like eb239xsd83d, because of course that's easier to remember and type. And there is no way to instinctively tell what is ethernet and what is wifi anymore. Lovely.
Like, this is all extremely minor and easy to fix with some googling, but it feels like every damn time I want to do anything on Linux, I have to use the terminal. Ughhhh.
https://www.freedesktop.org/wiki/Software/systemd/Predictabl...
This had the advantage that the underlying OS base would no longer need maintaining by Microsoft, and all their coding efforts could be allocated to the Windows GUI, thus permitting Windows versions to be released far more often than every 5 years as was the case back then.
Being full of Softies, the crowd on Mini-Microsoft dismissed my suggestion out of hand, it being sacrilege of course to even think of marrying the 'upstart' Linux with the 'sacred' Windows code.
Naturally, today I am smiling to myself that MSFT could have taken my idea and run with it, but were too hidebound to do so and have lost 10 years in the process.
But, to avoid alienating their huge existing developer community, they would first do well to get behind Mono [0] and maybe even, make it official (edit: Mono is "Sponsored by Microsoft", so already quite official indeed). In fact, as of 2014, there have been very promising signs in that direction. [1]
[0] https://www.mono-project.com/
[1] https://opensource.com/business/14/11/microsoft-dot-net-empo...
Given that, maybe it would also be possible to implement a compatibility layer so some amount of current Windows drivers could be used anyway. I don't know if that's feasible, but if it is they're in a position to pull it off.
Besides, in a sense, Microsoft did this when they moved the desktop product line to NT. It wsa a similar compatibility break and a similar improvement in stability and switch to a robust, multiuser, preemptively-multitasking kernel as classic Mac OS to XNU; it's just that the kernel Microsoft already had in house was NT, and the one Apple/NeXT had was XNU.
After a couple years, they could make Windows server run on a Linux core, and then another couple years have Windows run on Linux.
The whole progression could be pretty smooth, covering several years and taking a milestone-driven approach.
With the surface, im sure hey could use that to their advantage and have kore control over hardware.
Perhaps the best impetus to do this would be if they ever really wanted to migrate to ARM and reduce their reliance on the intel platform.
The hardware piece is important, but definitely controllable. Just like you mentioned NT, but this time with a smaller set of vendors to work with.
Nadella is a smart guy and has moved MSFT in the right direction. If his truly makes sense, then he’ll probably do it.
I'm not a .NET dev currently running PopOs on my XPS 13. VS Code is my primary editor for all things. If MS released a desktop that looked this good and came batteries included for their tool chains and services I'd hop in a heart beat.
My only guess is that doing so would lower consumer confidence in the corporate space? I know Chrome books are making a push there and the psychological factor of "it's not Windows" does seem to be a competitive advantage for MS (for now).
Microsoft was apparently one of the candidates that was in talks to buy Red Hat.
https://www.businessinsider.com/red-hat-deal-talks-with-amaz...
According to the article, they eventually dropped out because of anti-trust concerns.
So yes, giving up entirely on the good things that Windows does without respect to the GUI and accepting the practices of Linux/Unix devs who have little or no respect for the past would be nothing short of a catastrophic mistake. Your idea would likely have killed computing forever, in my view, especially enterprise or professional-use computing, and within the first two rapid releases that broke necessary functions. It's the so-called 'Softies' who keep the world running and effective for normal people who don't want to have to figure out how to compile a program just to turn on their computer and do the things they need.
And it would have killed home use as well - we don't need network workstations at home with limited control, we need computers that we have full control over, all the time.
looks at the state of desktop computing
..and yet, here we are.
Maybe some Linux devs, but many Unix devs have been around a long time and are pretty insistent on backwards compatibility too. ;)
But otherwise UNIX's compatibility story is pretty damned atrocious because part of its culture is relying on everybody to recompile everything.
Which Unix's had this "pretty damned atrocious" backwards compatibility approach?
My experience across Solaris and Linux has led me to believe it's also been a strong nix thing too, not just a Windows approach. I used to use FreeBSD a lot too, but that was years ago and I don't have clear memories of it's compatibility approach. :/
Which nix's are you thinking of, which don't offer strong backwards compatibility for compiled binaries?
I'm afraid you have to realize you're in the tail end of the tech adoption cycle[1], either in the late majority or bordering on laggard.
Also, I've never updated Android OS on a device - every phone and/or tablet I have, has the version of Android it shipped with; whatever that might be. The same goes for iOS, mostly. My old iPad, I knew better than to update the OS. The newer one, I've made the big mistake of upgrading to iOS 12. I'm sorely tempted at the moment to make a list of programs on the device and reset it to get it back to decency.
My feeling is, people are allowing the tech companies to release buggy software, they're still buying it, they're still paying for hardware using it and supporting bug-ridden versions. We need to shift the mainstream - and the business world - back to demanding software that works and keeps on working reliably for the life of the business.
If/When you discover a bug, and the developer has a fix out as a security update -- eg heartbleed -- then would you really not update because you trusted that developer before. Surely that they've issued a patch that they suggest to apply means, if you trust them, that you should apply the patch?
Afaik pure DOS mode wasn't in Win2000 and XP, and it uses virtualization or something like it.
So, put the Win10 GUI on a Linux desktop?
As the saying goes "Now you have two problems". :)
Linux software tends to not rely on much. Linux makes it really hard to rely on much. The internals change often and the kernel is not nice to people who try to rely on implementation details, of what you can from usermode. You can hardly rely on libc when you are on Linux, and many try not to, to be more portable.
Windows software on the other hand is wild. Just look at the myriad of techniques used by anti-debugging and anti-reverse-engineering tools. A Linux binary wouldn't dream of reimplementing the runtime linker itself, but that's exactly what many packers do on Windows, to obscure the import address table and make patching/debugging harder. Did you know you can write into another processes address space with WriteProcessMemory? Why do we even have that lever!?
That's only considering usermode. But apps are just as eager to rely on kernel mode implementation details too, in the past it was even common to patch the SSDT to modify syscall behavior. Anti-cheat in video games can still do evil things even on Windows 10; nProtect GameGuard's kernel module seems to hide its usermode processes somehow. I'm pretty sure Linux kernel modules can't easily do that.
I'd love better Windows compatibility on Linux. Heck, I'm excited by what Valve is doing with Proton too. But in the end, I think much of the Windows software library is just too deeply ingrained in the Windows legacy.
They can, and rootkits in the past (unsurprisingly) have. But that's just technical ability; users willing to run things like that is a whole different matter, especially when we can just namespace and/or sandbox apps.
They gave a demo called MinWin years ago that more or less did the same thing.
There are still missing features. There's a lot of userland working, not nearly 100%.
And the funny thing is it is probably less work than maintaining their current solution.
Also I don’t think it has to be an either or situation. There is nothing stopping MS from supporting NT systems and putting future development into Linux systems. Similar to how they’re doing .NET and .NET Core. Over time they can port their office suite and other programs and drivers to the Linux system and the users will come with them.
And at this point they’ve already started to drive developers away from NT because of their Linux offerings. Let’s be honest, most developers would pick Unix in a heartbeat over NT (to develop in and deploy to) and now they have that option.
Also if anyone with power at Microsoft is reading this and this is a path the company ever takes: don’t make a ChromeOS, make an Ubuntu.
crickets
My bet is that if they release a Linux distro, it will be Microsoft's take on ChromeOS, tied to Azure and Office 365 and all that, with any other stuff shunted off somewhere in a container or VM. Oh, you can install your own software from other sources at will, you'll just have to compile it yourself or rely on a network of repos and maintainers. It'll be the death of everything I actually like about computing and I'm not looking forward to it.
This is the same motive behind the switch to Chromium, that browsers are "good enough" and that the marginal gains of platform independence aren't worth the heavy investment.
Because in every other aspect but the very kernel (and the UI perhaps) Windows is a disaster. Windows Update especially.
Quite the opposite: the only thing that is (hell arguable, of course) wrong with Linux is its kernel architecture.
embrace (chromium), extend (dev tool features that will only work with vsStudio but is awesome), extinguish (tool now only work with vsstudio when serving from azure because they are moving faster than open standards.)
Or they could ditch the GNU part and go for a non-GNU libc and userland like the article suggests. That wouldn't save nearly as much money as the article speculates because the Windows userland is humongous - NT is a small part of the whole, much like the Linux kernel is a vanishingly small part of the distributed effort of building desktop Linux distros.
There could be tons of edge cases where stock Linux binaries could behave slightly differently and could be a support nightmare.
I find it funny you mention "stock Linux binaries", the distributions that are available on top of WSL are stock Linux distributions. Ubuntu, Debian, SUSE, etc. There aren't any non stock Linux binaries involved.
Google has developed their own non-GPL userlands, u-root and toybox.
Personally am surprised that Microsoft did not try to compete with OpenVZ and offer their own containers or easier to script sandbox.
What other commercially supported option do we have for those concerned?
Overall Windows would become much more stable, they might be able to get some Mac users to switch and they could put more people on getting the UI right. Like a lot of my bolder predictions on each years list I got it way wrong.
In my defense I didn't know anyone at Microsoft at the time to run my idea by. Still think it makes some sense though in a way they ended up giving Windows at the *nix command line as a gift to Mac developers. I'm happy with Windows 10, for me it's just good enough.
Why would you think they would do this? NT is the architecturally more modern kernel. People should read up on the history of the NT kernel [1]. And if they should do this for non-technical reasons, I think it is more likely that they go for some permissively-licensed kernel (e.g. FreeBSD) to avoid the GPL.
In the end, Microsoft did exactly the opposite: make it possible to run Linux binaries on Windows. Windows Subsystem for Linux is a testament to the strengths of the NT kernel. NT supports multiple 'personalities' and Win32 is just one personality, the Linux ABI is another personality. One could say that the Linux ABI is almost as native to the core NT kernel as the Win32 ABI is.
At any rate, I think that the Windows desktop is getting less and less important to them. So rather than going through the massive work of porting Window on top of the Linux kernel, I think it is more likely that they put Windows in maintenance mode and make/fork something along the lines of ChromeOS or Android for client systems.
(Disclaimer: I haven't seriously used Windows since Windows 3.1. It just bothers me when people misrepresent Windows or the NT kernel.)
[1] https://www.itprotoday.com/compute-engines/windows-nt-and-vm...
https://www.linspirelinux.com/
[0] https://en.wikipedia.org/wiki/Microsoft_Corp._v._Lindows.com....
So, by that measure Linux has ¼ of the users of MacOS.
The significance of that for you is not my call though.
Steam's top seller in 2017 was PUBG at $600 Million, so assuming equal spread of revenue that 0.8% represents $4.8M you're leaving on the table. With less competition on Linux then there's possibly a higher revenue to be gained there for AAA titles? It might be worth risking a bit of dicking around with Proton/WINE to get your game working for a few extra mega-dollars?
NetMarketShare.com gives similar ratios for Linux : Mac on desktop, giving Linux 2% of desktop/laptop installs.
[1] https://store.steampowered.com/hwsurvey
[2] https://www.gamesindustry.biz/articles/2018-03-23-valves-gen...
[3] https://www.netmarketshare.com/operating-system-market-share...
But I would assume the cost it is not. With your PUBG example, it was known for bad optimization and vulnerability for hacking from the beginning. The developer could optimize for Windows and benefit 96% or more of their customers, while it is hard to justify do the same for the 0.8% user base while the spending is probably the same. So no, I don't think $4.8M is easy money.
And for smaller, even moderate successful titles, Linux version makes even less sense.
Hence the question what is the business model. It is nothing to do with technology. It is as godfather have taught it - nothing personal but business.
The article mentioned about azure, here Xbox, guess pc side the old business they do os and oem do hw (vs iphone and mac mode of integrated business down to make apple cpu), rental model ...
Hence the question is not about whether it can but how.
It is all business to Microsoft and google. A bit different on apple side in the past ...
That is why we should be worry. The old embrace, extend and extinct is logical path for all business and empire.
Anyway, they are moving and get that here and there like github. But would they worry as a buisness about java and android model.
Let us see.
But MS has a room to keep their own ecosystem as losing it will have less diversity as we've seen when they dropped Edge not to mention the world will come to a halt without Windows that can run apps from the last 20 years.
Having a UNIX kernel at the core would be really nice which would make developers easy to port apps between OS but how would the world deal with all the irreplaceable apps on Windows?
I'm a long time Linux user, but got an ultraportable lately and kept windows on a small partition (mostly for BIOS updates). Linux was installed without any issues, everything except the fingerprint reader works. The interesting thing is that it does not just work, it works better. The most pronounced difference is the touchpad. On windows it is frequently stuck —and it's not palm rejection because I never had an issue in Linux. The 3 finger click that is paste or _open in new tab_ in Linux, in Windows opens Cortana. With Linux battery lasts longer. With Windows, the fan starts turning without any reason while the process manager says _no process is running_. Very annoying. Windows constantly nug me because I used my skype account which, according to them, does not have an associated email. Applications go into full screen without any indication on how to close them. I have to search for software on the internet, via my browser. The other day I wanted to start Windows for a Lync meeting and it decided it has to install updates and restarted a couple times before allowing me to continue with my life. Perhaps the most infuriating thing was the candy crash tiles that greeted me when I first booted the computer.
I'm not saying you should use Linux, but you should ask for better Windows.
But also, I think it would be a daring and interesting business move. I'd probably start using Windows more if they did, and usage is the ultimate prize these days.
This is what makes Android possible.
This article is nonsense.
Mac is used by most tech companies because of terminal and tools it can run. But Linux can run all of them so windows built on Linux will have best of both worlds.
Think about it. The year of Linux on the desktop brought to you by Microsoft.
System_76 borrowed heavily from elementary OS to create Pop_Os which is a dream. Now that I'm saying it I hope they just swallow a little pride and become a major contributor to Pop_Os.
Every devops and net admin I know would wiggle with joy to be issued a Dell XPS 15 + Pop_Os tuned with PowerShell and other MS tool chains fully supported.