There are a number of relatively new phenomena in the server world that Microsoft has been rather slow to catch up on. Server virtualization is one of them. Where companies like VMWare and Sun (now Oracle) had pretty much already built the defining server virtualization software, with a robust hypervisor (software that lets you run multiple virtual machines on a single physical server) in ESXi, and a great general-purpose software-based virtual machine in VirtualBox, Microsoft made their own hypervisor.
And in traditional Microsoft style, their server virtualization implementation required modifying the Linux kernel to get it to play nice. Rather than emulating the system hardware in such a way that the Hypervisor does all the heavy lifting, they chose to use OS-level drivers to “get the most out of” the hypervisor’s features.
This isn’t generally a bad decision, honestly. VMWare requires guest OS tools to be installed in order to do some stuff too. Microsoft’s actual failing, in this case, was in employing juvenile dudebro programmers who submitted kernel code that included a constant for the upper limit for virtual server guest IDs defined as 0xB16B00B5.
That’s leetspeak for “Big Boobs.”
Red Hat kernel developer Matthew Garrett is not impressed. “At the most basic level, it’s just straightforward childish humour,” he wrote on his blog. “But it’s also specifically male childish humour. Puerile sniggering at breasts contributes to the continuing impression that software development is a boys club where girls aren’t welcome.”
Microsoft apologized for the “offensive string” on Friday. “We have submitted a patch to fix this issue and the change will be published in a future release of the kernel,” the company said in an e-mailed statement.
That patch could cause trouble for developers who use Microsoft’s Azure cloud platform, which is based on Hyper-V, Garrett said in his blog post. “It’s especially irritating in this case because Azure may depend on this constant, so changing it will break things,” he wrote. “So, full marks, Microsoft. You’ve managed to make the kernel more offensive to half the population and you’ve made it awkward for us to rectify it.”
The really interesting thing about this is that Microsoft has become one of the top-ten entities to contribute code to the Linux kernel with all their contributions to the Hyper-V codebase. This, in itself, is telling, as Linux works great on other virtualization platforms without a huge amount of tweaking, so I am naturally very suspicious of Microsoft’s motivation for making such contributions.
Their time-tested strategy for defeating open standard and open source initiatives has been “Embrace, Extend, Extinguish” — claiming to want to help the standard, adding to it in such a way that the additions mean you have to deal with Microsoft to use the codebase, then eventually abandoning the codebase for a fully home-grown solution leaving those customers out in the lurch. They’ve tried it a few times with Internet-Explorer-only extensions to HTML, making it so some sites simply look broken on anything but their built-in browser. During the bad old days of the web, when you’d see little “best viewed in Internet Explorer” buttons on some websites, there was a good chance that Mozilla / Netscape would render the site as a complete dog’s breakfast. And even recently, I know of some large multinational corporations whose internal processes presently depend very heavily on ActiveX controls built for Internet Explorer 6, meaning there are a lot of very old and very insecure browser installs running vital corporate functions.
Given that history, coupled with little “easter eggs” like the Big Boobs constant, I find myself growing wary once more of Microsoft’s predations. Where Linux might traditionally be a complete meritocracy, with sizeable chunks of code contributed by women, Microsoft’s contributions have a very large tell about their internal gender balance. And what they’re doing now with Hyper-V reminds me all too much of those HTML wars of yore. It looks like they’re trying the same thing with Linux.
I don’t know what their endgame is, but they’re in the Embrace/Extend phase now, without question. Sad that it took a newsworthy incident like this brogrammer contributing to the programming world’s chilly climate to catch my eye. I’ve been ignoring Microsoft for too long. I might have grown complacent.