I agree with Advi and Martin that the landing page of a project is important. The CPAN authors' documentation quality improved because of CPAN, not the other way around. Rubyforge would lead to better Ruby libraries if it looked less like Sourceforge and more like the module pages at http://search.cpan.org. This is not to knock Rubyforge; it filled a community need. But I think the community deserves more now. On that note, let's look at a sample distribution page (http:// search.cpan.org/~abw/Template-Toolkit-2.19/). For those unfamiliar with CPAN, a distribution is sort of the "top level"; it can contain many modules. CPAN is a lot more than well-documented modules. There are ratings and reviews, which can help when your searches bring up multiple modules that do the same thing. I find it useful for identifying abandon-ware: sometimes you'll see in a review that the module has been superceded by another. There is also a gaggle of volunteers who test Perl modules on various platforms. This is invaluable if you are using a non-mainstream environment (e.g. cygwin) or if the module has C extensions. And it's fairly automated; there's a CPAN module called Test::Reporter and a special version of CPAN (CPANPLUS) that can automatically download a module, run its test suite, and report results. You can also find dependencies prior versions. Like Rubyforge, there are discussions and bug reporting that are sometimes used, sometimes not. Module authors tend to use Module::Starter which is just like hoe, in that it generates a nice module skeleton, ready to submit to CPAN. Another thing I noticed about module authors is that they tend to use more pragmatic, namespaced module names, i.e. they would tend to use a name like "PDF::Simple" instead of "prawn". Though this may be due to the fact that 14,000 modules require a bit more organization and findability. If anything could make CPAN better it is more user-generated content. It would be neat to let users add additional usage examples to the synopses, perhaps comment on (or even update) the docs (like DocBox, sorta). Anyway I think the Ruby community would benefit from taking a page or two from the CPAN playbook. -- Mark.