For years, Microsoft tried to fight off Linux. Linux users were all too happy to take potshots at Microsoft and Windows in turn. But over the years, something changed. It seems that Microsoft has become an advocate for one of its biggest competitors: Linux and open-source software more generally. How did that happen?
WSL
You can run real Linux apps from Windows
The biggest way Microsoft supports Linux is through the Windows Subsystem for Linux, or WSL. As the name suggests, it’s a way to run Linux programs on Windows without having to install a heavyweight virtual machine or install a dual-boot system.
While it was initially limited to command-line applications, you can now run Linux GUI applications, both X11 and Wayland, in Windows. Why would Microsoft build such a way to let them run one of their competitors’ systems on their own machines? WSL seems like a way to regain developer mindshare. With more developers building in the cloud, they were deploying Linux-based servers instead of using Microsoft’s development tools.
WSL1 translated Linux system calls into Windows ones, but WSL2 runs a full Linux kernel for increased speed.
WSL would be a practical way to get started with Linux if you have no experience with a Linux system. You can learn the command line in a familiar environment without rebooting like you would have to do on a dual-boot system. Running WSL instead of a separate Windows distro also helps eliminate the hardware support headaches that used to be more common on Linux systems since more hardware has worked with Windows.
Azure Linux
A real Linux distro from Microsoft
While WSL users can choose from a number of popular Linux distributions, including Ubuntu, Microsoft has released its own distribution, Azure Linux. I tried it out recently. It’s meant to support cloud servers, hence the name, which shares it with the company’s cloud computing service.
This might be even more surreal than offering WSL to Windows users. It’s an admission that it’s Linux, not Windows, that drives enterprise IT. While Windows servers still exist, they’re mainly for running legacy Microsoft applications like Access or SQL databases.
Azure Linux isn’t meant for regular desktop use, but if you want to tinker with a minimal setup for containers, it would be a good starting point.
Azure isn’t the only Linux-based OS that Microsoft offers. It’s also released the SONiC networking operating system, based on Debian. This distro is mainly designed to support containers. It’s now developed by the Linux Foundation.
Microsoft tells people how to install Linux
Something you’d never thought you’d see
For a company that called Linux “communism” or “cancer” in the 2000s, a marker of the company’s turnaround on opinion is that they’ve published instructions on how to download and install Linux on Microsoft’s own website.
They seem to favor WSL for those who do want to install Linux, claiming that running virtual machines or “bare metal,” or a full installation, are more complicated.
Microsoft supports Linux in the cloud
60% of their customers can’t be wrong!
One reason Microsoft developed Azure Linux was to have a standard environment for containers run in the cloud, including its namesake Azure cloud computing service.
The company’s focus on the cloud mirrors the way it’s changed how it makes money. Where in the past the company mainly sold licenses of programs like Office and the Windows OS it ran on, the tech industry has moved toward subscription models, because they can keep pocketing subscription fees every month rather than selling licenses for new versions every few years.
While Amazon might have a big toehold in the cloud computing world, there are some people in business who might have felt more comfortable dealing with Microsoft. There used to be a saying that “nobody ever got fired for buying IBM.” With Microsoft’s dominance, that sentiment seemed to transfer to them.
What’s surprising is how many of their workloads are run not in Windows Server, but it Linux. Microsoft estimates that more than 60% of their Azure workloads are Linux-based. As the IBM PC legitimized the personal computer in the ’80s, Microsoft might have done the same thing for the Linux-based cloud.
Microsoft supports open-source development
From Windows Calculator to old versions of DOS, the company releases lots of open-source projects
Once the poster child for proprietary software, Microsoft has emerged as a key booster of open source. Despite the recent reliability troubles of GitHub, Microsoft’s purchase of the open-source project hosting site seems to indicate that it’s serious about supporting open-source development. Microsoft has a page listing its open-source projects.
Microsoft isn’t just releasing toy programs and open-sourcing verisons of its retro operating systems. The .NET framework is also an open-source project. WSL is also an open-source project. Even the Windows Calculator is open-source now. This is far from the 1970s, when Bill Gates ranted about people using Altair BASIC and not paying for it in his “Open Letter to Hobbyists.”
Microsoft has a listing of open-source projects, and even I was surprised at what was available. The Windows Terminal, something I use every day, was also open source.
Why would Microsoft have such key components as open-source, given its history of locking things down tight, and “embracing and extending,” then “extinguishing” open standards? Again, it’s probably another concession to modern software development. Plus, open-source projects build goodwill. As Steven Vaughn-Nichols wrote in The Register, Microsoft is effectively a Linux and open-source company now.
Not only does Microsoft support open-source development, it’s also open-sourced some of its own projects. These include the C# language, and MS-DOS 4.0, among others.
So long to the Windows-Linux rivalry
Stranger things have happened in the tech world than Microsoft becoming a booster of Linux and open-source software. It will be interesting to see what Microsoft does with Linux in the future.

