The state of the Squeak community (long, ranty)

Blake blake at
Thu Jan 19 12:23:04 UTC 2006

On Thu, 19 Jan 2006 03:12:26 -0800, Martin Wirblat <sql.mawi at>  

> He is arbitrarily cementing the rule that

Congratulations on using the word "cement" in the context of Squeak  
without cracking a smile.<s>

> there is a release team that is free to completely ignore any opinions  
> about what becomes the next Squeak release. This rule in itself is  
> nonsense.

Welcome to Open Source. This is the de facto state of affairs for any open  
source project.

People can debate or they can work. They can't do both. To the extent that  
they try, the work will suffer. No work = no product = no community.  
Half-implementations are useless to everyone.

> Can this whole thing be called community with such a rule?

Ultimately, someone has to make a decision. This means being "free to  
completely ignore any opinions" in opposition to that decision. Of course,  
a community accretes or attrits based on whether those decisions are  
useful or interesting.

> In this special case of 3.9 Stephane tries to change the language  
> according to his personal views. Does it make sense to shield him  
> against any criticism by defining that he is free to completely ignore  
> what others think?

You are using the word "others" imprecisely. When you say "free to  
completely ignore what others thing", you make it sound as if Stephane  
were some rogue coder, heeding no one in his reckless charge to make  
Squeak his personal mad-scientist laboratory. But, of course, Stephane has  
a lot of support from "others". If he didn't, traits would have to be so  
perfectly transparent no work would need to be done by anyone other than  
Stephane to implement them, and he'd then have to force them into the  
official Squeak release, which no one has the authority to do autonomously.

What you really mean, however, is that he is free to ignore =some= others.  
In particular, you, and those who agree with you.

> And there have been skeptical opinions from important persons of this  
> community which is on the brink to break into two parts right now.

I don't understand the source of the illusion that there is a single  
Squeak community, or that breaking into parts is necessarily undesirable.

> One idea to solve this problem was to have a *small* core Squeak and  
> building on that special distributions or "flavors".

But that in itself is a major project. More than one, actually. Nothing  
prevents you from doing this or joining one of the many teams that are  
working on this.

> This way a contradiction between Traits and Tweak, which apparently  
> exists - be it temporarily, practically or whatsoever, could be  
> circumvented.

A contradiction seems unlikely. A conflict--many conflicts--seem  

> We could have Squeak-Core and on top of that Squeak-Traits and  
> Squeak-Tweak, which of course does not exclude a merge or redistribution  
> at a later time.

Sounds great! When will it be ready? Tongue-in-cheek, of course, but if  
"the community" supports your vision, and that community contains people  
who are actually willing to work, then implementing your vision should be  
no problem, right?

> Anyway, a little common sense should tell everyone that it is sensible  
> to try a language change over a longer period of time than just a few  
> month.

Traits have been a prototype since--I don't know how long. Over a year,  
for sure.

I disagree with your "common sense", though. Gradual language changes (I'm  
not even sure how that would work with traits, frankly) tend to result in  
kludges, fragile code, and code that rots quickly. I'm only going by  
practical examples, here, like the introduction of objects to 3GLs, which  
started with a bunch of function tables (in some cases). Or some languages  
that adopted exception handling slowly. Or some of the weird morphings of  
the database-based languages. Basically, situations where expedience and  
not scaring people were the #1 priorities.

It's often best to make a clean, brutal break (and calling "traits" a  
brutal change is a stretch).

> This prolonged trial period and of course the freedom of choice would be  
> served nicely by this release model.

I dunno. It seems like you've stepped out the concrete to offer a solution  
which sounds perfectly reasonable, but lacks detail, implementors, and  
requires people to divert their energies in the name of your freedom of  
choice (which, it should be pointed out, is already absolute).

> Well, my strong impression is, that Stephane tries to prohibit exactly  
> this and Cees seems to support him.

I've never sensed any serious quashing of debate on this list (which is  
why we're so free to have the same discussions over and over again>s?).  
The only thing that comes close--and it doesn't come close at all,  
really--is when someone who's itching to make some actual progress (rather  
than hash out a 100% consensus) says, "Let's stop talking and get down to  

Ultimately, all we have is theory until the work is done. I'd rather see a  
release of Tweak and Traits that conflicted than not to see either due to  
fear, uncertainty and doubt. Conflicts can be resolved. Hypotheticals  

Well, this turned out to be more of a rant than I planned, but it seems  
like your complaint is ill-timed, considering the team reports, the  
voting, etc. It seems to me that work is getting done, which is a good  
thing, and not a given.

Mistakes will be made. Not a good thing, and unfortunately, a given.

More information about the Squeak-dev mailing list