Why “Linux from the Windows App Store” is NOT “running Linux”

Venture Beat, Engadget, and other sites have been breathlessly reporting that 3 different “versions of Linux” are available from the Windows App Store.


Time to nip this in the bud before this gets out of hand.

These “flavors of Linux” are NOT actually “running Linux”. Linux is a kernel, and the kernel is not present in this Windows Subsystem for Linux (WSL) offering. These environments are not even VMs , and they are NOT running the Linux kernel underneath. These are user space binaries lifted from other distributions, running against a “compatibility layer” that is complete enough to run a lot of things you usually find in /bin or /usr/bin, especially the yum/apt-get package managers, which let you install much of the rest of the open-source ecosystem. You can even run console-based programs that you compile on your real Linux system. I know because I tried that, and yes, it works as advertised. This is more properly called Application Binary Interface compatibility. If you really want “Linux on Windows”, get Virtualbox or VMWare, and install Linux there. Then you’ll have Linux the kernel.

ABI compatibility is helpful, and a neat trick. Essentially, WSL is WINE in reverse. And WSL is an absolute godsend for serious developers who crave a capable command-line environment on a typical uninspired corporate laptop optimized for Powerpoint. But with the Windows kernel underneath instead of the Linux kernel, your system is still just as vulnerable to exploits and malware as it ever was. Maybe even worse. Not to mention still vulnerable to having your system held hostage every time it wants to re-index your whole drive, or get stuck installing updates.

Put another way: WSL on Windows “is Linux” to about the same degree that Mac’s Terminal is Linux. Or that this is a woman.