Why Microsoft’s Windows Subsystem for Linux Is Not As Novel As It Sounds
Microsoft is rolling out production-grade support for running Linux apps on Windows via Windows Subsystem for Linux. Here’s what the announcement means — and why it’s not actually a very big deal.
In a nutshell, Windows Subsystem for Linux, or WSL, lets Windows 10 users run command-line Linux applications natively on Windows. There is no emulation or virtualization required.
WSL was introduced in spring 2016 as the product of a collaboration between Microsoft and Canonical, the company behind Ubuntu Linux. WSL originally supported only Ubuntu apps. Now, however, that support has expanded to include all major Linux distributions.
WSL is already available in beta form. Microsoft plans to make it an officially supported, generally available feature in Windows 10 this fall.
What WSL Is — and What It Isn’t
Being able to run Linux applications natively on Windows may seem like a big deal — and it is in a few respects. WSL integrates Windows and Linux environments in a deep way, with Microsoft’s blessing.
In many other ways, however, WSL is not as interesting as it may seem on the surface. Consider the following points:
- WSL is by no means the only way to run Linux apps on Windows without virtualization. Platforms like Cygwin, which has been around for more than twenty years, have long made it possible to run Windows apps on Linux. The caveat was that Cygwin requires Linux apps to be recompiled for Windows, whereas WSL does not. Still, the end-user experience is essentially the same.
- Virtual machines offer another way to run Linux apps on a Windows host. You have to set up a virtual machine to do this, of course, but virtualization is pretty easy to configure these days.
- WSL does not currently support GUI apps, and Microsoft says there are no plans to change this. So, in practice, the number of Linux applications that you can actually run on Windows using WSL is relatively limited.
- While Microsoft says it is possible to host command-line server apps using WSL, the company doesn’t encourage this, and it presumably won’t support such use cases. This means WSL is not a good way to integrate Windows and Linux server environments for production purposes.
- WSL is not open source. It’s a proprietary framework that the open source community can use but not extend or integrate into other platforms.
Basically, then, WSL simply provides a way to run certain Linux apps on Windows for testing purposes. This might be handy for developers who have Windows workstations and want to write Linux apps on them — although, again, there are other, freer ways to do this, namely via Cygwin or virtual machines.
For the rest of us — meaning people who are not developers who work from Windows desktops — there is probably no good reason to use WSL.
This leaves me wondering: Is WSL a sign of Microsoft’s professed “love” for Linux, or just a closed-source Windows-Linux compatibility feature that duplicates functionality that has already been available for decades? I lean toward the latter interpretation.