Microsoft’s upcoming OS release, Windows 8, will finally replace a vital component that has remained largely unchanged for the last 30 years. It is the BIOS, and it has faithfully performed a simple but vital function: isolating the operating system from its underlying hardware. It quarantines all hardware-dependent code in one location with a publicly defined interface available to the rest of the operating system. BIOS is an acronym for “Basic Input Output System.” It was invented way back in the 1970s by the brilliant computer scientist Gary Kildall, and was one of the more important conceptual breakthroughs that led to the success of the personal computer. Bill Gates copied the BIOS idea in MSDOS and built his company on its strength.
Thirty years is a long time even for brilliant software, and the Windows BIOS has become both a security liability and a performance limiter. It is past time for a replacement, and the upcoming Windows 8 will ship with a UEFI instead of a BIOS.
The Unified Extensible Firmware Interface, or UEFI, is much smarter than the old BIOS and, in particular, it can detect boot-time malware. Of course, one way to define “malware” is “any other vendor’s product.” Microsoft has said that it will not use the UEFI to block legitimate software from other companies, but fears are rising in the industry that it will do just that.
Because most of the UEFI needs to be implemented by hardware vendors, it will be written and deployed by third-party developers, not Microsoft itself. If these third-parties want to earn Microsoft’s compliance certification, they must follow stringent guidelines. If these guidelines are followed, operating systems other than Windows 8 will not be allowed to boot up. In other words, if your computer, pad, or mobile is running the Microsoft OS, it will not run Linux or any other vendor’s OS.
This is not a particularly onerous limitation for about 99% of the human race. Very few people want to mess around with their computer at the operating system level. It’s complicated, dangerous, and unnecessary to do so unless you are a programmer. Ah, but if you are a programmer, it raises a significant question.
Programmers may not be large in number, but they are certainly large in influence. In the 1990s Microsoft rose to overwhelming dominance of the industry for the simple reason that it catered to the needs of programmers. What programmers believe is true affects what other people in the software industry believe, and they, in turn, influence everyone else. If programmers didn’t believe in Microsoft, then Windows would rapidly lose its hegemony as a platform.
In the last few years I’ve seen a remarkable thing: development shops using Linux hosted on Apple computers instead of Windows machines. I wrote about this almost a year ago on my personal blog. If I were Microsoft, I’d be very worried about losing influence in the developer community. Yet, with UEFI, it seems Microsoft is making it problematic to run Linux on Windows, and this may alienate even those programmers loyal to the Windows platform.
I’m sure that executives within Microsoft look warmly on the UEFI as a powerful mechanism for combatting what they view as competition. Too bad for Microsoft that the programming community doesn’t see it that way. This move could be Microsoft self-administering their own coup de grâce, sending their remaining stalwarts into the arms of Apple, and accelerating Microsoft’s descent into the irrelevant.
(Thanks to @BobMacNeal for technical editing)