The reasons behind Microsoft's drive for open source

Another day, another Microsoft open source announcement (or three). The company whose former CEO once compared open source licences like GPL to spreading tumours is now regularly open sourcing tools, components and even the occasional product, as well as coming out with more cross-platform products than ever – even for Linux.

Redmond is even joining the Eclipse foundation (which creates an IDE that competes with Visual Studio), partnering with (and donating to) the Linux Foundation to help security and running a free open source conference in May. But if you're paying attention, this is a carefully defined strategy, not a free-for-all.

Strategic slant

What's Microsoft doing with open source?

.NET, TypeScript, the Chakra JavaScript engine, R Tools for Visual Studio, Azure's Service Fabric, the VS Code IDE, Team Explorer Everywhere for Eclipse, the Productivity Power Tools for Visual Studio, the Power BI framework for building visualisations, the impressive Computational Network Toolkit for deep learning, the AIX tools you can use to build AI in Minecraft, and many more.

You know times have changed when the Microsoft logo is on the Linux Foundation website

You know times have changed when the Microsoft logo is on the Linux Foundation website

If you look at the list, so far, most of Microsoft's open source products have been developer tools, often bringing Microsoft technologies to an area where they haven't been available before. The main exception is the Live Writer blogging tool, which was handed over to a foundation of enthusiasts (including plugin developers).

None of these products have taken something users pay for on Windows and made it free on another platform (there's been a free version of Visual Studio on Windows for a long time). That suggests that the version of SQL Server Microsoft is bringing out for Linux (which will have the core components but probably not all the SQL Server features) probably won't be open source.

Having SQL Server on Linux will be useful for ASP.NET and .NET Core adoption there, but mostly it's something Microsoft says customers have been asking for, because they want SQL Server to run on Linux servers they already have. That's about supporting heterogeneous, cross-platform computing – something Microsoft has always done (remember IE on Mac, Solaris and HP-UX?), but has been doing more and more in the last few years.

Aiming at Oracle

But despite the fact Microsoft now partners with competitors like Salesforce and Oracle, the main target of SQL Server on Linux is very likely Oracle (especially as Microsoft is encouraging customers to migrate from Oracle to SQL Server 2016 on Windows Server with some free SQL Server licences, as long as they take out Software Assurance).

As Wes Miller, vice president at analyst group Directions on Microsoft points out: "Microsoft has opened up source code in several areas, but these areas are generally isolated, and not areas where Microsoft makes significant revenue today. As such, opening up source for these areas isn't as large of a shift as some may theorise.

"Much like Apple and Google, whose open source projects may be strategic to a degree of mindshare (but not revenue), the projects that Microsoft has chosen to open source are intended to help build community/collaboration and mindshare. The areas of the company that are still breadwinners are not open source, nor do I believe we should expect them to be anytime soon."

In other words, SQL Server will come to Linux, but it's not likely to be a free, open source version.