Microsoft Says It’s in Love With Linux. Now It’s Finally Proving It
It’s official: Microsoft code isn’t just for Windows anymore.
Today, the company released .NET Core 1.0, a version of its popular software development platform that will run not just on its own Windows operating systems, but on the Linux and Mac OS X operating systems as well. What’s more, .NET Core is open source, meaning that any developer can not only use it for free to build their own applications, but also modify and improve the platform to suit their needs and the needs of others.
Microsoft first released .NET Core and its source code back in 2014, but previous versions of the software were only intended for testing purposes. Today marks the first time that Microsoft has officially supported using the platform for real-world applications on Linux and OS X, the two primary competitors to Windows. Red Hat, one of the world’s primary Linux vendors, also announced that it will officially support .NET on its popular Red Hat Enterprise Linux operating system.
All this highlights an enormous change not only in Microsoft, but in the software industry as a whole. Over the last decade, the world’s tech businesses, from Google and Facebook and Twitter on down, have increasingly used Linux and other open source software to build their online services and other technologies, and as a result, IT vendors—the companies that help businesses build their online services—have moved closer and closer to the open source way. This includes Microsoft, one of the largest IT vendors. In order to compete, Microsoft must ensure not only that .NET is open source, but that other important Microsoft IT tools run on all operating systems, including, most notably, Linux
As Microsoft put the finishing touches on .NET, it also released a preview version of its SQL Server database software that runs on Linux. The database itself is not open source, and it’s not yet ready for the real-world, but this is the first time Microsoft has offered the product for Linux. Traditionally, Microsoft only supported running software on its own operating systems, perhaps out of fear of cannibalizing the sales of Windows licenses. But the world has changed, and Microsoft is changing with it.
A Long Time Coming
Microsoft has been open sourcing parts of the .NET environment for years, starting with a programming framework called ASP.NET MVC back in 2009. The company also helped port several important pieces of open source software—including the data crunching platform Hadoop and the coding tool Node.js—to Windows. But even after it announced that it would support Linux on its Azure cloud service, Microsoft still didn’t write much software for the operating system. Microsoft would help you run Linux, but you were on your own when it came to software.
That changed in 2014, when the company announced that not only would it open source the heart of .NET, but port it to Linux and OS X. Then, earlier this year, Microsoft acquired a company called Xamarin, which has long made software that helps developers use .NET technologies to build software for a wide variety of platforms, including Linux (through its open source Mono project) and mobile operating systems like Android and iOS (through its flagship product).
Microsoft’s motivation for supporting Linux and releasing open source software isn’t altruistic. It’s necessary for the company’s survival. Over the years, Linux has edged out Windows Server in the web server market, and coders have flocked to open source programming languages and frameworks like Ruby on Rails, Python, and Google’s Go language to build the next generation of applications. Julia Liuson, corporate vice president of Microsoft’s developer division, says her team feared that Microsoft’s once mighty brand was losing its cachet. “If you talk to any developer, they hold Visual Studio in high regard,” she says. “Despite that, we were not as relevant to developers as we would have liked.”
The answer was obvious: the way to reach developers was through open source. So Liuson and company endeavored to make .NET more open than ever before, and that meant making it run not just on Windows, but wherever developers might want to use it.
A Threat to Windows?
Liuson says there’s little concern that making .NET Core available on Linux and OS X will reduce sales of Windows licenses—those developers were probably never going to use Windows in the first place. But now they might consider buying licenses for Microsoft’s Visual Studio and Xamarin products, or use its Azure cloud services instead of competing services from Amazon and Google.
But open source is about more than just selling more software and services. About 18,000 developers from more than 1,300 different companies outside of Microsoft have contributed to .NET Core 1.0, according to the company. Why work on Microsoft’s products for free? For James Niesewand and his team at Illyriad Games, it allows them to fix their own problems .NET without having to wait for Microsoft to do it, or writing their own programming platform from scratch.
“Three years ago if we had a problem with .NET, we’d write-up a bug report, submit it,” he says. “After a few weeks you might get a response acknowledging it, and maybe a year later you’d get a release that fixes it.” Now, he says, the company can write their own fixes and have them approved by Microsoft in hours.
Microsoft reaps huge benefits from this. The company uses .NET for its own cloud-based services, so, in theory, the improvements made to the platform by Illyriad and other outside developers could have ripple effects throughout Microsoft’s empire, from Outlook.com to Cortana. That’s how Facebook and Google develop software, too. If an outside developer figures out how to speed up Facebook’s development framework React, then everyone—including Facebook’s users—benefit from faster, more responsive applications. If an academic studying artificial intelligence finds a way to make Google’s AI framework TensorFlow better, then that researcher will get a better tool and Google will get improvements that could trickle out to every part of its business that depends on TensorFlow.
Microsoft is finally catching on to this new way of thinking and we’re only just beginning to see the results.