3.3 (was: Smalltalk and Self)

Jecel Assumpcao Jr jecel at merlintec.com
Fri Sep 2 22:04:52 UTC 2005


Victor Rodriguez wrote on Thu, 1 Sep 2005 13:04:43 -0400
> 2005/8/31, Jecel Assumpcao Jr <jecel at merlintec.com>:
> > The first major part of Squeak that was developed in a relatively public
> > way was the 3.3 modules and that led to a lot of anger and people
> > leaving our community. While I don't think there was any relation at
> > all, I can understand it if some people hesitate to do things this way
> > again.
> 
> This is very interesting and, at least to me, makes it seem like the
> Squeak community was significantly lessened. Would you mind to give a
> brief description of what happened, for the benefit of those of us new
> to Squeak?

I see that there were already several excellent replied to this, so I
will just add my own view of what happened. I don't agree that the 3.3
module framework was hard to understand (but I have a lot of experience
in this area). Nor that the work was lost: the email discussions are
available (though the last part of them were on a separate list which I
don't know if it has its archives online) and the software itself can be
downloaded from http://ftp.squeak.org/3.3alpha/Squeak3.3a-4981.zip

So it was only lost in the sense that it can't be used in current
versions of Squeak. Interest and effort could change that, of course.

Versions 1.13 through 3.2 of Squeak were released by "Squeak Central",
the team that originally created the project at Apple and then moved to
Disney. Note that from their viewpoint the consolidation of Morphic as
the main user interface and a fully working eToys meant that the project
had reached its original goals and that the next phase would be to build
higher level systems on top of that. About that time many in the
community felt that breaking up the large image into modules was the
highest priority for the next version, so Dan decided to make Henrik's
unfinished effort the official direction for Squeak. This was a
departure from previous practice where everything came out nearly
finished from Squeak Central and even external contributions were
filtered through them. Now the next major change was being developed by
an external person in front of the whole community and with discussions
in the list.

Anyone could download the work in progress and help out or at least test
it. But in my own case I never did so. Enough changed so that you
couldn't really work in 3.3 without first fixing many incompatibilities
in the system. But things were still changing so whatever fixes you made
might not last very long. So I just stuck with 3.2 and kept up with what
was happening through the email discussions. My participation in these
discussions were limited to theory and to cheering the work in general.
The idea was to wait until the work was finished and only then move to
3.3 and deal with any breakage.

The problem was that my attitude was far too typical, so Henrik felt
isolated and had to make decisions without proper feedback. So the level
of compatibility with 3.2 actually dropped as time went on making the
"we will wait for 3.3 final before trying it" problem worse and worse.
For every new feature there is always some pressure to turn back the
clock (so the current debate about Traits is the norm, here) but that
time it grew so great that 3.3 was declared a dead end and the plan was
to have 3.4 be derived from 3.2 instead. That was a major blow to Henrik
and we haven't heard from him since.

In parallel with all this there was the idea that the community as a
whole should become responsible for developing Squeak allowing Squeak
Central to move on to other things. This had actually been the plan from
the start: before starting the project from the old Apple Smalltalk-80
the team had investigated Java  so that they could delegate the role of
caring for the language itself to others. That hadn't worked out but now
Squeak as Smalltalk-80 had reached a point where they could get back to
their original goals. So several people stepped in (is there a swiki
page mentioning them?) to do the various parts of the work and 3.4 was
basically just 3.2 rebranded to test the changes in the release process
(my memory is a little fuzzy here: perhaps 3.5 was the first "community
release" and 3.4 was something else).

I don't think there was any relation between the 3.3 problems and the
changes in the leadership even though they happened at roughly the same
time.

Abandoning 3.3 left us with a huge problem: we still needed something
like it. One important development was the SqueakMap, which solved the
lack of a standard catalog for everything not in the image. Monticello
was the next important piece bringing to packages things like versions,
method overrides and other stuff that modules were supposed to have.
Both SqueakMap and Monticello also attacked the problem of dependencies
which were the other major feature of modules, but there have been
independent efforts such as Universes and Kabungu. All these efforts
were much more incremental, backwards compatible and, probably as a
result, more successful.

This has shaped what direction Squeak has followed since. When David
Ungar asked the Traits authors at OOPSLA 2003 why they were keeping both
Traits and Classes instead of making something simpler, he was missing
the context of what I explained above so Andrew and Nathenael had no way
of giving a short and yet understandable reply. With this context and
seeing the trouble the fully compatible Traits is having you might well
imagine what the result of a "rip everything up and start clean" Traits
would be.

> BTW, I have been lurking in the mailing list for a while now, and
> still I do not have a clear picture of who the leaders of Squeak are.
> At any rate, Alan Kay and Dan Ingalls do not seem to have any
> involvment in Squeak any more. So, who are the Squeak leaders? Whose
> responsibility is it to decide the immediate future of Squeak?

It is a pity I didn't have enough time to list names above for then it
would have given you a better idea of who has been moving things forward
the past few years. But I hope it at least gave you an overall feel of
how the community has evolved and how what "leaders" means has changed.

On the other hand, in practice Alan Kay and Viewpoints Research are
still the leadership of Squeak as far as the outside world is concerned.
By that I mean that any reporter writing about the system will most
likely want to interview Alan about it instead of, for example, Marcus
Denker.

-- Jecel



More information about the Squeak-dev mailing list