From: Sylvain Joyeux Date: 2007-04-20T05:20:12+09:00 Subject: Re: Project vs. Package > require 'traits', :project => 'codeforpeople', :package => > 'traits', :version => '>= 0.10' I think this is over-engineering for a very marginal problem. If you have a 'heap' library, you usually don't want it to be top-level, because heaps are a general thing and it is very likely that you heap is not compatible with another's, so require 'heap', :project => 'coolproject' and require 'heap', :project => 'anothercoolproject' are NOT equivalent. For this kind of library, it is IMO not that horrible to have to type require 'coolproject/heap' If you're defining a big library, it can be put in the 'toplevel' namespace, because the first one that will use a name will own it. This works for a very long time in C (with both library names and includes). Of course, there are problems but I really think what you're trying to do is overkill for a very limited problem. I don't know what's your problem with more's libraries being in more. I personally don't see one. -- Sylvain Joyeux