From: Robert Klemme Date: 2007-04-20T17:55:10+09:00 Subject: Re: Project vs. Package On 19.04.2007 21:31, Trans wrote: > Actually, for me it's much more difficult because I mostly write libs > and not apps. It's not as simple as a single .rb file to require. I > have a large collection of them, each needs to be requirable. This > problem arises elsewhere too, for instance, using CodeForPeople's > traits lib. It's isn't > > require 'codeforpeople/traits' > > it's > > require 'traits' > > Effectively CodeForPeople has taken a monopoly on the term 'traits'. > That might not seem a big deal (and note I'm not worried about the > particular case, it's just an example), but multiple that by 70 and > you'd be sitting in my shoes (yes I have 70+ small libs to > distribute). Multiple that by another factor of 100 or more as Ruby > becomes an increasingly popular language, and we really have the > potential for name clash issues. Whatever you do (call it prefixes, namespaces or whatnot) there will always be a point of potential collision. Java has taken the route to use domain names as package discriminators which is probably a good idea. But you cannot enforce that and it seems that in Java land people tend to omit the leading "com" which surely increases the potential for collisions; but this does not seem to be an issue in practice. There is simply no completely safe solution other than having a global institution that hands out package prefixes / directory names. Kind regards robert