News

In Major Shift, Microsoft Contributes Code to Linux Community

In its latest embrace of open source software, Microsoft has taken the once unthinkable step of contributing 20,000 lines of code to the Linux community under the General Public License (GPL) version 2.

The code, released Monday, covers three device drivers that will allow any commercial or community distribution of Linux to run as a virtual machine on top of Hyper-V virtualization stack. It marks the first time Microsoft has released its code to the Linux community free of any patent or licensing restrictions within the framework of the GPLv2.

Microsoft was historically a vocal opponent of releasing its code to the open source community, particularly under the GPL. But the realities of enterprise software distribution has forced Microsoft's hand, said 451 Group analyst Jay Lyman.

"This is a reflection of the reality that Linux and GPLv2 are commonplace in today's enterprise and if Microsoft wants to be commonplace as well, they need to play by those rules, and one of those rules is GPL," Lyman said in an interview.

In a Channel 9 video recording announcing the plan, Tom Hanrahan, director of Microsoft's Open Source Technology Center (OSCT), acknowledged this was a significant change of heart for the company but a move the company is committed to.

"It's a contribution to the Linux kernel and it is one we expect and are planning to be actively involved in," Hanrahan said. "We're not just turning the code over but our engineers will continue to work on the development of its device drivers."

The agreement came four months after the Linux Driver Project, a community of 400 developers that build and maintain Linux drivers for any type of device, approached Microsoft about releasing its code.

Greg Kroah-Hartman, a Novell fellow and highly regarded contributor in the Linux kernel community, played a key role in bringing Microsoft to the table. In an interview, Hartman acknowledged Microsoft's willingness to contribute the source code to the Linux kernel source tree based on the GPLv2 was an ambitious goal. "It's a big departure from what previously Microsoft has said publicly," Hartman said.

"Microsoft is becoming a full-fledged member of the Linux kernel community," he added. "They are going to maintain the code and I am going to work with them to clean it up and get it merged into the proper portion of the kernel." It will likely appear in the Linux 2.6.32 kernel later, scheduled to be finalized around the end of the year, he said, though developers can download the code at any time.

For its part, Microsoft has tasked Hank Janseen, who has spent 20 years as a developer and kernel programmer working with Unix and Linux starting at AT&T Bell Laboratories, to oversee the code and its handover to Hartman.

Even for Janseen, Microsoft's contribution to the Linux community was more than he envisioned he would see when he joined Microsoft three years ago. "I have to say, even I would have been hard-pressed to think three years ago that we would consider contributing to the Linux Kernel," Janseen wrote in a blog posting on Microsft's Port 25 site.

Microsoft's OSTC was asked to provide the drivers, known as the Linux Integration Components, code designed to let Linux run win what Microsoft calls an "enlightened mode" on Hyper-V. In other words, it allows Linux to perform with Hyper-V on par with Windows Server.

"Without this driver code, Linux can run on top of Windows, but without the same high-performance levels," Janseen noted, adding this release is not a just a one-time release of the code.

Indeed, a key motivator for Microsoft is to give Hyper-V an edge over the hypervisor technology offered by rival VMware, 451 Group's Lyman said. "Microsoft isn't doing this for a Linux company, it's not doing it for the open source software community, it's doing this for itself," Lyman said.

"If Microsoft wants to be in HPC or embedded devices or the enterprise server market, and wants to continue its success in that market, it's going to have to deal with Linux and the GPLv2."

About the Author

Jeffrey Schwartz is editor of Redmond magazine and also covers cloud computing for Virtualization Review's Cloud Report. In addition, he writes the Channeling the Cloud column for Redmond Channel Partner. Follow him on Twitter @JeffreySchwartz.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube