Developers can collaborate to assemble library version and share vermaps which are consistent and tested to work well together. They can be shared inside a company, or globally, like Quicklisp does.
we do that with the dwim.hu libs using darcs repos and tags.
every once in a while, i tag a version of all our repos that work well together with a tag like '2013-12-01', or sometimes '2013-12-01-some-project' when i'm tagging the state that is needed for a specific project. in darcs these tags can happily live by each other in the same repo in an unordered fashion.
as for the dependencies, we always use the repos of the dependencies, and we have a function that collects the repo state in the form of tag names, revisions, etc... and it can also generate a checkout script that can be used to clone the needed version of all the dependencies.
currently here:
http://dwim.hu/darcsweb/darcsweb.cgi?r=HEAD%20hu.dwim.home;a=headblob;f=/sou...
but it should move into some util location...