According to Wired, a four-year study of the 2.6 Linux production kernel by Stanford University researchers has determined that there are 985 bugs in the 5.7 million lines of code. While this may seem a lot (it’s 0.17 bugs per 1,000 lines of code), compare that to the average piece of commercial software, which has 20 to 30 bugs per 1,000 lines of code. And the beauty of Linux is that when these bugs are discovered, one needn’t wait for a large company to fix it. It’s more than likely someone will have fixed the bug before you even discover it.
Of course we don’t have any data on Microsoft’s bugs, since we’re not allowed to see the code, but I think you can be sure that it has far, far, far more bugs than Linux.