Microsoft really wants developers to use Windows 10 to create apps… and not just apps for Windows. The company is positioning its software as a solution for developers working on web apps, mobile apps, and apps for all platforms — and Microsoft acknowledges that some developers prefer to use Linux or other operating systems.
So the company has announced a partnership with Canonical to bring an Ubuntu Linux subsystem to Windows 10, allowing you to run the Bash shell on Windows 10.
Microsoft says this brings open source, command-line tools to Windows including text editors such as Emacs.
Bash will be available for download from the Windows Store.
Does this mean that you’ll be able to run other Ubuntu apps? A number of command-line tools are available, but it’s a bit unclear if you’ll be able to use full-fledged, desktop-style apps. But this development could help some folks who want to use Linux tools to do so without running Ubuntu or other GNU/Linux operating systems in a virtual machine.
Update: Canonical’s Dustin Kirkland explains a bit further. Users will be able to type “bash” into the Windows 10 start menu to open a command line console that users Ubuntu’s /bin/bash.
The system features a full Ubuntu user space complete ith support for tools including ssh, grep, wget, curl, python, mysql, ruby, php, vim, and more.
Kirkland says Bash for Windows 10 differs from tools like Cygwin, because it’s not just a set of tools that have been recompiled to run on Windows. Instead, the complete Ubuntu subsystem is available, making this more like an emulation layer. It’s kind of like the opposite of WINE, which allows you to run (some) Windows apps on Linux.
In this case, Linux system calls are translated into Windows calls in real-time, allowing you to run some Ubuntu programs on Windows without making any modifications to those programs.
Currently the tools are based on Ubuntu 14.04, but soon everything will be updated to Ubuntu 16.04.
Wondering how big a deal this is for developers? Hackaday suggests:
It is not an understatement to say this is the most important development in operating systems in the last 10 years. For the last decade, every developer who is not purely a Windows developer has picked up a MacBook for the sole reason of having BSD under the hood. If you’re looking for a reason Apple is popular with devs, it’s *nix under the hood. This announcement changes all of that.
I’m a bit wary of the “not an understatement” claim… but this move could certainly make Windows 10 a more attractive alternative to OS X for cross-platform app developers.