Why did Microsoft make Windows 10 run Linux?

opinion
Apr 6, 201614 mins

Also in today's open source roundup: Is it time to trust Microsoft? And 14 ways to secure your Android phone or tablet

microsoft windows 10 features panels tool
Credit: REUTERS/Shannon Stapleton

Why Microsoft made Windows 10 run Linux software

Microsoft’s decision to add a subsystem for Linux in Windows 10 surprised many people. It seemed out of character for the company, and some folks were left scratching their heads.

A writer at Ars Technica explored the issue and came up with some reasons why Microsoft has embraced Linux in Windows 10.

Peter Bright reports for Ars Technica:

Microsoft deciding to support Linux software on Windows is a surprising move, and the obvious question is, why? Superficially, the answer is easy — developers like these tools, so supporting them makes developers happy — but the story runs a little deeper than that. Supporting Linux apps in Windows is a significant move for a company that has spent decades promoting its own APIs and application platform, and it’s unlikely that the company would make such a move just to provide a few creature comforts to developers. The need goes deeper than that.

Wind the clock back 15 years and Windows was the only serious platform for software developers. Linux was already an important consideration for servers, but on the desktop was even less of a concern than it is today, reserved only for the most hardcore fans. OS X was in its infancy, and only ran on weird, expensive, underpowered PowerPC hardware. This made Windows the development platform of choice by default. There simply wasn’t any good alternative.

This in turn had consequences for software, where solid Windows support could drive server-side usage. A prime example of this is the MySQL database server. While it is better today than it once was, MySQL has always been regarded as second-best when it comes to important considerations such as technical capabilities and data integrity, with PostgreSQL generally held to be the much better database. In spite of this, MySQL won considerable market- and mind-share because it was a much better development platform. It had an easy Windows installer, it had good Windows software for managing databases and writing queries, and it had good ODBC drivers. PostgreSQL’s developers, on the other hand, didn’t appear to prioritize any of these things, and while it wasn’t impossible to run the database on Windows, doing so meant forfeiting the creature comforts that MySQL offered.

It’s no great surprise, then, that MySQL proliferated in a way that PostgreSQL didn’t.

But things don’t work that way any more. Setting up a Ruby development environment on Windows is a wretched experience. Getting Ruby running well is awkward on any platform, but Windows is arguably the worst. The popular node.js environment was born on OS X and Linux, and for a long time could not be effectively run on Windows. Salvatore Sanfilippo, developer of top NoSQL data store redis, has refused to accept patches to make the software run on Windows, not out of any particular hostility towards Microsoft, but because he saw no need for it. He supported the idea of forks of the software that supported Windows, but nothing that would impede development of the core product.

More at Ars Technica

Are Technica readers had a few thoughts of their own to share about Microsoft and Linux:

Darkness1231: “An interesting take on WSL. I don’t know anyone that prefers W* to develop on. I used to know some that had to develop on it for corporate mandated reasons. Also Ballmer had pushed the GPL cancer lie to many in the executive suites so using Linux/Unix was only acceptable when they were the underpinning of the business unit. One thing that isn’t understood much or even addressed in this article is how completely functional the multi-machine development process is in the Unix/Linux environment. Working with multiple systems and distributed work is not effortless but it is definitely much easier than W* will ever be.

As far as OS X goes, it is the system of choice for iOS. The comparisons to VS is quite dramatic and not in a good way. MSFT wants that market but how much of it is trying to reach more developers for their products by enabling a write once distribute anywhere model? I would suspect the only reason is to try to expand the number of apps for their ecosystem, not replacing the development model for the dominant platform.

This is all interesting yet it does make me wonder how many developers will enjoy having their development system reporting everything they do, every application they use and every other thing that MSFT wants to know about sent home to Redmond? That alone would keep me from using WSL for development just as it is keeping me from running W10. “

Stormcrash: “I hope they add an X server to WSL. One of the big draws of OSX for me (and the reason I use a mac at work) is the ability to ssh and X forward applications from remote linux systems and work on my normal desktop instead of VNC or NoMachine.”

Neonspark: “…besides web developers which are a minority source of revenue: azure, azure, azure. Making BILLIONS for microsoft linux. Yes kids. MS has monetized linux big time and will continue to do so for the foreseeable future.

So by making windows more friendly to linux devs, it also introduces them to the MS ecosystem in azure via tools like visual studio, sql server (which is on its way to linux), etc.

