Guys, I never disagreed that it is possible to get along with a single map. However, multiple maps seem to simplify some things and to enable some other things, all with no additional code beyond supporting multiple maps. With multiple maps, you immediately gain the following abilities:
1. Keeping track of which package releases are in which Squeak versions, with a UI that requires no extra activities by the users. 2. The ability for users to set up their own package universes without needing to coordinate withany central authority. 3. The ability to create nested universes and to have packages in inner universes automatically propagate to universes which contain them. 4. The ability for a package to be maintained by different people in different package universes, e.g. if I only support Chuck in 3.7, Joe can volunteer to support it in 3.0.
I find this list striking, when one considers that all of these features happen automatically and with no coding at all.
Now, perhaps I am misunderstanding the purpose of SqueakMap. If SqueakMap wants to be a catalog of everything, then I have misunderstood and that is fine. In that case, however, I do suggest that we start work on a new tool which is a "package universe browser". Users should have some tool that lets them select packages from a menu, install them, and have it just work. They should be able to do this even if they aren't following the main development version, and they should be able to integrate their own packages into the system without needing cooperation from a central authority. If SqueakMap is not intended for these purposes, then we should put together something else.
Regarding versioned dependencies, Julian, Goran did indeed call the configurations "dependencies". And please consider that in the A,B,C example there was *never* a time that I could upgrade *any* package. If this is typical, then the configurations will always be ignored by the user, which makes them pointless. If we want a dependency system that the user will practically never want to override--and I think we can get there--then it seems that we should not put fixed version numbers in the dependencies.
Overall, I have followed communites where the packaging system causes its users headaches (RedHat, Windows DLL's), and I have seen one community where the packaging system Just Works (Debian). I have thought about this issue a good bit, and I am simply pointing out some conclusions that I expect will make our system work better. Squeak is a decentralized playground, though, and everyone is free to play in it however they like.
-Lex