An uncomfortable question
Colin Putney
cputney at whistler.com
Fri Nov 1 20:45:35 UTC 2002
Les Tyrrell responded to my post thusly:
>> I agree that packages should be versioned, and that dependencies
>> should
>> include version information. But I also think that having multiple
>> versions of a package installed in a single image would not be a good
>> idea. The benefits are not worth the complexity it would require.
>
>
> It is a bit early to state it that emphatically.
Perhaps I should have been clearer that I was speaking in the context
of near term development goals for Squeak. At some point we may find
that the benefits multiple-simultaneously-installed versions do
outweigh the benefits. But I think that day is a long ways away.
> There is no evidence to
> support the notion that having this ability would be any more complex
> in
> practice than not having it, as we do now. You are used to the
> situation we
> have now... so you think of it as being "simple", by virtue of
> familiarity.
> As long as we arbitrarily ignore the vast amounts of code which are
> *not*
> routinely packaged in the official release, then certainly we can
> "simplify"
> the problem. However, if you now want to consider what it takes to
> use all
> those other bits of code, then we find that there is a fair bit of
> missing
> tool support to make this job easier. Deliberately choosing to
> neither
> develop nor use such tools does not "simplify" life.
You're putting words in my mouth. I'm *not* advocating the status quo.
I would like to see the development of tools which help us deal with
code that is not in the official release. In fact, I would like to see
much code removed from the official release and maintained separately,
using those tools. I simply don't include
multiple-versions-of-the-same-package-in-a-single-image as a
requirement for accomplishing this.
[I've cut out the portions of my post that deal with the mechanics of
how it might work, and you're responses, because your point below
summarizes the whole exchange nicely.]
> The specifics are not exactly what I'd anticipate, but the gist I
> agree with-
> very deep impact at a low level, decidedly non-trivial. However,
> technically
> feasible- a big chunk of this is already working rather well in Oasis.
For me this is the key to the whole discussion. We agree that it would
be a major change, with a high risk involved. I freely admit that it's
technically feasible, but I don't think the benefits make it worth the
risk. Just because we *can* do something doesn't mean we should.
> But at a
> higher level I'd reccomend that we consider that OS's do a lot of
> things much
> better than what we are doing "within" the image right now. It is
> worth
> considering ( as I believe Stephen Pair once suggested ) a comparison
> and
> contrast between Squeak/Smalltalk/image and OS/file systems. To wit:
> in an
> OS, having something be *available* to use is not the same thing as
> *demanding* that it already be in memory. And when done using that
> thing,
> it goes away. Compare that to the way in which we currently manage our
> images. There is a big realm of transient things that are not
> managed at
> all- we load them at some point, and from that point on, they stay in
> the
> image, because we do not have tools to identify the extent of these
> things and
> what is needed to remove them. I just don't see how deliberately
> deciding to
> never develop such tools will ever be a good thing.
But Squeak is not an operating system.
It could be someday, sure. We might even consider it a long term goal.
I would love to be able to install Squeak as my OS. Have it run on the
bare metal. Use it for everything I do with my computer. I'd even enjoy
a system where it ran on top of an external kernel, but completely took
over the UI. In that scenario, sure, you'd need to be able to do
everything from a single image.
And when we face that problem, by all means let's solve it. But we're a
very long way from that. Right now, the VM requires a host operating
system, and it's quite easy to use different images for different
purposes. On the other hand, building an image for a specific purpose
is quite difficult. We need package management tools today.
The work Goran, Avi, Ned and Daniel have done goes a long way towards
addressing that need. If we can build on those tools, carve up the base
image into packages, and come up with some better tools for distributed
development, revision control and so on, I think we could do some
really wonderful things with Squeak. Maybe even turn it into an OS.
Cheers,
Colin
Colin Putney
Whistler.com
More information about the Squeak-dev
mailing list
|