How Microsoft went from "Linux is a cancer." to "Microsoft Loves Linux."

It's been a long, strange trip but it's always driven by two motives: Making good products and money.

intro linux distros
Thinkstock

In 2001 then Microsoft CEO Steve Ballmer declared "Linux is a cancer." Fast forward to 2014, and newly-minted Microsoft CEO Satya Nadella said, "Microsoft loves Linux."

How did that happen!? Let's take a deep look.

Microsoft started by treating Linux like it was cancer in the 2000s. The company sponsored SCO's copyright attack on Linux, claimed that Linux violated unnamed Microsoft patents, and forced Linux-based Android vendors to pay for dubious patent claims.

Why? Thanks to the so-called Halloween documents, revealed by open-source co-founder Eric S. Raymond, we know exactly what Microsoft thought about Linux and open source: "OSS [Open-Source Software] poses a direct, short-term revenue and platform threat to Microsoft, particularly in server space."

Even then, Microsoft saw the fundamental threat Linux and open source represented to Microsoft's business model. "The ability of the OSS process to collect and harness the collective IQ of thousands of individuals across the Internet is simply amazing. More importantly, OSS evangelization scales with the size of the Internet much faster than our own evangelization efforts appear to scale."

The solution? "OSS projects have been able to gain a foothold in many server applications because of the wide utility of highly commoditized, simple protocols. By extending these protocols and developing new protocols, we can deny OSS projects entry into the market."

In 2001 then Microsoft CEO Steve Ballmer declared "Linux is a cancer." Fast forward to 2014, and newly-minted Microsoft CEO Satya Nadella said, "Microsoft loves Linux."

How did that happen!? Let's take a deep look.

Microsoft started by treating Linux like it was cancer in the 2000s. The company sponsored SCO's copyright attack on Linux, claimed that Linux violated unnamed Microsoft patents, and forced Linux-based Android vendors to pay for dubious patent claims.

Even then, Microsoft saw the fundamental threat Linux and open source represented to Microsoft's business model. "The ability of the OSS process to collect and harness the collective IQ of thousands of individuals across the Internet is simply amazing. More importantly, OSS evangelization scales with the size of the Internet much faster than our own evangelization efforts appear to scale."

The solution? "OSS projects have been able to gain a foothold in many server applications because of the wide utility of highly commoditized, simple protocols. By extending these protocols and developing new protocols, we can deny OSS projects entry into the market."

There was nothing new about this approach. Microsoft had used this same technique against Netscape in the browser wars. You know it best from the phrase Paul Maritz, then Microsoft's executive vice president of the Platforms Strategy and Developer Group. used  in 1998 to describe Microsoft’s response to the browser threat as “embrace, extend, extinguish."

So, how did we get from Linux as Microsoft enemy number one to "love?"

Follow the money

Nadella has told us the heart of the story, which I can boil down to that classic mystery approach: "Follow the money." Nadella told Wired that he's not interested in fighting old battles — especially, when, like it or not, Linux has become a vital part of today's business technology. "If you don’t jump on the new,” he said, "you don’t survive."

Indeed, even back in the 90s, Microsoft saw that open source had powerful advantages, but in the late 90s and early 00s, Microsoft was only interested in crushing it, not making use of it.

Sam Ramji, today DataStax's Chief Strategy Officer, and in the 2000s, Microsoft's Senior Director of Platform Strategy in the Server and Tools Business, explained, "I joined Microsoft in November 2004.  Linux was a cancer and Open Source was communism."

Even then though Microsoft was realizing mindlessly ignoring Linux wasn't a winning long-term strategy. In 2004, Microsoft hired Bill Hilf, one of IBM's Linux and open-source leaders. Hilf recalled, "Microsoft called up and said: ‘We don’t understand this open-source stuff. And we need people who do.' I was like the first astronaut on the planet.”

