The dust from Microsoft's bomb regarding its submission of code under the GNU General Public License (GPL) is starting to settle.
Of course, there are already lots of warnings on the Web that "it's a trick!" and Microsoft code should be avoided at all costs. There hasn't been a Richard Stallman "over my dead body" diatribe about the Microsoft code (yet). But some in the Linux community seem more hopeful than fearful that Microsoft is poised to become the latest in a long line of corporations submitting code that may find its way into the Linux kernel.
The "three drivers for Linux" that Microsoft submitted for consideration to the keepers of the Linux kernel code are actually the Linux Integration Components (LIC) that the company unveiled over a year ago. (A short and sweet definition of LIC from Microsoft's site:" A set of drivers that enable synthetic device support in supported Linux virtual machines under Hyper-V."
Microsoft has been making LIC available for standalone download for a while now. Some elements of LIC were available under the GPL license, but some pieces weren't. As of July 20, all pieces of LIC are now under GPL. (By the way, Microsoft's LIC code talks to Hyper-V and runs on top of it. So while the LIC is under the GPL, Hyper-V isn't and is "protected" from it.)
Greg Kroah-Hartman, a Novell fellow with SuSE Labs and Linux Driver Project lead approached Microsoft about submitting the code several months ago, after he was pointed to the drivers by a Linux community member. Kroah-Hartman said he had no involvement with the Microsoft-Novell partnership, in spite of the fact that he works for Novell, and said the code submitted by Microsoft is not connected in any way to the work that the pair have done.
Microsoft submitted the driver code to him late last week. Kroah-Hartman officially accepted Microsoft's submission on Monday, the 20th.
"We have a whole development process. Companies send the code to me. I accept it and review it. And then it gets merged into the kernel," Kroah-Hartman explained.
As the most recent Linux kernel (2.6.31) is only a month and a half away from final release, the Microsoft code won't make it into the kernel until the 2.6.32 release, which is about five months away, he said.
Is there any chance Microsoft's code won't make it into the kernel source tree?
"They met every one of the requirements," Kroah-Hartman said. "There should be no technical reason their code will be refused.... Microsoft is now a valid member of our community and will be submitting bug fixes, changes and more" to the kernel.
Besides getting one more corporate contributor to the Linux kernel, why else is the community upbeat about Microsoft's submission of the driver code?
"This validates the GPLv2 as a licensing mechanism," Kroah-Hartman said. Microsoft's decision to make the code fully GPLv2-compliant also gives more ammunition to the part of the Linux community that believes all Linux drivers should be released as open source, he said.
Burton Group virtualization analyst Chris Wolf agreed that Microsoft's announcement today is more than just Microsoft's attempt to test the GPL waters. Wolf characterized the announcement as being important for Microsoft's Hyper-V customers and long-term roadmap. He explained:
"Microsoft has acknowledged, in my opinion, that Linux is here to stay, and there is money to be made in hosting and managing Linux workloads. If you look at the virtual machine appliance market, practically all applications distributed as VM appliances today run Linux. That's because vendors don't have to worry about OS (operating system) licensing when distributing an application on an open source OS. I don't think we're far off from the time when Linux-based VM appliances will be conducting different management or monitoring roles on Hyper-V platforms. This move by Microsoft makes that easier."
"Of course, the next steps will be for Microsoft's key OS partners (e.g., Novell and Red Hat) to announce that they are back porting the new Microsoft paravirtualized drivers and making them available in their currently shipping distros. Also, to be a mainstream platform for Linux applications, Hyper-V will need to support multiple virtual CPUs for Linux guests. Still - it's one step at a time, and today's announcement was a very good step."
Update: For those wondering about those key sticking points, like cost and patent issues, Microsoft officials say they plan to keep the drivers free and, as guaranteed by the GPLv2, won't sue for patent infringement those who license the Microsoft driver code.