So the plan is to assimilate linux (borg pun) into their azure cloud and make linux based enterprises pay for the azure compute time they use, instead of having them pay for windows which was a far less profitable model.

So overall windows is just the gateway drug into azure, and based on the response, the linux crowd is sniffing it hard! “

Shahms: “Peter’s sniping aside, this is great news for Linux developers. Anything that lowers the bar for contributing to a software project is welcome, and Linux build tools have a habit of growing a lot of bash scripts. A lot rests on the level of compatibility, but assuming it’s sufficient this could easily leave OS X as the odd man out. Apple’s continued insistence on genuine hardware and no virtualization makes it difficult to ensure incoming patches don’t break in that platform. I’ll enthusiastically drop OS X support if it becomes feasible and this gets me one step closer. “

JanneM: “In my field, HPC and simulation modelling, Linux is where it’s at. All clusters and supercomputers effectively run Linux and nothing else, and so most tools and software runs best or only on Linux. OSX support tends to be OK, though you need to jump through hoops with Homebrew and Macports to get things running. Windows support is patchy, and frequently nonexistent. The recommendation for Windows is generally to install Ubuntu in a VM.

If this announcement eventually includes proper support for numerical libraries, gcc and the Intel compiler, MPI and OMP, then that means we can completely ignore Windows as a platform and focus solely on Linux as a target. No more arguments with Windows users about adding patches and support for their platform; you can just direct them to use the MS-supplied compatibility layer instead.

Edit: I wonder if that situation is not part of the reason for this development. It’s really common for in my field to see Windows desktops and laptops on people’s desk, all with a running copy of Ubuntu in a VM on their desktop. This may be a way to entice people to tie their Linux work into the Windows environment to some degree, rather than just use the Windows OS as a hardware compatibility layer for Linux. “

Drspock11: “This is the 2nd ridiculous article I’ve read that more or less claims Windows has long been a black sheep for developers but maybe this announcement will start to change things. This is totally absurd.

The vast majority of the world’s PCs run Windows; the vast majority of PC development takes place on Windows and has for decades. You’d be hard pressed to find a many major corporations outside of Silicon Valley or web startups that doesn’t use Windows for the majority of its software (thus requiring Windows for software development).

Of course, mobile development platforms vary more; but most devs are not primarily mobile developers.

Visual Studio, despite its many flaws, is by far the most complete IDE around. I remember that after leaving college and using Visual Studio for the first time (as opposed to Eclipse or XCode), it was quite an eye-opening experience.

That’s not to say that other environments aren’t usable and don’t have great things being written in them. They certainly do. But for the most part you’d be hard pressed to be find another ecosystem that can make everyone from the fresh college grad to the industry veteran as productive in as short a timeframe as is possible with Microsoft’s ecosystem.

All that being said; I am happy Bash is coming to Windows; as the shell has been one of the few long-underserved part of the Windows experience. (Although the reason for this is likely because Microsoft has always focused on non-command line based ways of accomplishing tasks) “

Alhazred: “…AWS is eating Azure’s lunch and running windows there is just a silly idea that jacks your EC2 costs by 100% for no benefit.

I’d note that in this vein there are a number of things that ‘Linuxizing’ Win10 might do for you in this environment. It might make windows a LOT more amenable to integration with various tools on AWS, including BeanStalk, Cloudfront, etc, which are all critical to any realistic deployment there. Beyond that things like Chef, Puppet, and Ansible, just to name a few of the big devops tools, will be much happier on such a system (though the registry is always a challenge!).

So, my guess is MS is mostly trying to keep at least a toehold on the premiere cloud platform, one that has already seemingly won the race to establish the defacto operating standard for this phase of the evolution of commodity computing. Porting MS SQL Server seems like it fits that pattern too. You may not want to run it on expensive windows instances, but it is considerably more appealing when packed onto a $0.47/hr m3.medium Linux instance. “

Alephnought: “Bashing around in Windows might be fun but I’ll stick with a Linux VM or a real Linux install for web development. Even Powershell feels like a bad copy of a Unix shell, hacking together arcane commands with that awful DOS command prompt.

My portable dev environment of choice is a Macbook with a bunch of Linux VMs – stuff just works, especially the hardware. It’s also easier to roll back changes on a VM. I’ve used Windows laptops and I hated them all, except for the gorgeous ThinkPad X1 that costs even more than a typical Macbook Air. “

