Kevin Gallo, Microsoft’s director of Windows developer platform, announced the development during a keynote address at Microsoft’s Build 2016 conference in San Francisco.
The Linux Bash command-line tool will run natively within Windows 10. That has been possible using third-party tools for years, but a direct partnership with Canonical should offer developers more flexibility and convenience using Ubuntu binaries and tools directly, he said.
The feature does not involve running Ubuntu in a virtual machine or using cross-compiled tools. Windows 10 users can download the binaries from the Windows Store, Gallo added.
Work on the project began several months ago and is a continuation of an ongoing business partnership between Microsoft and Canonical, said Dustin Kirkland, Canonical’s Ubuntu product and strategy team lead.
“Microsoft and Canonical have been business partners for some time now around Azure and technical partners around Juju, LXD and other open source technologies,” he told LinuxInsider.
“This fascinating, unusual opportunity to bring Ubuntu to the Windows world was initiated by Microsoft, and we are continuing to work closely with Microsoft to ensure that the Ubuntu on Windows experience is everything that both of our rich developer communities expect,” Kirkland added.
Microsoft’s announcement included a brief live demonstration of Bash running on the Windows 10 desktop.
The notion of Bash on Ubuntu on Windows undersells what the development involves, said Kirkland. Bash is just the starting line.
“The entire world of command-line utilities available in the Ubuntu open source archives is fair game and freely installable. We’re working with the Microsoft team to ensure test coverage and fix the remaining syscall translation issues during this current beta period,” he said.
“The native availability of a full Ubuntu environment on Windows, without virtualization or emulation, is a milestone that defies convention and a gateway to fascinatingly unfamiliar territory,” Canonical founder Mark Shuttleworth said.
The journey to bring free software to the widest possible audience is a moment he could not have predicted. Canonical is delighted to stand behind Ubuntu for Windows and is committed to addressing the needs of Windows developers exploring Linux, he told LinuxInsider.
Push From Azure
The impetus for extending Ubuntu to run on Windows 10 comes from Microsoft’s partnership with Canonical in bringing Ubuntu support on its Azure cloud services. Canonical has a responsibility to deliver Ubuntu, and the world of open source software, to any and all software developers, said Canonical’s Kirkland.
“It’s plain to see that we are in a heterogeneous world. Developers routinely have devices running Windows, Mac OS, Ubuntu, Android and many other operating systems. Together with Microsoft, we have just made the entire world of open source software available to Windows users around the world,” he said.
There are more than 270 million Windows 10 installations in the world, and the OS is growing faster than any previous Windows release, Microsoft said in its comments announcing the Canonical pact.
That opens the door to growing a base of Linux users.
“Every one of those are now one Windows start command away from being Ubuntu users, too,” Kirkland said.
The Windows-Ubuntu partnership is about winning the hearts and minds of developers. A significant chunk of developers use Linux, and the partnership will allow them to do so on the same machine, according to Al Hilwa, a research program director at IDC Seattle.
“It appears to be one more partnership that is aimed at multiple technology fronts. It is a win-win for Linux and Windows users,” he told LinuxInsider.
Ubuntu Users will have a simple, frictionless way to set up a Bash development environment on the Windows platforms. The beta technology is being made available via the Windows Insider program. Interested parties can register to become a Windows Insider and get more details from Microsoft.
After downloading the required files from the Microsoft Store, Windows 10 users simply open the Windows Start menu and type “bash.” That opens a cmd.exe console running Ubuntu’s /bin/bash.
Within that console, users have full access to all of Ubuntu’s user space, noted Kirkland. That includes access to apt, Wget, Python, Perl and such. It also includes most of the tens of thousands binary packages available in the Ubuntu archives.
The Ubuntu user space runs with native Ubuntu binaries directly in Windows. There is no container, virtual machine or hypervisor. The process runs bit for bit, checksum for checksum the Ubuntu ELF, or Executable Linking Format, binaries running directly in Windows.
Windows 10’s Bash integration will be available with this summer’s free Windows 10 Anniversary Update, according to Microsoft. Users will have to enable Windows 10’s Developer Mode and add the feature in order to use it.