Anyone who is surprised that the most popular operating system on Microsoft’s Azure cloud is Linux hasn’t been paying attention. Ever since Microsoft decided to believe its own hype about Developers! Developers! Developers!, this was a foregone conclusion. No, not that developers would choose Linux over Windows, but rather that Microsoft would choose to allow developers that right.

As Microsoft realized, to succeed with developers you need to be prepared to enable choices that initially seem like bad business decisions.

The open secret

Microsoft has always had a thing for developers. In the past, however, Microsoft could thrive while constraining developers’ choices. Indeed, Microsoft got in trouble with US and European regulators by offering a fixed menu of Microsoft-powered choices on the consumer side of its business. Microsoft didn’t have as much market power within the enterprise, but what power it had, it enforced by limiting developer choice. Want SQL Server? You’ll run it on Windows. And so on.

That worked until two things happened: Open source and the launch of Amazon Web Services (AWS).

SEE: Quick glossary: Hybrid cloud (Tech Pro Research)

While open source has been with us in earnest since the 2000s, it didn’t really take over as the innovative heart of technology until the last few years. From Kubernetes to Kafka, the best infrastructure software today is open source. If you want to reach developers, then, you have to speak their language, and that language is open.

The second thing was AWS, which brought the Amazon “everything store” mentality to enterprise infrastructure. AWS made it super simple to spin up an instance and run all that great open source software without involving IT or Purchasing, giving developers unprecedented power to “get stuff done.”

Choosing developers

This left Microsoft with a bit of a Hobson’s Choice: Embrace this future of open, cloud-centric innovation or live off the Windows and Office pension funds for a few decades and die. Microsoft, of course, chose to live.

SEE: 20 pro tips to make Windows 10 work the way you want (free PDF) (TechRepublic)

More importantly, Microsoft came to realize that “living” meant something different in 2010 than it had in 2000. As Microsoft EVP of cloud and enterprise, Scott Guthrie, put it:

It started more than 10 years ago when we open-sourced ASP.NET. We recognized open source is something that every developer can benefit from. It’s not nice, it’s essential. It’s not just code, it’s community. We don’t just throw code on a website, now we publish our roadmap and work with outside contributors.

This is, of course, the exact opposite stance that Microsoft originally took with open source, but Microsoft is a developer-oriented company. To truly satisfy developers, it had to embrace developers’ preference for open source, as well as an unfettered cloud on which to run that code.

Microsoft pushing MS-DOS to GitHub is nice, but Microsoft embracing a wide array of open source software on Azure is critical. It’s what developers demand, and it’s turning into a big business for Microsoft, though initially it must have been terrifying for the company to unmoor itself from a complete dependence on a Microsoft-only cloud.

As Forrester analyst Jeffrey Hammond has said, “Whatever spins the dials…it’s all good when you are the power company.” This is true, but that didn’t make it obvious to thousands of Microsofties who grew up serving developers in one way, and then had to switch to a completely different model. That took real courage, as well as time.

Ultimately, though, it took seeing this shift turn into cash, which it has in abundance. Microsoft is now the strong no. 2 player in public cloud computing, something that was never going to happen as a Windows-only company.