Jed Rothwell wrote:
> The number of bugs in a software package decreases at first > and then increases, inexorably, to the point where the software becomes > unusable. Can you name an example where this has happened? I can't think of one. This sounds like the old theory of "evolutionary exhaustion" only applied to software. Lots of software has gone "obsolete" as a result of failure to keep up with hardware changes or as a result of being too hard to modify for newly surfaced requirements, but that's *NOT* what you're claiming here. The number of *REPORTED* bugs always increases with time, to the point where the bug database may become unusable. One of the DEC OS releases was accompanied by a decree from management that all remaining bugs were irrelevant, the database was cleared, and they started over again fresh. (Sorry, don't recall the OS or release -- I think it was a VMS release, not sure tho.) But, again, a steadily increasing number of REPORTED bugs just means people have learned more about the product; it has nothing to do with what you're talking about. MS Windows has gotten consistently more solid over the years, with the possible exception of the Vista release, which didn't suffer from an accumulation of scar tissue (as you're alleging) -- it suffered from a sudden addition of a massive chunk of code "down in the basement" which was supposed to enforce DRM. It *did* a *whole* lot more (even if users didn't want the new stuff it did) and so it had more problems; but again this wasn't what you're talking about. You could claim, of course, that Windows NT was a "rewrite" of the old Windows OS and so it isn't as old as it looks, but note well: NT is still pretty darn old as software goes, *and* NT was based in part on VMS, so it's got some very, very old code in it. And yet it gets less buggy, not more buggy, as time goes by. (When was the last time your Windows box spontaneously blue-screened, without a hardware failure to blame? That used to be very common.) MS Word, MS Windows, and MS Excel are going strong and a lot more solid than they were a decade ago. Ditto Firefox, which is a direct descendent of Netscape. And if Firefox isn't "direct" enough for you, Seamonkey still works just fine, and I use it regularly; it is still built on the old Mozilla source tree. Kompozer, the freeware HTML editor for Linux, is based on NVU, which was cloned from the old Mozilla composer code. It's getting very old! However, aside from a nasty hit it took when something changed out from under it about a year ago in glibc (from which it is recovering) it has shown a definite downward trend in bugs which interfere with getting work done. The big IBM OS's collapsed under the weight of obsolescent *hardware*, not accumulated unfixable bugs. Same with the big Dec OS's, and Primos, and, for that matter, Multics. Unix has been around since, what, 1975? Something like that. Linux is a ground up rewrite, and so isn't very old, but Sun Solaris can trace its ancestry clear back to the original Bell Labs Unix. It is the grandfather of current operating systems. I don't see any sign of it collapsing from an accumulation of bugs due to too many fixes being applied. (Note well -- Sun originally used a clone, BSD I think, but some time around 15 or 20 years back they switched back to a System V based version, which was cut from the (already very highly evolved) Bell Labs mainline code.) BSD Unix is still around, come to think of it, and it's pretty darn ancient at this point. Lots of people use FreeBSD and last I heard it was showing no signs of evolutionary exhaustion. Oh, and the current Mac OS is also based on BSD, with patches on patches on patches. In fact, just today, I'm working on some stuff which gets right down in the guts of MacOS, and its ancestry of CMU-Mach/BSD is clearly visible. Funny, though, it doesn't seem to be collapsing, and in fact it actually seems to be getting more solid with each release. Richard Stallmans's version of Emacs was written in the mid-70's. The original version was in Teco, of course, and it went through a rewrite to get it into a different language, but the current version is still based on a *very* old code base. Yet, it doesn't seem to be suffering from an accumulation of unfixable bugs. And just as a small item closer to home, the product I work on was written in 1987, and has been modified and extended but never rewritten. (I would know, I wrote the original.) And believe me, it's more solid today than it was a decade ago, despite being at least 20 times larger than the first delivered version. In short this claim sounds like BS to me.

