A few months ago, Steve Ballmer publicly noted that Windows Vista was “a work in progress.” That inspired a predictable outpouring of Vista-bashing. After all, look how many updates Windows Vista has had since it was first released. Obviously, it was a disaster, or there would have been no need for that many updates, right? Why couldn’t Microsoft get it right the first time?
The reality? All modern operating systems used as mainstream business and consumer platforms are “works in progress” and require frequent updates to fix bugs and resolve security issues (and occasionally to add features). Many of those bugs and security issues don’t surface until the code gets deployed widely, and even then it sometimes takes detective work to figure out where the actual problem is. Presumably, the big issues get worked out within a few months, and the pace of updates drops off (but not to zero).
I thought about this over the weekend when I opened up a Hyper-V virtual machine running Ubuntu Linux 8.04. This was a plain-vanilla install of Ubuntu, with no additional software except what is included with the downloaded distro. I had last used this VM 51 days earlier, at which point the OS release was about a month old. At that time, it was completely current with patches and updates, and I hadn’t reopened it since. (A side note: My Ubuntu and OpenSUSE 11 installations on this Hyper-V server were exceptionally easy and performance is excellent. I'll be migrating my Fedora installation from Virtual PC 2007 to Hyper-V and adding an OpenBSD machine on this platform as well.)
I expected that I would have to install a few updates. But I was surprised to see how many.
When the system finished resuming from its saved state and landed at the desktop, I clicked the Update button and was greeted with this dialog box:
This was surprising. Every time I write about Windows Update I invariably get complaints from people about how how annoying it is to have to reboot after Windows updates and how Linux almost never requires a reboot. That’s often accompanied with a bit of bragging about uptime: “I’ve been running for 210 days without a reboot!” Apparently, I had installed some updates the last time and had hibernated instead of restarting. My mistake. After shutting down and restarting the virtual machine, I opened Ubuntu’s Update Manager and clicked the Check button.
There were 24 “Important security updates” on the list, plus another 172 “recommended updates” and 2 “distribution updates.” All apparently released in the 51 days since I last used this machine. The Update Manager dialog box indicated that I needed to download a total of 231.2 MB, and the whole process took more than 45 minutes. Remember, that was for less than two months’ worth of updates on an operating system that was released only three months ago.
When the update was complete, I got another “Restart Required” message.
Oh, and each time I used the Update Manager the screen background dimmed and I had to provide an administrator’s password in this dialog box:
Looks an awful lot like a UAC prompt in Windows Vista, doesn’t it?
After I finished with these systems, I dusted off a VM running Fedora 9 that had also gone unused for 50-some days. Here’s what it needed:
Yowza! That’s 20% more than Ubuntu needed. The entire update process, download included, took roughly two hours.
(And yes, I know that the update packages offered here include support for applications that are installed with the OS. Roughly 20 updates were for OpenOffice.org, and two were for Firefox. Some of them were listed as security updates, which I presume means they fix bugs that represent a threat to my online safety. All those applications were part of the default OS installation, and the updates are selected in the Update Manager window by default.)
OS X Leopard has had its fair share of bug fixes as well, with four major updates in its first eight months of existence, or the equivalent of a service pack every two months. The first couple of update packages fixed what appeared to be some fairly serious bugs and performance issues, and every one has been chock-full of critical security fixes. Because the updates are cumulative, they get bigger with each new release, with the June 30 Leopard 10.5.4 update clocking in at 561MB. If you had said yes to each of those four update packages, you would have downloaded and installed more than 1.5GB worth of bug fixes. (By contrast, the standalone installer for the x86 Vista SP1 is 434MB.) With that volume of fixes, I think it's reasonable to call Leopard a "work in progress."
How does Windows Vista compare using the same metric? I found a Hyper-V VM that had last been updated on May 18, the same week as the two Linux machines. This virtual machine, running Windows Vista Ultimate, had Service Pack 1 installed but had missed two full months’ worth of Patch Tuesday deliveries from Microsoft. When I ran Windows Update, here’s what I saw:
I found it noteworthy that only Important and Recommended updates are installed by default. Those 43 optional updates were just that - optional - and they would not be installed without my explicit selection If that number seems high, there's a reason: This machine is running Windows Vista Ultimate edition, which allows the installation of support for other languages. Of those 43 updates, 38 consisted of language packs and Ultimate Extras (a poker game, the DreamScene screen saver, and so on). If this machine had been running any other edition of Windows Vista, there would have been no more than five optional updates, including the Windows Junk Mail filter and a couple Media Center fixes.
I originally set up this system on April 2, using installation media with Service Pack 1 integrated into it. In the 100 days since then, the Windows Update log shows I have downloaded and installed every available Important and Recommended update, 46 in all. Of those, 8 were definition updates for Windows Defender, 3 were updates to the junk mail filter for Windows Mail, and 5 were monthly updates to the Windows Malicious Software Removal Tool.
My point here is not to bash Ubuntu or Fedora (or OS X, which, unfortunately, I haven’t tested because Apple will not allow me to install it on any computer I own). Far from it. I found the update process in both of these Linux distros to be fairly straightforward and clean, with just a few confusing options that I was able to figure out after minimal research.
I think it’s perfectly reasonable for a modern operating system to require frequent updates and to improve over time. In the case of Windows Vista, a year’s worth of updates and hotfixes and driver updates, many of them rolled into Service Pack 1, have resulted in an operating system that is markedly better than the one that was released to retail customers on January 30, 2007. The pace of updates has slowed, as expected, and as I assume it will with the two Linux distros I looked at here.
In short, the “work in progress” has actually produced results.