Erikengh: “While this is definitely a nice development, there are still fundamental problems with respect to using Windows as a Unix system. Both Linux and OS X expose a lot of the OS through the filesystem in plain text looking files. The Unix way of doing things depends on this. Secondly Unix style development relies heavily on forking processes which give poor performance on Windows, ref the problems with using git on Windows.

For me personally my interests and expertise has developed to far away from Windows, which was my original development platform. Visual Studio had a nice debugger, but other than that it just seems like a messy IDE with a non intuitive GUI. I know it is popular to hate xCode, but its problems has mainly been stability and poor refactoring, completion tools and debugger. But those things have come a long way with recent versions and xCode simply has a well thought out GUI. And for those who don’t like it there is AppCode which is also quite nice.

The IDE is of course just a small part of the equation for software development. I regularly use TextMate, fish shell, homebrew, julia, Go, Kaleidoscope, Tower, Dash, Synalize It!, Pixen, Affinity Designer, Charles Web Proxy, OmniGraffle, ack etc which either don’t exist on Windows or are second class.

For me the languages of most interest are julia, go, rust and swift of which Windows can only offer a second class environment for.”

More at Ars Technica

Is it time to trust Microsoft?

Microsoft’s decision to embrace Linux in Windows 10 has also made some folks wonder if it’s finally time to trust the company. But a writer at FOSS Force isn’t buying into Microsoft’s new love affair with Linux, and he pulled no punches in saying so in a recent post.

Ken Starks reports for FOSS Force:

Is this truly a changed Microsoft? Personally, I don’t believe it is. The day they stop this silly 235 patent BS, then we might talk about it. But you know as well as I do, if they pull the covers back on their lie-of-the-century, then they may stand to lose billions in paying back those companies they extorted in the past.

“Oh those patents. Yeah, that was silly wasn’t it. Well, we’re sorry your company lost shareholder value due to having to pay us all that money. But let’s just let bygones be bygones…whaddaya say?

Stick it all up in your bygones Microsoft. You’re a liar and a thief and the only reason most of your higher execs aren’t in prison is that U.S. law and your good ol’ boy network protected you. You aren’t fooling anyone. You don’t love Linux any more than I love liver and onions. You have merely realized that the only way you are going to survive into the next decade is to integrate Linux into your strategies…and integrate it deeply.

Let’s face it. You need us. More than we need you.

More at FOSS Force

How to secure your Android phone or tablet

Security is an issue for any operating system, including Android. There are things that you can do to help secure your Android phone or tablet, and a writer at TechAdvisor has a helpful list of 14 ways you can make your Android device more secure.

Marie Brewis reports for TechAdvisor:

Securing your Android phone or Android tablet is more involved than adding a PIN lock (although you should certainly do that). Here we run through 14 ways you can keep Android secure, from dealing with app permissions to locking down apps, dealing with Android viruses and tracking down a stolen phone.

Setting up a screen lock is the simplest way to protect Android when your phone or tablet falls into the wrong hands. These days you can set a PIN lock, pattern lock, password lock and, if your device supports it, a fingerprint or eye scanner lock. It’s so easy to do you really have no excuse. Head to Settings > Security > Screen lock to get started.

You can add an extra layer of protection to your apps by locking down those you really wouldn’t want to get into the wrong hands with an app such as App Lock. Not only does this let you toggle on and off a PIN lock for individual apps such as Facebook and Gmail, but it has a secure fault for hiding photos and video that shouldn’t be seen by prying eyes.

Android- and app updates don’t just bring new features, but also bug fixes and patches to security vulnerabilities. You should ensure your apps are set to auto-update over Wi-Fi in Google Play’s Settings > General > Auto-update apps menu, and make sure you have have applied any new operating system updates in Settings > About Phone > System updates.

More at TechAdvisor

Did you miss a roundup? Check the Eye On Open home page to get caught up with the latest news about open source and Linux.

jim_lynch

Jim Lynch is a technology analyst and online community manager.

Jim has written for many leading industry publications over the years, including ITworld, InfoWorld, CIO, PCMag, ExtremeTech, and numerous others.

Before becoming a writer, Jim started his career as an online community manager. He managed Ziff Davis’ forums on CompuServe and the web including the PCMag and ExtremeTech forums. He’s also done community management gigs with the Family Education Network, Popular Mechanics and MSN Games. Jim still has a passion for well-moderated discussion forums that offer helpful information without a lot of flames, rudeness and noise.

You can visit Jim’s personal blog, view his LinkedIn profile, or send him an email to share your thoughts.

The opinions expressed in this blog are those of Jim Lynch and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.

More from this author