Comment This is a familiar pattern (Score 1) 776
We've seen this pattern before. We've seen it with the Linux kernel itself, we've seen it with kernel side-projects, we've seen it with individual distributions, and we've seen it with all manner of open source software. I don't think it's unique to open source projects, but it seems very typical of their natural life cycle.
The project starts out as a toy. We have some sample code, a prototype, a proof of concept, or the like. Hey, everyone, it's a dancing dog! It doesn't do anything useful, but it sure is fun to watch.
Most projects die right there. But, in a tiny number of cases, people are sufficiently interested in the toy that they start playing with it, too. They fiddle around with the code, add a few features, fix a few bugs, show it to their geekier friends, and so on. Now, it's an interesting hobby.
Many projects die right there. But, in few cases, people find the toy sufficiently practical that they actually start using it. I mean, to be honest, the toy is still barely usable. It's bug-ridden, it's lacking important features, better products are available. But these people buck convention. They fiddle with the code a little more furiously. A few people actually redesign and rewrite big chunks of it. It looks like the "toy" warrants a couple dedicated mailing lists. People fix the most egregious usability problems and add features from the "most wanted" list. They also start in with childish advocacy in inappropriate forums, and they look like idiots, but they recruit other idiots, too, idiots who want to try out this toy. It's become an unnatural obsession or even a dangerous cult (though to the people closest to the project, it's still an interesting hobby).
A lot of projects die right there. But, in some cases, the project achieves a certain critical mass of interested developers and users. (The critical mass required differs from project to project, of course.) Now there are a few core developers that take the project very seriously indeed, lots of sophisticated users that are applying the project in the "real world" and contributing bug reports and patches. People are less likely to "pooh pooh" comparisons to competing projects, and missing features and poor performance in "fringe cases" are objects of legitimate discussion. The division between advocates and developers becomes a little clearer, mostly because the developers are less self-conscious about public perception of the project. The [open cheek, insert tongue] Holy Grail of Open Source, namely actual BUSINESS INTEREST, might be spontaneously and mysteriously generated. The project is a respectable undertaking (though to the people closest to the project, it's still an interesting hobby that for a few lucky ones pays the bills).
A good number of projects die right there, though their "death" is now a little more complex. Regardless, in many cases, the project has too much momentum to die (or at least the corpse is still animate). The project is seen as a serious competitor to other products, and it's moving in some dangerous circles. Advocacy becomes simultaneously more shrill and more subdued, depending on who's advocating. The project still has some serious shortcomings, and these bugs or misfeatures are---hardly surprisingly---concentrated in the areas that don't much interest the developers. The project's installation and configuration is too complex, the user interface is weak, there are small but vocal groups that want to take the project or parts of it in new directions of interest to them, someone suggests in all earnestness that the project be reimplemented in Java or C++. Influx and outflux of users and developers, which has been ramping up throughout this process reaches a fever pitch. Long-time advocates of X suddenly advocate Y or even not-X. People jump ship, or from ship to ship, or just decide to do something else for a while. There's a little too much screaming all round, but the developers keep developing. Though no one is paying any attention, somewhere along the line the project becomes really useful to lots of people (though to the people closest to the project, it's not clear anymore exactly what it is).
At this point, a few projects begin to collapse under their own weight, though their deaths are a long way off. But, in most cases... Or maybe not. No project has gotten this far, yet.
Linux is probably in the really useful to lots of people stage. "Linux on the desktop", as a concept, is probably buried in the interesting hobby stage, even though it's showing signs of starting into the really useful to lots of people stage. Mozilla was fast-tracked through the whole process, even though everyone seems to think it took an interminably long time. I used Mozilla from dangerous cult through really useful to lots of people, and I think one should compare Mozilla of a year ago to Mozilla today before concluding that Linux will never be a desktop contender. Or, people who are suddenly so willing to write off desktop Linux might want to ponder Linux kernel version smaller than 1.0.