InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Microsoft Is Contributing 20,000 Lines of Code to the Linux Kernel

Posted by Abel Avram on Jul 22, 2009

Sections
Operations & Infrastructure,
Enterprise Architecture,
Development,
Architecture & Design
Topics
Licensing ,
Linux ,
Open Source ,
Architecture
Tags
Microsoft

Microsoft is contributing 3 Linux device drivers, 20,000 lines of code, to the Linux kernel 2.6.32 under GPLv2 license.

Tom Hanrahan, Director of Microsoft’s Open Source Technology Center, explains what motivated Microsoft to make this rather unusual step:

It’s important to understand one key point of virtualization. When you have an operating system running as a virtual machine, it needs to know it is doing that, so it won’t make calls directly to various peripherals. In Microsoft terminology we call this enlightenment. The Windows Server 2008 was designed enlightened so it would know when it is running as a virtual machine and it would know when it is running on physical hardware.

In order for Linux to have the same kind of experience on Hyper-V, it had to have the same enlightenment. In order to do this, we had to run Linux device drivers.

These device drivers were previously available for download to be used with the first version of Hyper-V, but the Linux community convinced Microsoft, through Greg Kroah-Hartman, who was the first to approach Microsoft on this, that the way to add Linux device drivers is to contribute them to the community, so any commercial or non-commercial distributor can make use of them, modify and distribute them at will.

Hank Janssen, Manager on Microsoft’s Open Source Technology Center, the man leading the team who wrote these drivers promises they won’t stop working on the code:

We will continue to update the driver code to enhance interoperability on an ongoing basis, but it's our hope that other developers in the community will find the code useful and worthy of collaboration.

Jay Lyman, an analyst for the 451 Group, made some comments on the significance of this move. Layman thinks that Microsoft will retain the intellectual property of the code:

The copyright for the code will remain with Microsoft, with the contributor credit going to its engineering lead, Hank Janssen, group program manager at Microsoft’s Open Source Technology Center,

but his understanding is that Microsoft agrees not to claim any patent rights, and consequently not charge any royalty for the code:

If we were putting money on the most likely conspiracy theory to emerge in response to this news it would be that this is a Trojan horse and Microsoft is contributing code to Linux that it will later claim patent rights over. Whether that is even theoretically possible depends on your understanding of the GPLv2.

… Ultimately this is a question for a lawyer, or an eloquence of lawyers (yes it is ironic,apparently). In the meantime, it is our understanding that Microsoft’s understanding is that contributing code using the GPLv2 includes a promise not to charge a royalty for, or assert any patents covering, the code being contributed.

Lyman also expressed his opinion on why Microsoft made this move:

Red Hat and Novell’s Linux distributions already support enlightened mode, thanks to the development work done by both in partnership with Microsoft. One benefit for Microsoft of contributing to the kernel is that it reduces duplication of effort and the cost of supporting multiple, unique implementations of Linux. Once the code has been accepted into the kernel, Microsoft will use the kernel tree code as the basis for future virtualization integration development.

It also means that community Linux distributions will be able to use the code, which opens up more opportunities for Microsoft in the hosting market, where adoption of community Linux distributions such as Ubuntu, Debian and CentOS is significant. It also therefore slightly strengthens the challenge those community operating systems can make to Red Hat and Novell, which are more direct commercial challengers to Windows.

Make no mistake about it, Microsoft’s contribution is driven by its own interests. While it must serve and respond to enterprise customers that continue to drive the use of multiple operating systems and mixed environments, Microsoft also benefits by differentiating its Hyper-V virtualization technology from virtualization leader VMware. We believe Microsoft sees an opportunity to make virtualization with Windows more Linux-friendly than VMware.

As a note, Linux can run on Hyper-V without the mentioned device drivers, but its performance is degraded. This is the first time Microsoft contributes code to the Linux kernel and it is the first time Microsoft releases code under GPLv2.

No comments

Watch Thread Reply

Educational Content

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.