piblog

pibil's blog: <!-- meta's best friend -->


Thu, 20 Feb 2003

Open Source Code Quality #
CNET published an article today on a whitepaper being distributed by Reasoning, in which Reasoning tested the TCP/IP stack of Linux versus three other commercially available general purpose operating systems. They would not specify which operating systems were tested, but that two of the three were flavors of Unix. They found that the Linux implementation of TCP/IP had a defective rate of 0.1 defects per 1,000 lines of code versus between 0.6 and 0.7 per 1,000 lines of code in the others.

Now I do not know anything about Reasoning or their methodologies, but I found this article to be interesting on two levels if, in fact, the results are accurate. First, most operating systems, including Microsoft, use a TCP/IP stack based on BSD's code. Therefore they should all have the same defects... right? Not necessarily.

If a company based its TCP/IP on code obtained from BSD eight years ago, it could have partially languished all the year's since then. Meanwhile Linux and other open source projects (including BSD) have continued to improve their code. Closed-source vendors could not just simply plug the BSD code into their product. They had to re-wire it to work with their operating system (sometimes as an afterthought, as in the case of Microsoft) thus causing deviations, they could have bugs in their code added onto the BSD code, and if the original code they received had bugs, they would have to recognize them and re-implement the previous steps.

Secondly, Eric Raymond's concept of "Given enough eyeballs, all bugs are shallow" rings true. If a project remains active, with multiple developers working on the code, then the best possible product will prevail. |/open-source|