Enemies No More: Microsoft Brings the Linux Kernel to Windows

For decades, Microsoft Windows and the open source Linux operating system were polar opposites. Windows was developed by the biggest software company in the world, one that was no friend to open source. Linux was developed by a ragtag team of programmers scattered around the world, often working in their spare time. But over the years, open source, and Linux in particular, went mainstream. Linux now powers the majority of the world’s web servers and underpins Android, the world’s most popular mobile operating system. That forced a change in how Microsoft treated the rival operating system. First it began supporting Linux on its cloud service Azure. Then it began releasing software for Android and Linux and even using Linux internally to power Azure. Now Microsoft is bringing the heart of Linux into Windows.

Thanks to a feature called Windows Subsystem for Linux, you can already run Linux applications in Windows. WSL essentially translates commands meant for the Linux kernel—the core part of the operating system that talks to hardware—into commands for the Windows kernel. But now Microsoft will build the Linux kernel into WSL, starting with a new version of the software set for a preview release in June.

To be clear, Microsoft isn’t replacing the Windows kernel. The Linux kernel will run as what’s called a “virtual machine,” a common way of running operating systems within an operating system. You’ll have to make a point of installing WSL if you want to use the Linux kernel.

At first blush it may sound like a strange idea. But it makes perfect sense to programmers, especially web developers. Linux is the most common operating system for running web servers, but Windows is still king inside corporations. Making it easy to run Linux code in Windows is a boon for developers who need to use a Windows machine to write code that runs on Linux servers.

WSL might also help Microsoft win over programmers who use Macintosh products. MacOS is based on Linux’s ancestor Unix, and has long been a favorite among web developers who want a development environment similar to Linux that also supports commercial applications not available on Linux. But there are differences between Unix and Linux.

Seattle-based programmer, designer, and educator Ethan Schoonover says he gave up on running Linux, except on servers, because he needed to run Adobe applications such as Photoshop and Illustrator natively. For years he used MacOS, but he says he occasionally found incompatibilities between his Mac and Linux servers. And he missed the tools that his preferred Linux version, Arch, offers to install and upgrade software. “It’s also fair to say that macOS has not received the focus and development that iOS has and that shows,” Schoonover says. So he switched to Windows with WSL, where he can run Arch’s bundle of tools and applications.

“It’s not perfect and there are weird issues from time to time that remind me I’m still living on a Windows machine, but overall WSL has been a sea change,” Schoonover says.

Before Microsoft released the first version of WSL in 2016, developers could run Linux in a virtual machine. But that meant running an entire operating system, which isn’t particularly efficient. WSL made it possible to run many of the same tools and applications within Windows without the need for virtualization. But that idea had its own performance issues, particularly when working with the Windows file system, according to a blog post by Microsoft program manager Craig Loewen. Virtualizing only the Linux kernel while running everything else natively is an intriguing compromise that Loewen writes will improve Linux application performance on Windows by as much as 20-fold, depending on how much an application interacts with Windows.

Openness has been a major theme this year at Microsoft’s developer conference Build. As WIRED’s Lauren Goode wrote yesterday, the company is not only trying to distance itself from its reputation as an enemy of open source, but position itself as a champion of openness in general compared with rivals like Google and Apple.

“They are still digging out of the hole of distrust that they dug themselves into,” Schoonover says. “But it’s a testament to Nadella and whomever he has advocating for open source that they have been able to re-establish enough trust for people like me to even consider running Windows.”


More Great WIRED Stories

social experiment by Livio Acerbo #greengroundit #wired https://www.wired.com/story/enemies-no-more-microsoft-brings-linux-kernel-windows