Microsoft recently kicked off its annual Build Developer Conference. It was no typical event. Microsoft pulled out all the stops, and demonstrated remarkable advances in artificial intelligence, augmented reality, and cemented the reputation of Windows 10 as a formidable gaming platform. But Microsoft also announced something else. Something that is getting a lot of people excited.

Straight Outta’ Ubuntu

To say that BASH is coming to Windows 10 is to massively understate the situation, because really, what Microsoft’s been working on is far more impressive than that. It’s essentially a Linux subsystem – not a virtual machine – based on Ubuntu 14:04 LTS, which grants access to the Ubuntu userspace.

Linux system calls (often called ‘syscalls’, essentially when a program requests something from the OS kernel) are translated in real-time to Windows system calls, using some custom software built by Microsoft. This distinction is explained better by Dustin Kirkland, who is one of the Canonical engineers who helped Microsoft port it.

This means that it’s not just BASH and the associated essential Linux utilities being ported. It’s almost everything.

According to Dustin Kirkland, most things work pretty well, with the exception of some applications that use a TTY – such as byobu, screen, and tmux. He assures us they’re getting there though, and given that Microsoft put this front-and-center at their Build 2016 keynote, you can be pretty confident that eventually it will be a finished, polished product.

What This Means for Joe User

I’m not going to lie. This announcement will appeal overwhelmingly to two groups of people: Linux enthusiasts and software developers. If you’re not one of them, you may be wondering what this means for you. But there is cause to be excited, even if you’re not an arch-geek.

Firstly, it presents a great way for people to dip their toe into the sometimes-murky waters of the Linux ecosystem, without having to actually install it. Absolute newbies will be able to learn the essentials of common Linux tools from the familiarity and relative safety of Windows 10.

Secondly, it’s also great for those who are learning to code for the first time. Many of the easiest languages to learn (and consequently, the most popular with beginners), are also the most irritating to install on Windows. Installing Python properly, for example, requires you add a variable to the Windows PATH. If you want to easily install Ruby and the assorted essential documentation and tools, you’ll have to use a third-party installer like RubyInstaller.

But now, would-be developers would merely need to type “bash” into their command line, and they’d be able to start hacking away at a Ruby or Python script, without having to worry about the vagaries of configuring these languages on Windows.

Plus, since the majority of beginner tutorials are built around Mac OS X and Linux, Windows users will be able to use them without any problem.

Linux on Windows: Why This Matters for Developers

Historically, Microsoft’s command-line (sorry, command prompt) tools haven’t measured up to those on UNIX based operating systems. The biggest reason for this is because Windows has always emphasized in solving tasks and problems through graphical interfaces and menus, not via the terminal. While this is great for users, it’s less great for developers, who over the past twenty years have increasingly depended on Linux-based servers, which are far more reliable and secure.

A consequence of this is that developers have increasingly drifted away from Windows. If you go to any developer conference or meetup, or visit the offices of any technology startup, you can almost guarantee that the majority of devices being used are Apple laptops, or PCs running Linux. They’re unlikely to switch back, either, as they’ve since learned how to use these operating systems, and built workflows based around them.

Yes, yes I am traveling with 2 MacBook Pros and a full DSLR camera bag #Build2016

One developer I worked with when I was a summer intern at ScraperWiki – a data science startup in Liverpool – had a tightly customized VIM editor, and a routine that centered around a handful of common (and some uncommon) Linux utilities. It’s hard to imagine him comfortably switching back to Windows.

Perhaps Ubuntu on Windows 10 will be enough to coax these developers back to the Microsoft fold, or at least stop the hemorrhaging of developers from the Windows platform.

It also goes a long way to repair Microsoft’s tarnished reputation, especially when it comes to the open source community. The early 2000s and late 1990s, Microsoft was overtly hostile to open source and Linux: then CEO Steve Ballmer described it as a “cancer”, and they tried to kill it (as well as some rival proprietary products) with the “embrace, extend, extinguish” strategy.

How to Get BASH for Windows 10

At the time of writing, BASH has only been announced – you can’t actually get it, yet. Although it will be a part of the upcoming Windows 10 Anniversary Update, which is scheduled to land this summer. Given it’s an “anniversary update” and Microsoft launched Windows 10 on July 29, you should expect it by then.

Your email address will not be published. Required fields are marked *

Comment

Name *

Email *

jmacw

May 4, 2016 at 3:38 am

I am very skeptical - if they really want to make the open source community believe them, how about helping with compatibility in the other direction? Maybe they could make an interface that lets me run Windows programs on my safe and secure Linux Box - Yes, I know I can use WINE, but some software will not run on WINE....

Imagine running some of the Windows software on my linux box and not worrying about viruses or Malware!

This is..., OK I'm sorry I just don't trust them. Assuming this isn't an April Fools joke, I truly believe this is still just a part of the Embrace, Extend, Extinguish agenda. On the surface (no pun intended) it looks as if there is a lot to be gained from this, such as the points mentioned about easing developer's pain and bringing devs back to Windows. But given their history and what we know about them...really? SERIOUSLY?!!

Oh look, a gaggle of nerds. I'd stay and chat but I'd prefer to take my safety chances in the real world. Don't forget to turn off the hallway light in your moms basement after a tough night of not getting laid.

Windows has been running on a "Microsoft Unix" subsystem "kernel" since ME I think or at least since XP with a DOS overlay with windows gui on top of that (kind-of like a Dalvic Virtual Machine on your Android) I can't remember how I found it back then but sure as hell it was there in all its ASCII glory. I accidently crashed the computer and all it would say until I figured it out was a full screen "MICROSOFT UNIX" and some basic instructions on a Blue and White screen like the infamous BSOD. It kind of blew my mind at the moment but after I started messing with its command line I got it working again... Weirdest shit that I've ever seen.

"It’s important to stress that this is fundamentally different to what existed previously."

What existed previously and was taken out in Windows 8.1 was "Windows Services for UNIX" compatibility layer. What this looks like is a revamp of that, adding back compatibility. How is what they are adding back fundamentally different?

"Firstly, it presents a great way for people to dip their toe into the sometimes-murky waters of the Linux ecosystem, without having to actually install it. Absolute newbies will be able to learn the essentials of common Linux tools from the familiarity and relative safety of Windows 10."

"Windows 10 Receives a Full Linux Command Prompt"
What is this world coming to?! Microsoft embracing Linux? This the first step on the road to Embrace, Extend, Extinguish bu M$.

" Absolute newbies will be able to learn the essentials of common Linux tools from the familiarity and relative safety of Windows 10."
Another way of looking at this is that all the Windows problems will now be brought into Linux.

Matthew Hughes is a software developer and writer from Liverpool, England. He is seldom found without a cup of strong black coffee in his hand and absolutely adores his Macbook Pro and his camera. You can read his blog at http://www.matthewhughes.co.uk and follow him on twitter at @matthewhughes.