How Microsoft Became an Unlikely Open Source Champion
Microsoft's transition from open source hater to open source leader can be summed up in two words: times change.
Fast-forward to 2018 and Microsoft is now arguably the open source community's greatest champion, contributor and user. (See Microsoft Is a 'Deeply Open Source Company,' Says Azure CTO Russinovich.)
Why the change? "The industry, Microsoft, and people in leadership just have a different understanding of open source now. It changes over time," John Gossman, distinguished engineer, Microsoft Azure, tells Enterprise Cloud News.
Gossman attributes Microsoft's earlier open source antipathy to ignorance. "Some of us older folks didn't know how open source worked," Gossman says. "We thought, 'We're developers. We make our money from writing software. So why should we just give it away?'"
Microsoft's change in attitude was pushed along by the example of companies making money off open source -- particularly Red Hat Inc. (NYSE: RHT) "A lot of us saw that Red Hat made a really good business with open source software. It just became vastly more prevalent," Gossman says. Red Hat and Microsoft are partners on containers, and Azure supports Red Hat Enterprise Linux. (See Microsoft, Red Hat Expand Partnership to Include Containers.)
Microsoft's increased focus on Azure brought open source into the Microsoft mainstream, Gossman says. "We're trying to run people's IT workloads, and it turns out there isn't anybody who's a pure shop," Gossman says. There are no pure Windows .NET shops, no pure Red Hat or Java shops. "Even startups have a polyglot of tools." To succeed in the cloud, Microsoft had to support the software its customers want to run, and much of that software is open source.
Gossman says, "If you want to serve the customers, you have to be open to running Linux and Linux-based workflows."
Also, Microsoft is a company founded by developers, with a strong developer focus. "Developers love open source. It's a great way to show off what you do. It's a great way to get your hands on the code, to collaborate with customers and users," Gossman.
Because of developers' natural affinity for open source, developers within Microsoft used it even when it was officially banned.
"All of those things came together. It was no single factor. And it took a little while for people to understand it," Gossman says.
Change at the top at Microsoft didn't hurt. "The people at the top, Satya [Microsoft CEO Satya Nadella] and Scott Guthrie, [Microsoft executive vice president of the cloud and enterprise group], the customers and line developers, they all love open source. It changed pretty smoothly and pretty quickly," Gossman says.
Indeed, for anyone still skeptical of Microsoft's commitment to open source, consider this: In addition to that Red Hat partnership -- which is kind of a big deal -- Microsoft has its own version of FreeBSD for Azure, is partnered with Canonical to run Ubuntu on Windows, runs .NET Core on Linux, has its own Linux certification and contributes to the Linux kernel.
According to one measure, Microsoft is the top contributor to open source repository Github as of October, with 1,300 employees pushing code to 825 top repositories. According to another metric, Google (Nasdaq: GOOG) is the top contributor, with fewer employees than Microsoft (900) pushing to more repositories, about 1,100. But even there, Microsoft runs a respectable second place.
Microsoft joined the Linux Foundation at its top-tier Platinum membership level in 2016. Also that year, the company launched Project Olympus, an open source hyperscale cloud hardware design and a new model for speeding up development of open source hardware. The company signed on for gold membership in the Cloud Foundry Foundation last year. Also last year, Microsoft introduced the open source Project Cerberus to protect cloud firmware, and the open source Coco blockchain platform. (See Microsoft Lights a Fire Under Open Source Hardware Dev, Microsoft Goes for Cloud Foundry Gold, Microsoft Looks to Secure Clouds With 'Project Cerberus', Microsoft Serves Coco-Flavored Blockchain for Enterprise and Microsoft Joins Linux Foundation, After Calling Linux a 'Cancer'.)
What has Microsoft learned from its transition that might benefit other companies? How can a company make the transition from proprietary to open source culture?
Getting the legal team on board is key, says Gossman. "You've got to get your legal people to understand the licenses," Gossman says. Because of Microsoft's natural, strong interest in intellectual property, the legal team understood licenses very well, and in many cases they were the strongest open source advocates.
Next page: 'Core to our business'
Enterprises are sometimes resistant to open source. They're concerned about being able to keep up with the myriad projects under development, and knowing which is right for them. Microsoft advises those enterprises: "You shouldn't go out and use the latest and greatest," according to Gossman. Enterprises starting out with open source should stick with mature projects, such as Red Hat, Java and Hadoop. And it turns out enterprises are already using those technologies, even if they are officially still resistant to open source.
The focus on mature projects is reflected in Microsoft's own views on which open source projects are important. Linux, "obviously," is very important to Microsoft, Gossman says -- "it's the basis of a lot of things." Also languages, including .NET and C#, TypeScript, Go, Python, Ruby, Java and C++. Also important: Container projects, such as Docker and Kubernetes, as well as big data such as Hadoop, Mongo, MySQL and Postgres. "With the exception of Kubernetes, these are mature projects that have been around for five to 15 years or longer," Gossman says. "These are the ones that we see used the most."
Gossman adds, "These are also the ones that we use ourselves." Microsoft's Skype service runs on Linux, as does LinkedIn, which also relies on the Kafka data streaming platform. "And even independent of LinkedIn, we are one of the largest Kafka users in the world," Gossman says.
Another concern from enterprises about open source is that software developers will walk out with the company intellectual property. But the reality is that code is less important than people, Gossman says. Non-engineers think code is more important than it actually is.
"I have seen people who are not software people think that there is more value in the code than there is in people who can write the code," Gossman say. "You can have the code and if you don't have the developers there is not much you can do. But if you have the developers you are in good shape whether you have the code or not."
Organizations looking to become more proficient in open source should look to resources from the Linux Foundation on how to manage and use open source projects, and how to build an open source program office, Gossman says.
Making the transition to open source can be a lot of work, particularly when a company considers releasing its own internal code to open source, Gossman says. Open source needs community to be worthwhile -- it needs people outside your organization contributing to the code. Code often needs to be rewritten, to be sure the comments are helpful and that the code is properly documented. Internal software projects often rely on what Gossman calls "lore" -- internal discussion between development teams -- that outsiders will not be privy too. All of that needs to be documented.
And companies need to devote people to making sure code developed by the community is reviewed and accepted. "It's bad practice if somebody puts out a pull request and nobody looks at it for six months," Gossman says.
Why bother? Because it gets results. For example, Microsoft open sourced .NET about five years ago. After that, the community added support for the Mac, Samsung Corp. got it running on ARM processors, and Intel Corp. (Nasdaq: INTC) and Qualcomm Inc. (Nasdaq: QCOM) made improvements to the compiler to make .NET run faster on their CPUs.
"We get collaboration with customers." Gossman says. "It's very helpful in recruiting. Most developers love open source, many of them prefer to work on open source." Involvement in open source projects "looks good on their resumes," Gossman says.
Gossman adds, "It's not a charity. It's not a PR effort. Open source is absolutely core to our business."
- Microsoft Doubles Down on Open Source, Analytics for Developers
- Why Chevron's 7-Year Microsoft Deal Is More Than Your Typical Tech Contract
- Microsoft's Russinovich: Avoiding Cloud Lock-In Is Risky Too
- Microsoft's 'CrystalNet' Looks to Eliminate Cloud Downtime
— Mitch Wagner Editor, Enterprise Cloud News