It took twenty-five years, but it's finally here: Binary compatibility for Linux apps on Microsoft Windows. That's according to news this week from Canonical, which says it has partnered with Microsoft to make Ubuntu (or a part of it, at least) run on Windows.

In a blog post published Wednesday, Dustin Kirkland of Canonical's Ubuntu Product and Strategy Team announced what he called "Ubuntu Userspace for Windows Developers." Microsoft's name for the software is Windows Subsystem on Linux (WSL).

Whatever you choose to call it, the platform lets you run certain apps for Linux directly on Windows. You don't have to recompile them for Windows. You don't have to use a virtual machine or a container.

Instead, WSL works by implementing Linux system calls on Windows. If that sounds a lot like Wine, the compatibility layer for running Windows apps on GNU/Linux systems, it's because it is. "Linux geeks can think of it sort of the inverse of 'wine' -- Ubuntu binaries running natively in Windows," Kirkland wrote.

The news is the most positive proof yet that Microsoft now wants to engage eagerly with the GNU/Linux community. But there are some important caveats, which will displease some GNU/Linux fans. They include:

  • WSL is not open source.
  • Currently, WSL won't run just any GNU/Linux app on Windows. Only certain ones are supported. Kirkland showcased a bash terminal running on Windows. That's cool, but it's a far cry from total cross-platform compatibility. Getting graphical apps running will presumably require a lot more work.
  • There is no indication that Microsoft plans to work in the opposite direction, too, by making Windows apps run on GNU/Linux systems with official Microsoft support. That would probably interest people much more than Linux apps for Windows. After all, given that most Linux apps are open source, it's usually not terribly difficult to port them to Windows if you want.

It's also worth noting that WSL doesn't really let you do very much that you couldn't already do for many years via Cygwin, which allows a lot of GNU/Linux apps to run on Windows. Cygwin is not as seamless a solution as WSL, but the end result it provides is basically the same. For that reason, some GNU/Linux fans will probably be left wondering what WSL really changes.

Yet given that the Linux kernel is a few months from its twenty-fifth birthday, and Microsoft has never before shown an interest in bringing official support for Linux-based apps to Windows, the WSL news is a big deal.

Microsoft says more information about WSL "will emerge in the coming days," so stay tuned.