An uncomfortable question

Swan, Dean squeak-dev at lists.squeakfoundation.org
Thu Oct 31 22:21:26 UTC 2002


Goran,

	I didn't mean in any way to call your baby ugly, but it *IS* just
a database with a user interface that makes it easy to do useful things,
and from a USER point of view (as opposed to a package PUBLISHER or
DEVELOPER) it is simply a tool for importing new code into a local image.
That is what I mean by monolithic image based.  The fact that SM supports
multiple file formats is wonderful, but that really has nothing to do
with the structure of the underlying source code.

	Unless I've missed something, once you use SM to import a package
into an image, there is no easy way to "undo" this package addition.
This is also consistent with the "monlithic image model".

	Please don't misunderstand.  I'm not attemtping to criticize any
any of the great work being done in Squeak.  Microsoft, I am criticizing,
but not Squeak or Squeak contributions.

	If anything I was trying to make the point that flexibility does
not come for free, and that I prefer Dan Ingalls's original premise of
"the simplest thing that could possibly work".

							-Dean


-----Original Message-----
From: goran.hultgren at bluefish.se [mailto:goran.hultgren at bluefish.se]
Sent: Thursday, October 31, 2002 3:42 AM
To: squeak-dev at lists.squeakfoundation.org
Subject: RE: An uncomfortable question


Hi all!

"Swan, Dean" <Dean_Swan at Mitel.COM> wrote:
[SNIP]
> And regarding SqueakMap and DVS, realize that these are based on the monolithic image model.  They are more or less fancy user interfaces to manage filing in the various change sets (I know I'm oversimplifying a bit, but the point is still valid).

Well... No, I think you are oversimplifying a bit too much. SqueakMap is
a distributed catalog of packages that can be installed into a Squeak
image. It is already supporting different package formats:

-.st, .cs, .st.gz, .cs.gz (Simple fileins as you mention)
-.pr (Implemented but not released)
-.sar (Neds new megaformat capable of anything, probably similar to
debs, rpms)
-.st DVS (Avi's DVS .st format which both can be filed in conventionally
AND filed in using DVS thus making a package more or less upgradeable)

My point here is that SM doesn't just handle changesets but any package
format. And when the package formats evolve further we will start seeing
new ways to deal with them - like a controlled upgrade for example. Or
uninstall.

I am not sure what you mean with "based on the monolithic image model"
but IMHO SqueakMap together with DVS etc is changing this. As a small
example, very soon Celeste can be cut out of the image and be published
on SM - I think Daniel is itching to do that and we already have all the
tools that it takes.

In fact SM itself is probably (this is the current proposal) the very
first package that is NOT going into the image! Yep, eating my own
dogfood. For the curious this means that when SM hits the update stream
for 3.2 (we are hopefully talking days now) it will actually only be a
little bootstrap script going in - not SM itself. What does this mean in
practice?

It means that when you update 3.2 you will get a chance to install SM
into it "by remote". As the user you will not see the difference but for
us package developers it is a huge difference. The SM code that you now
have in your image is NOT maintained using the regular update stream. It
is maintained outside of the image. When I (being the maintainer of SM)
integrate new fixes etc and decide to release a new version of SM I can
do that independently and you will be able to upgrade (from within SM)
SM itself when you decide to, also independently of other packages.

In short, packages published in SM (including SM itself) have their own
maintainers, their own "updatestreams" and their own place of storage on
the net - so they are completely independent of the image.

> Of course, monolithic systems have the issue of shared namespaces which can make it difficult to make different packages play nice together in the same image, so like I said, the problem is non-trivial.

Yes, namespaces etc is cool and we will probably end up with it
sometime. But we don't need to solve all problems at once - simple class
name prefixes go a long way.

SqueakMap does work pretty nicely already - and we all know things are
missing but we are working on it. The next big step for SM will probably
be versions of packages and handling dependencies (in some way - there
are different ways to do it) between them. Before that though I want to
wrap up the extensions sent to me from Ned and Avi, smack down on a few
silly bugs and get 1.0 out the door.

regards, Göran




More information about the Squeak-dev mailing list