A bit later, in 2005, Ramji attended some of the early Software-as-a-Service (SaaS) events in Silicon Valley.  "In one eight-hour conference with 200+ people, Microsoft technologies were only referred to twice, for a few seconds.  In both cases, the speakers said “and we run this on Microsoft SQL Server.”  Every other technology mentioned was open source mostly LAMP and Java.  Reporting on this to our team, I said, 'We have a problem.'"

Following this, Ramji wrote a strategy paper in 2005 on SaaS, which showed that "Open source was a self-organizing keiretsu, with economic and structural advantages that Microsoft could not compete with.  No licensing cost meant no fear of experimentation and no concern for scaling up a SaaS company.  No barrier to contribution meant that the software could improve in a virtuous cycle based on what practitioners needed.

So, he recommended that Microsoft establish a program "to give all Microsoft software away for free to startups (so we could level the economic playing field) and start to build and support open source (so we could level the structural playing field).  The paper became the basis of BizSpark. After this, Hilf asked Ramji to take on a new role of leading Linux and Open-Source Technology Strategy. 

Change of direction

In this role, they worked together, Ramji said, "to break down myths and prejudices against Linux and Open Source".  In 2006 his team began demonstrating "open source technology to Bill Gates every quarter." By the next year, Microsoft started contributing to Apache, PHP, and Eclipse on Windows, and killed the “Get the Facts” campaign.  Get the Facts was an anti-Linux FUD marketing campaign.

Things within Microsoft started to take off in 2008, when Microsoft built the $10M Linux Interoperability Lab with Novell's Miguel de Icaza and Nat Friedman. 

Then in 2009, Microsoft, Ramji remembered, "contributed code under GPL2 to the Linux 2.6.32. The contribution to Linux felt like the crowning achievement for us - doing something that everyone said that we would never ever do.  It was meaningful work.  I’m immensely proud of the team."

"In hindsight," Ramji recalled, "probably the single biggest thing I was part of was working with Horacio Gutierrez and his team to change Microsoft’s engineering rules on Open Source licenses, so that our engineers could contribute to MIT and Apache-licensed software freely and without concern.  Before that, there were some arcane beliefs that the 'residuals' of looking at open source software would 'taint' any Microsoft engineer such that they could not work on Microsoft software again."

Then, a week before Bill Gates retired in 2008, "we were able to get Bill Gates’ absolute approval to change how Microsoft engineers worked with Open Source software.  It was an extraordinary moment in which Bill’s understanding of open source changed the company.  Steve Ballmer, Craig Mundie, and Brad Smith were all in the room as Bill stood up and declared his support: “Microsoft engineers must be able to use and contribute to open-source software.”

That, however, was not the same thing as embracing Linux and open-source. Ramji said, "the worlds of Microsoft and Open Source were separate and mutually hostile.  Eventually, the company chose to spend money understanding open source, but only in order to beat it.  But as you get closer to understanding a thing, I think attitudes change from bigotry to alignment.  Instead of alien and horrible, open source became a real thing that we could understand.  My role, and my team’s role, was to use pragmatism to show that aligning with Linux and Open Source could be good for the company’s reputation and its revenue."

Microsoft changed its spots, Ramji added, because "people and governments were frustrated with Microsoft’s behavior towards Linux and Open Source.  Governments started legislating “open-source preferences” which meant you had to start with an open-source solution to any technical problem, and then justify why you would buy commercial software.  Some countries started creating “National Operating Systems” built on Linux.  Given our understanding of Microsoft’s business model, strategy, and metrics, my team was able to show that acting positively towards Linux and open source would be good for our business."

Below the top level, other Microsoft staffers, like  Casey Cheyne, today an IGEL Technology VP, then a Microsoft regional sales manager, saw the need for change coming.  "I am a huge Steve Ballmer fan. That said, he was at the helm of Microsoft during the last half of the proprietary software run and in many ways had his hands tied to that.  I understand why he had to dig his heels in for so many years.  There was a lot at stake and you know how Wall Street loves those quarterly earnings."

