What is Squeak? (Was Re: A roadmap for 3.9)

Josh Gargus schwa at fastmail.us
Mon Dec 13 00:36:39 UTC 2004


On Dec 12, 2004, at 2:20 PM, Mark Guzdial wrote:

> On Dec 10, 2004, at 3:25 AM, Marcus Denker wrote:
>>
>> It shouldn't come to anyones surprise that if you leave a community 
>> that this community will go into a different direction.
>>
>>      Marcus
>
> I think that Marcus is dead-on with this comment.  People shouldn't be 
> surprised if parts of the system that they contribute get abandoned if 
> they're not there actively promoting and maintaining them.  (And I 
> disagree with Andres:  Andreas is actively promoting and maintaining 
> his pieces of Squeak, and as an active developer, it's certainly part 
> of that role to critique what others do and encourage what he wants to 
> see.)
>
> But I think that Lex's point is also quite valid: What about the 
> newcomers to Squeak?  What is their expectation about Squeak, and do 
> we them (and the community) a disservice by not making some effort to 
> meet that expectation?  Expectation failure doesn't encourage people 
> to join a community.  The important question for the community, then, 
> is to define: What is Squeak?  By answering that, we can more 
> effectively promote that definition and encourage the appropriate 
> expectation.

You are speaking of the expectation failure of someone who used 3.6 in 
class, and later downloads 3.7 and finds that Wonderland doesn't work?  
This is a valid point; this we should strive to avoid this.

It's unfortunate that this bug slipped through, especially since it was 
an easy one to forsee and prevent.  However, 3.7 had a long release 
cycle, and there was plenty of time for Wonderland users to notice this 
extremely obvious bug before the final version was released.  Perhaps 
the SCG folks should have caught this error, but since they didn't, 
someone who cares about Wonderland should have.

> I'm biased here, but I think that one of the ways that people discover 
> Squeak is through the OOPSLA paper by Dan et al. and the White and 
> NuBlue books.  We certainly don't want to let EVERYTHING in those 
> publications define Squeak -- that would completely limit the 
> community's ability to change.  But I do think that the NuBlue book's 
> title, "Squeak: Open Personal Computing and Multimedia" is a pretty 
> good definition, and one that the other publications agree with.  
> Squeak is about open personal computing and multimedia.
>
> That's what concerns me about the current process in Squeak -- it's 
> setting aside the personal computing and multimedia aspects (for now 
> -- I do understand that) in favor of improving the underlying base.  I 
> understand that current members of the community consider those 
> "goodies" (such as Wonderland and eToys) to be "hacks," but those 
> "hacks" brought in many people to Squeak.

Very true.

> I do appreciate what Stef and the Berne group have brought to Squeak, 
> and I think that the environment that they propose for 3.9 sounds like 
> an exciting one to work in.  But here's my suggestion: It's not 
> Squeak, at least not as it has been defined and communicated in the 
> past.  When the base is improved and the personal computing & 
> multimedia "goodies" are ported back (if they are), then it might be 
> Squeak again.  But as Marcus points out, that will only happen of the 
> multimedia developers are still around then, and they might not be 
> during the interim -- it's not clear that people interested mostly at 
> the level of the base image are the same kind of people who want to 
> build things like eToys and Wonderland.

You seem to be equating people who are primarily concerned with 
improving the system kernel to people who are interested in developing 
on an improved base system.  The former group is probably not 
interested in building multimedia apps.  However, many multimedia 
developers (myself included) fall in the latter group.  There have been 
many times I've wished for Traits, and had to use a less elegant design 
to fit with in the constraints of a single-inheritance hierarchy.  And 
what multimedia developer wouldn't want Squeak running on a JIT 
compiler?

> I make two concrete proposals -- they're alternatives:
> A. Call the new thing something else.  Let "Squeak" end at Version 3.7 
> or 3.8, unless someone wants to continue it as a tool for personal 
> computing and multimedia.  Don't let the expectations of "Squeak" 
> limit where the current community wants to go.  Use the new name to 
> attract new attention (maybe get Slashdot to notice?) and to signify a 
> new set of emphases.
> B. Or, call the 3.9 version "Squeak 4.0," and make it clear that there 
> is no promise of compatibility or multimedia features across the 
> boundary from 3.X->4.0.  Say that clearly on the Website, and make the 
> final 3.x version forever available.  If people want "personal 
> computing and multimedia," they can download the final 3.x.  If they 
> want the coolest open source Smalltalk on the planet, with the base 
> hooks to grow one's own personal computing and multimedia (like the 
> really interesting eToy/Wonderland substitute whose URL Marcus sent 
> around), then let them grab the latest 4.x version.

I understand where you're coming from, but this seems a bit of an 
extreme reaction to a bug in Wonderland that required a 1-line fix (or 
are there other multimedia features of Squeak that are also broken?).

Squeak has the potential to reach many millions, or even billions of 
people, but not if gratuitously forked.  If there were deep 
architectural changes that made it difficult to "port" the multimedia 
apps forward, then I might be in favor of either one of your proposals. 
  However, it seems that the required fixes are very small and easy.

> If a day comes when the "goodies" get folded back in, maybe we can 
> re-merge.  But nobody should hold their breath waiting for it.  The 
> Georgia Tech group and Andreas' Croquet group can decide which 
> version(s) they want to develop from, and perhaps fork if they want.  
> (FYI, the "Scratch" project at the MIT Media Lab is building on Squeak 
> 2.7 -- the forks are already happening, so we might as well be honest 
> about it and stop battling over the name.)

Noting that forks are already happening is not an argument for further 
forks.  As Stephane has repeatedly said, it would have been less work 
to fork off his own version to support his research, but he instead 
wanted to allow the broader community to be able to use the SCG's work. 
  Forking is the easier path when you are pursuing a research agenda.  
It takes more effort to integrate the best of everyone's work into a 
single system, but the synergistic effects are potentially far greater.

> But by making a clear break with the past, Stef and the Berne group 
> have a freehand to take the base image in the directions that they 
> want, and people who come to Squeak with the "personal computing and 
> multimedia" expectation can make a choice.

Isn't that what the Squeakland image is for?  That seems to be where 
much of the development in that area goes on.

Joshua


> Mark
> __________
> Mark Guzdial : Georgia Tech : College of Computing/GVU
> Atlanta, GA 30332-0280
> Collaborative Software Lab, http://coweb.cc.gatech.edu/csl
> http://www.cc.gatech.edu/~mark.guzdial/
>
>




More information about the Squeak-dev mailing list