The future of SM...
lex at cc.gatech.edu
lex at cc.gatech.edu
Fri Jul 23 23:06:55 UTC 2004
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
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
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.
More information about the Squeak-dev