How Open Source Is Shaping Microsoft's Future
A leopard can't change its spots, but Microsoft's embrace of open source looks to prove otherwise. Critics in the community have their doubts, but business realities are changing the climate in Redmond.
- By Steven J. Vaughan-Nichols
Satya Nadella couldn't have found a better way to tell the IT world there's a new sheriff in town than when he said these three words: "Microsoft loves Linux." If Nadella had uttered that blasphemous phrase a decade ago, his predecessor and former boss CEO Steve Ballmer may have fired him on the spot -- or at the very least thrown a large object at him. Ballmer made very clear his view of Linux and the open source movement.
"Linux is a cancer that attaches itself in an intellectual property sense to everything it touches," Ballmer said in June 2001 in one of his legendary quotes. Setting the stage for Ballmer's proclamation was Jim Allchin, senior vice president of the Microsoft Platform Group in February 2001. "Open source is an intellectual-property destroyer. I can't imagine something that could be worse than this for the software business." Also setting the table for Ballmer was Senior VP Craig Mundie. "As history has shown, while this type of model [open source] may have a place, it isn't successful in building a mass market and making powerful, easy-to-use software broadly accessible to consumers," Mundie said.
Microsoft's militant stance against all things open source rang unabated for much of the last decade, despite rapid growth in deployments of the technology. Ultimately Microsoft started to soften in 2006 with various acts of preservation in the ensuing years including the publication of its 2008 interoperability principles, in which it promised to share APIs and documentation of its protocols. At the time it was perceived as a bold move, yet few took it seriously and even fewer trusted Microsoft.
Nadella was into his ninth month as Microsoft's newest CEO when he showed his affection for Linux. At a press and analyst event in San Francisco among other things touting the multiplatform support for the Microsoft Azure public cloud service, Nadella announced 20 percent of the instances were Linux-based. Nadella promised Microsoft would provide first-class support for Linux. And then he said it: "Microsoft Loves Linux."
Wait! What!? I know the message hasn't got to everyone yet, but 2015's Microsoft is not the fortress of proprietary software it was in 2001 or even 2011. This is not Steve Ballmer or Bill Gates' Microsoft. It's Nadella's and he sees Microsoft's road ahead as walking hand-in-hand with open source software development methods.
The Proof of the Software Pudding
Don't believe me? Look at what Microsoft has been doing. In the year-and-a-half since Nadella has taken over as Microsoft's CEO, the company has gone full throttle in its embrace of the open source community. Among some examples:
- Microsoft is in the process of supporting Docker containers and Kubernetes container management on Windows and Azure.
- Azure clearly has become a multiplatform cloud. Indeed, 25 percent of Azure virtual machines (VM) are now running Linux. In addition, Azure now supports five Linux servers as VMs: CoreOS, CentOS, Oracle Linux, SUSE and Ubuntu.
- Windows gurus Mark Russinovich and Jeffrey Snover had starring roles at the recent Chef Software Inc. ChefConf 2015.
- Last year's open sourcing of the Microsoft .NET Framework.
- Support for Android emulation in Windows.
- Microsoft hasn't joined the Linux Foundation... yet. But, it has joined many open source consortiums such as: AllSeen Alliance, Internet of Things (IoT), OpenDaylight, software-defined networking; and the R Consortium, R language development. Microsoft also financially supports the Apache Software Foundation.
Now, this doesn't mean Microsoft is going to open source Windows or Office. Nor does it mean that the folks in Redmond will be releasing MS-Linux... well, not anytime soon, anyway, though Russinovich didn't even rule that out when asked recently. "It's definitely possible," Russinovich responded to a question at ChefConf back in April. "It's a new Microsoft."
But, this is not the Microsoft that has throughout its history emphasized its embrace-and-extend philosophy and spread fear, uncertainty and doubt (FUD) about open source. It's not that Microsoft didn't see the value in open source software. Gates and company actually did. For example, the first use of TCP/IP in Windows NT 3.5x and Microsoft's initial releases of HotMail were both based on FreeBSD. Publicly, however, Microsoft set itself up as open source's mortal enemy.
Responding in kind, open source developers have hated Microsoft. Linus Torvalds, for example, quipped in 2003, "I've never seen it as a ‘Linus versus Bill' thing. I just can't see myself in the position of the nemesis, since I just don't care enough. To be a nemesis, you have to actively try to destroy something, don't you? Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."
Years later, Torvalds added, "I may make jokes about Microsoft at times, but at the same time, I think the Microsoft hatred is a disease." (click here.) Microsoft hatred, however, is a common open source disease. For years, there was no love lost between Microsoft and open source users, developers and companies.
Microsoft in Transformation
So, what happened? Why is Microsoft now working hand-in-hand with open source projects? Why is it partnering with open source companies such as Canonical Ltd. to enable Windows Server to run as a guest OS on Ubuntu and OpenStack?
Allison Randal, president of the Open Source Initiative and a distinguished technologist at Hewlett-Packard Co., said it best at the OSCon 2015 conference in Portland, Ore., the annual gathering of the open source technical community. Randal said that with 78 percent of companies now using open source solutions, and 64 percent participating in open source projects, "it's table stakes to get in the software development game. If you're not doing it, you're just going to get left behind." (Video of her OSCon 2015 presentation can be seen here.)
"If you're not doing it, you're just going to get left behind."
Allison Randal, President of the Open Source Initiative and a Distinguished
Technologist at Hewlett-Packard Co.
Microsoft knows this and is aware it can no longer take a "not invented here" attitude any more. Microsoft's new management realizes the old proprietary software business model that served it well for so many decades has been milked as much as it can be. Hence, Microsoft has been moving to a service-oriented business model and, at the same time, the company is moving to open source software to power those services.
Hard to swallow? Listen to Nadella, who said in a Wired interview, "If you don't jump on the new, you don't survive." Exactly so. Eat or be eaten.
As early as 2007, Microsoft partnered with Novell (now SUSE), to bring SUSE Linux Server Edition (SLES) VMs to Windows and Windows Server VMs to SLES. Today, this looks like an incremental step. Then, it was a radical shift.
But, outside of SUSE, almost no one in the open source community really believed Microsoft wanted to do anything except to show that Linux infringed on Microsoft intellectual property (IP). At the time, it was probably both to provide the first VM bridge between Linux and Windows and to establish a business claim to Linux IP. The latter would, in time, become the template for Microsoft's billion dollar Android IP claims.
Even when Microsoft did try to work and play well with open source, it didn't go well. For example, one early successful Microsoft project was IronPython. I say "was" because while the language, an open source implementation of the Python programming language that's tightly integrated with the .NET Framework, is alive and well, Microsoft spun it off on its own in 2010.
Jim Hugunin, IronPython's lead developer, left Microsoft for Google Inc. after this. Hugunin said Microsoft's decision was the catalyst for his move. While Hugunin did his best to put a good face on the move, he also said the "first release of IronPython was clearly broken in many ways. It was released under an ‘open source' license that was specific to Microsoft and not trusted by the community."
The project finally came out successfully. "The culmination for me of the work on IronPython was the creation of the Dynamic Language Runtime (DLR) which brought many of the ideas we developed for IronPython deep into the .NET platform," wrote Hugunin. But, he ended by saying he would no longer work on the project despite the fact that "it would also be very satisfying to work on IronPython outside of the corporate constraints I've been living in for the past six years."
That was then. This is now.
Microsoft Through Open Source Eyes
How do open source leaders and developers see the "new" Microsoft today? Here's what I found.
At OSCon 2015, I conducted an informal survey of several dozen attendees. My question: "Do you believe Microsoft is committed to creating open source software?" The answer, overwhelmingly, was "no." With the occasional "Hell, no!" thrown in for spice.
They fear Microsoft is invading the open source community to further its real mission of embrace and extend. Many remain convinced that Microsoft is simply trying to lull open source companies to sleep, before trying to extinguish them. In short, their level of trust is low.
Eric S. Raymond, author of the seminal open source essay, "The Cathedral and the Bazaar," summed it up nicely when he said, "[It] might be sincere this time. Who knows? I don't, and long experience makes me skeptical."
He has reason. In October 1998, Raymond uncovered the "Halloween Documents." These internal Microsoft documents revealed that Microsoft already saw that open source software "poses a direct, short-term revenue and platform threat to Microsoft, particularly in server space. Additionally, the intrinsic parallelism and free idea exchange in [open source software] has benefits that are not replicable with our current licensing model and, therefore, present a long-term developer mindshare threat." The memo continued, "The ability of the [open source software] process to collect and harness the collective IQ of thousands of individuals across the Internet is simply amazing. More importantly, [open source software] evangelization scales with the size of the Internet much faster than our own evangelization efforts appear to scale."
The memos also described how Microsoft might be able to fight off open source software by de-commoditizing protocols and applications: "[Open source software] 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 [open source software] projects entry into the market." In short: embrace, extend and extinguish.
Today, what's most striking about the Halloween Documents isn't their descriptions of how Microsoft wanted to snuff out open source. It's how they accurately predicted that Microsoft already knew, well more than a decade ago, that with its 1990s business model, Microsoft would be unable to successfully compete with open source software. Hence, Nadella's conversion to Linux.
Some open source users don't buy Microsoft's change of heart for one minute. Roy Schestowitz, a software engineer and longtime Microsoft critic, still believes Microsoft is open source's mortal enemy. Schestowitz recently wrote, "The ‘Microsoft loves Linux' nonsense cannot be put to rest, as that tired old lie keeps resurfacing in the media... Microsoft hates GNU/Linux. When it participates it's in order to make Linux Windows-dependent (see Hyper-V, for instance) or devour the platform in various other ways so as to make Microsoft's non-Windows cash cows take over, in due course."
Another common feeling was expressed by Glenn Holmer, a Linux administrator. Holmer said, "None of [what the company's doing] means anything as long as [it's] still patent-trolling Android. When [Microsoft stops] doing that, [it] can start [its] journey toward credibility in the open source world."
But, and this is different from the days when Linux and open source programmers and leaders uniformly saw Microsoft as the evil empire, today, some open source developers, users, and leaders are willing to give Microsoft a chance.
For example, Jos Poortvliet, community manager for ownCloud, an open source, private cloud company, says, "Like many, I remain skeptical. But I'm open to be convinced."
The Linux executive leadership seems to be more willing to accept Microsoft's olive branch. Jim Whitehurst, president and CEO of Red Hat Inc., says: "Last year when Nadella said ‘Microsoft loves Linux,' it marked a significant shift in tone and rhetoric from his predecessor who at one point referred to Linux as a ‘cancer.'"
"Microsoft seems very sincere in [its] willingness to work with not only competitors, but also the open source community at large."
Red Hat Inc. President and CEO Jim Whitehurst
Whitehurst sees Microsoft's shift as a huge milestone for open source. "That open source has gone mainstream and to be a major player in IT -- you have to embrace it. More and more developers and businesses are turning to open source solutions in ways they've never done before. Since his statement, Microsoft seems very sincere in [its] willingness to work with not only competitors, but also the open source community at large, the open sourcing of .NET being one key example of the company's growing acclimation toward open code."
Indeed, Jim Zemlin, executive director at the Linux Foundation believes the Microsoft open source push is for real. "Microsoft gets open source," Zemlin says. "[The company is] both an active contributor and consumer of open source software with large commitments to the Core Infrastructure Initiative and Apache Software Foundation, among many others."
Moreover, he continues, it's not just talk. "I have personally worked with people at Microsoft on IoT initiatives such as the AllSeen Alliance and Node.js and the latest major open source effort, the Open Container Initiative. These individuals are smart, humble and enthusiastic in their approach toward open source. Microsoft has clearly changed when it comes to open source and is a better company as a result."
Sam Ramji, CEO at Cloud Foundry, an open source Platform-as-a-Service (PaaS) cloud foundation, has a unique view of Microsoft's efforts. Before this position, he spent almost four years as a Microsoft senior director of Platform Strategy and de facto leader of Microsoft's first worldwide open source and Linux strategy organization.
"Open source is catching on and it's on the verge of being mainstreamed at Microsoft. The real proof will come when open source is used in product groups."
Sam Ramji, CEO, Cloud Foundry, and Former Open Source Strategist at Microsoft
Ramji believes that under Nadella, "Open source is catching on and it's on the verge of being mainstreamed at Microsoft. The real proof will come when open source is used in product groups."
In particular, Ramji is watching what Microsoft is doing with Docker containers. "I'm told that Microsoft really will be standardizing on glibc containers straight from Linux. The Microsoft approach will be to call native existing Windows APIs. If Microsoft does deliver on this, and I think [it] will, the barbarians will be inside the castle."
Old Habits Die Hard
Microsoft has a difficult road ahead, warns Neela Jacques, executive director of the OpenDaylight Project, the leading open source software-defined networking (SDN) program. "I think Microsoft stuck for too long with a model that worked really well in the ‘90s, but hasn't worked that well since then," Jacques says. "[The company understands] with Nadella now that a change was needed. He's been crafting, for the most part, the right strategy. Unfortunately, executing that strategy requires a tremendous amount of restructuring Microsoft's DNA. Engaging with open source communities that have fundamentally different ways of doing things is much, much harder."
Still, Jacques likes what Nadella is doing. "He's the right captain, he's picked the right journey, he put his boat on the journey, but it will take a lot of work to get there. Personally, I think [Microsoft] could be more aggressive. It's great to see [the company] participating in the open community, but I haven't seen [it] taking a leadership role. [it needs] to understand that ‘We is greater than me.'"
So what should Microsoft do? Jacques suggests it "look to Brocade and Cisco, which seem to be doing well at this."
Specifically, "Microsoft should hire people with significant open source chops who could take a true leadership role both inside Microsoft and in open source projects," suggests Jacques. "[Microsoft] could do this by hiring someone with the right technical and collaborative DNA. For example, hiring some senior people from Red Hat would be a great move."
So what is Microsoft really doing? I've been covering Linux almost since day one. Before Linux was a gleam in Torvalds' eye I had been reporting and reviewing on all kinds of OSes, development tools, and end-user programs, including Windows, and before that, MS-DOS. In short, while I'm best known for my Linux and open source coverage, I know Microsoft quite well, too.
I see Microsoft in a sea change. Given its druthers, Microsoft would love to be in a world where licensed software came in shrink-wrapped boxes. Those days are gone.
Ballmer realized part of this. That's what led to Microsoft moving to a Software-as-a-Service (SaaS) model. Nadella knew this wasn't enough. He also stepped into the CEO suite understanding it wasn't enough to give lip service to open source, Microsoft must become an open source power in its own right.
The writing was on the wall, in the Halloween Documents, years ago. Nadella is now reading them to his company.
This will not be an easy move for Microsoft, but it is a necessary one. The Linux Foundation's Zemlin is fond of saying that "Linux and open source are on the right side of history." He's right.
Apple Inc., with its wildly popular top-to-bottom proprietary hardware and software stack, can survive with its old model. Microsoft, as its Nokia failure has shown, can't follow that path. For Microsoft to stay the 21st century technology giant it was in the last century, it must transform itself into an open source company.