From: Gavin Sinclair Date: 2003-01-23T22:29:19+09:00 Subject: Re: Can we attack the 'not enough libraries' thing straight on? On Thursday, January 23, 2003, 1:42:34 PM, ahoward wrote: > [Comparing to C++ boost system] > * libraries wishing to become part of the ruby standard library should > follow some sort of standards (naming being one of them) and perhaps fit > into some overall package management system (like the cpan shell). they > should install in standard places, have standard docs (in fact it'd be > great if there were a site_ruby/doc directory doccumenting every thing > installed on your system), etc. > * other modules can do what they please > this is one idea CPAN lacks - a central set of standards which modules must > conform to (unit testing for modules?) and a way to separte the really good > modules from all the chatter and useless crap... Good ideas. It's great to have a repository that anybody can contribute to, and we do need to be able know which ones are well implemented and supported. I wish someone who has used a lot of packages (i.e. not me) would write a summary of packages they think are ready for the big time. Also along these lines, I believe the RAA should mandate a standard for versioning. Everything should be versioned x.y.z, with perhaps some allowance for alpha, beta, whatever. Version numbers based on dates or descriptions are not particularly informative. About "standard docs", I think this is the way forward: - packages have a doc directory - this gets installed along with the package so it ends up in something like site_ruby/1.6/froboz/doc/package.info /index.html - it can therefore be determined which packages have been installed and have documentation installed This allows different programs to programatically access all package documentation. The particular program I have in mind might be called 'rdb' (for Ruby Documentation Browser) and would do the following: - build a list of all installed package doco (using package.info for description etc.) - generate an HTML page containing links to all available package doco (the index.html files, which represent RDoc output and contain the README etc. as well as the API doc) - open a browser to that page There you have it. One command to access all of your available package documentation. Of course it can take an argument so you can access a particular package doco easily. I mention this in this thread because I have a suspicion that Ruby's reputation for a lack of libraries is superficial. There are a lot of libraries; we just don't always access them very well. Setting some standards and easing access are easy things to do, and they can only encourage effort in creating more high-quality libraries, and higher quality documentation for those libraries. One technical nit: not all libraries conform to the pattern whereby they install in a single directory. Anyway, things like package management require community evolution. Judging by the number of RAA entries, the Engligh-speaking Ruby community has evolved to the point where some standards ought to be enforced to help us make sense of it all. Gavin