FAQ: Explaining Microsoft's new role in Linux kernel development |
Register here for our next TechFlash Live networking event, March 23, featuring an expert panel discussing the future of online advertising.
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
Todd Bishop is co-founder and managing editor of TechFlash. He has covered Microsoft and the technology industry for more than five years, most recently as a daily newspaper reporter and blogger based in Seattle.
READ FULL BIOGRAPHYTechnology Tax Planning – Did You Take The Deduction?
Technology companies require professional advisors who can assist in all aspects of the business. The BDO Technology Practice provides a full range of services tailored to help address the changing needs of domestic and international companies. In addition to core audit and tax services, BDO professionals can assist technology companies with:
· Revenue recognition
· Business combination accounting
· R&D tax credits
· Compensation and benefits
· Business valuations
Backed by 38 national offices and an international network in 110 countries, we have the domestic and global footprint to serve growing technology companies. Contact sphilpott@bdo.com (audit partner), mreeves@bdo.com (audit partner), psmith@bdo.com (tax partner), tzambito@bdovaluation.us.com (valuation), tfiscus@bdo.com, Director, 206.624.2020
Join the Microsoft WebsiteSpark program and get software, support and visibility – at no upfront cost. You’ll benefit from fast and easy access to current Microsoft development tools, platform technology and server products including Visual Studio, Expression Studio, Silverlight, Windows Web Server 2008 and SQL Server 2008 Web.
Seattle-based Adhost is a WebsiteSpark hosting partner providing dedicated servers with free Windows Web Server 2008 and SQL Server 2008 licensing for three years to Web developers enrolled in WebsiteSpark. Servers are located in our secure data center with SAS 70 Type II certification, 24x7 technical support and 24x7 client access.