In the end, though Cheyne thinks Microsoft "buying GitHub and investing in Linux and other moves have been very beneficial for Microsoft." It was both the programming and business pragmatical choice.

Here comes the cloud

Another major factor in Microsoft warming up to Linux was the cloud. John Gossman, a Microsoft Distinguished Engineer, said "Another key aspect of our shift toward open technologies is that we were building and running a cloud service, which in doing so, it’s important to meet developers where they are. Enterprises are heterogeneous – there’s no company running entirely on one language or one operating system – so we needed to operate everything, and do it well."

Ramji agreed. To monetize the cloud, "you needed every workload you could possibly land - and cloud workloads were server workloads, which meant that Linux would be a huge market that the company could not afford to miss."

They were right. By 2015, Mark Russinovich, CTO of Microsoft Azure, came to an open-source conference and said today's Microsoft's motto was "Enable, integrate, release, and contribute." He added, that for Azure "to be a viable cloud platform, we needed to support Linux. We started with Linux on the day we launched Azure."

Today, Ramji observed, "As a cloud provider, Microsoft has achieved pragmatic enlightenment. Microsoft has gone from open-source apostasy to open-source apotheosis. We all wanted to be on the right side of history, and we were clear that side was Linux and open source."

The cloud facts prove this out. Sasha Levin, a Microsoft Linux kernel developer, revealed in 2019 that "the Linux usage on our cloud has surpassed Windows".

There were other reasons Microsoft made its move as well. Gossman said, "Part of the change was generational – it came grassroots from new developers we were hiring who were naturally using and familiar with open source as it became more popular, and at the same time we shifted to very strong open-source encouragement from leadership, including from [Microsoft CEO] Satya Nadella. When the culture change is coming bottom-up and top-down at the same time, it happens pretty quickly."

Gossman and the rest of Microsoft have also realized that "Open-source communities allow you to scale beyond any single organization – even with a large organization like Microsoft we found enormous value in people in the community bringing in ideas, feedback, fixes, new features, and more into the software. Open source allows people to share knowledge and practices about how to operate and run software – that knowledge can be contributed back upstream into projects for the value of others in the community.

As a result, Gossman became Microsoft's first Linux Foundation board member. His colleague Sarah Novotny now holds that seat. He concluded, "Open source has changed how we develop software, interact with customers, and build partnerships. It’s now a foundational part of our modern culture."

Microsoft love Linux

If you look at Microsoft's track record in recent years, it's clear that Microsoft has bought totally into Linux and open source. Perhaps the biggest move was when Microsoft joined the Open Invention Network (OIN), an open-source patent consortium. Microsoft has agreed to grant a royalty-free and unrestricted license to its entire patent portfolio to all other OIN members.

In short, Microsoft has become an open-source company. Away from servers and the cloud, it's even becoming much more friendly to Linux and open source on the desktop. The company has dumped its proprietary Edge browser for a new open-source version,  which is based on Chromium. Microsoft will also be bringing Office 365 to Linux. Heck, Microsoft even has its own Linux distribution, Windows SubSystem for Linux 2.0, which runs in concert with Windows 10. 

Who knows? Maybe Microsoft will even release a version of Windows, which runs on the Linux kernel.

Inside Linux circles, there are still some that don't trust Microsoft. For them, Microsoft will always be The Evil Empire.

Linus Torvalds isn't one of them though. "The whole anti-Microsoft thing was sometimes funny as a joke, but not really. Today, they're actually much friendlier. I talk to Microsoft engineers at various conferences, and I feel like, yes, they have changed, and the engineers are happy. And they're like really happy working on Linux. So, I completely dismissed all the anti-Microsoft stuff."

It's 2020 and today, as preposterous as it may sound to some, Microsoft really is a Linux and open-source company. Indeed, except for Apple, you'd be hard-pressed to find a major technology firm, which hasn't converted to Linux and open source.