Hell is freezing over as many websites say on their headlines. Microsoft is embracing Linux. Linux runs on Azure; Xamarin is included for free on Visual Studio to ease cross-platform development, and the bash command-line will soon be available on Windows. What does this mean for both Windows and Linux users?
I love reading up on tech in the morning like my grandfather does with the daily newspaper. I read up on news of the latest hardware, latest mobile tech and the latest on Windows. Most tech sites have comment sections, and I read those too just to see what others think and occasionally put in my two cents. But when it comes to Windows, the forums come alive with that age-old rivalry. Windows vs. Mac. But for years, it’s been Windows vs. Mac vs. Linux. Whenever there’s a new announcement or something goes wrong with Windows, the Windows-bashing begins with Windows often losing, yet holding on to the top spot in desktop/laptop usage. Linux advocates often evangelize to others to switch operating systems. Linux is faster, has better security and does not spy on users. Also, since software development, especially web development is no longer restricted to just one platform, many of the more tech-inclined use Linux as their primary development platform by preference or because they started out on Linux.
Casual users who move from Windows to Linux by choice or by job have little to no problems dealing with the graphical interfaces presented by distros such as Ubuntu and Mint. Often, the main complaint is the command line or the Linux shell. The most common shell for Linux is Bash, short for Bourne Again SHell, whose commands, as opposed to old DOS commands seem harder to understand. It doesn’t really help much for new Linux users that helpful Linux users often post almost unintelligible commands to solve even simple problems. Very few direct users to GUI equivalents unless there were problems with GIMP, Firefox or LIbreOffice. But since there are so many distros and versions out there, it’s just logical to resort to the command-line as a universal solution.
But for the average Linux user, bash is almost indispensable. Bash is used from navigating the system, file management, running programs in the foreground or background and app development. As Linux is mainly a text-based operating system, bash (actually just one of many command-line interfaces), is the main method of using it. The various Linux distros mainly have their own takes on user interface and included programs. Some compact distros don’t even have a GUI. Bash does have advantages over the Windows cmd though Windows Powershell is pretty powerful in itself.
By porting bash to Windows, Microsoft is inviting Linux users and current Windows users to experience the best of both worlds. Windows users and developers who have yet to try Linux can experience what it’s like at the other side of the fence and vice versa. Linux users would hate to admit it, but the whole bash in Windows thing is an intriguing concept. Linux users won’t be bashing Windows anymore. They’ll be bashing in Windows natively.
Though it’s been possible to use bash within Windows, they’re not done so natively. Before this, bash can only be done through Linux distros run in virtual machines or by using Linux tools recompiled to Windows through the Cygwin tool. Through what Microsoft calls the Windows Subsystem for Linux (WSL) bash becomes part of Windows, which was added in build 14251 last January, as an additional command line interface besides cmd and Powershell. To enable WSL, users can download an app from the Windows Store, which is a full Ubuntu image that runs as a desktop program and not as a virtual machine.
How did Microsoft pull this off? It’s an Ubuntu image, and Canonical was just happy to help.
“A team of sharp developers at Microsoft has been hard at work adapting some Microsoft research technology to basically perform real-time translation of Linux syscalls into Windows OS syscalls. Linux geeks can think of it as sort of the inverse of ‘wine’—Ubuntu binaries running natively in Windows,”
—Dustin Kirkland, Canonical
This, however, is beta technology at its best. Users will be able to manipulate Windows files through bash, and it’s highly possible to break something. Windows users won’t be seeing Linux apps either.
“We are also only working on command line…This is all about the developer,”
–Russ Alexander, Microsoft
“This is a developer toolset to help you write and build all your code for all your scenarios and platforms. It’s not a full Ubuntu virtual machine. You can’t use it to host servers, as you could on Linux. If you need that, you can always install Linux on a virtual machine using Microsoft’s Hyper-V technology, VirtualBox, VMware, or something similar,”
The last statement can really dampen some of the excitement, but bash on Windows is a first step. Die hard Linux users will, of course, say what’s the point? We have Linux anyway, and we’ll always have Linux for free, not as something bought off-the-shelf or a rumored paid subscription. As mentioned, this could go both ways for both Windows and Linux users. The benefits of bash could bring hesitant Windows users to go full-time with Linux. Or why be a rebel when the dark side has everything a Jedi needs and more?
Bash will be available soon when the Windows 10 Anniversary Update gets released this summer and users can download the Ubuntu 16.04 LTS bash from the Windows Store on April 21. For the meantime, Windows Insiders can expect the Ubuntu 14.04 LTS version in a few days.
What does this all mean further on? We could someday be looking into a universal operating system for PCs. That is if Apple decides to get into the mix. Kind of like when Apple partnered with Microsoft in the 90s with PowerPC or when Microsoft released Windows NT for various architectures including UNIX systems. The battle of the tech giants would no longer focus on their respective operating systems but on the products and services, local or cloud that support them. Getting users on computers is no longer a problem as everybody has one.