FAQ: Explaining Microsoft's new role in Linux kernel development |
Connect with TechFlash on our Facebook page for all the latest technology news headlines and commentary, plus information and access to special events, photos from events, promotions and more.
Announcing Microsoft's contribution of 20,000 lines of code to the Linux kernel this morning, the company called it the beginning of the process, not the end -- promising to be an active participant in the ongoing development of the code under the open-source community.
Microsoft is contributing the driver code to help Linux distributions run on its Hyper-V virtualization technology on Windows Server 2008. But how exactly will Microsoft be involved? Greg Kroah-Hartman, a Linux kernel developer and Novell fellow who oversees the Linux Driver Project, answered our questions and explained the process in a phone interview.
How the process is structured: "It's a big, widespread community, but every part of the kernel has a maintainer. So everything is divided up into maintainers and subsystem maintainers. It's a big tree hierarchy. Microsoft's developers are going to be responsible for maintaining this bit of code. Any changes they make they'll send off to me, who happens to maintain the area in which this code is going to live in. Then I will batch up these changes and send them off to Linus (Torvalds) when we do merges for the main kernel tree."
Kroah-Hartman (Source)
What that means for Microsoft: "They're going to become a full-fledged community member of the Linux kernel, which is great. Now, to be fair, all companies do this, every single other major company in the world does this, but it's a nice validation."
Where the Microsoft code will fit in: "We include all drivers into the main kernel source tree. So you don't go and download external drivers somewhere, it just all comes included. Now, when you build it, you select all these different options on what you want built and what you don't want built. Distributions build everything as a loadable module, so that it doesn't take up any space in your memory, unless you want to use it, unless you have that specific piece of hardware. So in this case, if you happen to want to run Linux on top of (Microsoft) Hyper-V, you just will load these modules and away you go."
How the community will take part: "We have a special part of the kernel tree just for submissions like this. It's called the staging tree. So I'm in charge of that. Every submission, there's a big list that says what needs to be done, a big to-do list. A lot of developers out there, if they're looking to help out, they read the to-do list, and they start making changes and submit 'em. So other people will make changes to this code, submit them for inclusion ... which is good, we want them to, because that's the strength of our community -- anybody can modify code and help out."
Why it's starting in the staging tree: "There's some fundamental technical reasons it's ending up in staging, but that's not unusual for a first submission. (For example) the coding style does not match the Linux kernel coding style. We have very strict coding style guidelines. ... Since one of the main goals of the Linux kernel code is for other people to read it, because we want everybody else to help out with it, a common coding style is required. ... All projects have this. Microsoft's kernel has this, there's a Microsoft coding style. BSD coding style, GNU coding style. Everybody's just a little different."
What happens in the long run: In looking at the code itself, on a technical standpoint, there's a lot of areas that it shares with other code in the kernel. One of the strengths is we can merge that code together, so we can see it all. So we will end up with eventually some code that both works on top of Hyper-V that also works on top of Xen and KVM. It's all the same kind of functionality so it should all be merged together and made smaller. So that means Microsoft's maintainer role will diminish, but the code will be smaller and better-maintained and more robust because it will be used by more people."
Previously: Microsoft contributes code to Linux under GPL
If you are commenting using a Facebook account, your profile information may be displayed with your comment depending on your privacy settings. By leaving the 'Post to Facebook' box selected, your comment will be published to your Facebook profile in addition to the space below.
Follow, like, and connect to a broader audience for your company!
The Puget Sound Business Journal announces Social Madness: A Corporate Social Media Challenge, presented by Capital One Spark Business. This a local and national challenge that will spotlight the best social media programs of companies in 43 cities. The local challenge begins (following the nomination period) on June 1, 2012. The promotion will culminate in a national bracket challenge that will crown Social Madness champions in 3 categories based on company size. To see the official rules, visit http://www.socialmadness.com/rules.
For more information on how your company can participate, visit the nomination page here. Nominations are due May 15th.
BizDev Seminar Series - Leadership: Rallying People to a Brighter Future
Join us for this one-of-a-kind seminar series where you hear directly from the experts about hot topics to grow your business.
The skills to be effective as a leader can be learned. What are the skills and attributes needed to be effective top leaders? How do you tell what level your people are at, and what development skills each person needs? Workshop attendees will learn the answers to these questions and more.
Tuesday, May 17, 2012
8:30am - 10:30am
The Harbor Club, Seattle
Register here.