On Sunday 16 June 2002 16:08, John Siracusa wrote: > Well, define "haven't had very many collisions." I've certainly never > "reported" mine, but that doesn't mean I haven't had them and been > frustrated by them! I've done many client modules as you describe them that weren't fit for general distribution. I've never had a clash with any CPAN namespace. I guess that the reason for this is that I tend to pick the root namespace rather carefully (even though I wasn't aware of the Local::* thing). Of course, collisions could happen. But then it wouldn't be that much of a problem to fix them, I'd say an hour or two on a large project. Using domain names has been rejected over and over by the community (with both good and bad reasons), and any other scheme is prone to collisions. Imho there's not much more we can tell people apart from "be smart, and don't call your CGI handling bit CGI.pm". > And even the stuff that's already in CPAN is kind of a > mess, hierarchy-wise. That's a totally different problem :) > For example, is HTML::Mason really primarily an "HTML" thing? And just > look at the various OS-specific modules. The poor Mac:: modules are just > sitting out there hoping their top-level prefix doesn't get taken over by > some as-yet-unknown (but soon to be super-popular) protocol or product. > And look what happened when Mac OS X came along. We get MacOSX:: at the > top level too. Where's MacOS:: then? And does anyone really think LWP:: > is a good top-level name? With a good, standardized hierarchy, people > could call their modules by whatever fanciful "product names" they want, > provided the "LWP"-ish part is prefixed by something more conventional. A "good, standardized hierarchy" would be nice indeed. The problem is, of course, coming up with it. I very much doubt anyone can. Indeed, Mason has nothing to do under HTML anymore, LWP is a lousy, AxKit could leave the Apache space, a bunch of the XML::SAX::* modules could now go under XML::Generator::*.... the list is endless. But the chances that we'd change it, and the fact that some of those were historically correct when they were decided makes a change rather useless. A few things could help of course. Namespace aliases are one, a promotion of distributions more than two levels deep are imho another. But that's as good as it can get I'm afraid. -- Robin Berjon <robin@knowscape.com> -- for hire: http://robin.berjon.com/ A computer lets you make more mistakes faster than any other invention, with the possible exceptions of handguns and Tequila.Thread Previous | Thread Next