Need to do something

Andreas Raab andreas.raab at gmx.de
Wed Oct 12 17:20:01 UTC 2005


Chris Muller wrote:
> To repeat the question:  Is there a solution that can direct the energy we have
> in abundance (people creating things and "improving" existing things) toward
> the tasks that currently consume a the energy of a select few (harvesting these
> creations and improvements) in a way that gives us everything we have now
> (community discussion, review, testing, etc.).

Yes, there is a solution: Stop bottle-necking the process. The problem 
is one of scaling. First, if you look around you'll notice that there 
are many parts of the larger Squeak universe, where "harvesting" works 
just fine. We only have a problem because two guys are essentially 
responsible for the entirety of Squeak (some three dozen packages?). 
This causes endless problems, not only because it's too much of an 
effort for any single person to steward an entire system in their spare 
time but also because no single person can have sufficient experience in 
each individual area to make good decisions.

The alternative: Hand out responsibilities for packages. Look at 
VMMaker, SqueakMap, Seaside, Monticello, ToolBuilder, you name it. These 
all work well and Stefane and Marcus don't have to spend any time 
whatsoever on them. So if you find a few people with vested interest in 
an area you'll see that suddenly you're cutting out a whole area of work 
for the likes of Stefane and Marcus (who in turn can concentrate on 
those packages that they have a vested interest in).

The trouble is that the current setup goes squarely against the whole 
idea of giving people responsibility. As a matter of fact, I think that 
the current working style actively stands in the way of making any 
progress here. First, since a long time back (3.4? 3.5?) nothing has 
been actually been packagized in Squeak. Oh yes, there has been *talk* 
about "how easy it would be" (hah!) but nothing has been done (and I put 
this finger squarely at whatever group feels itself at the helm today: 
all these groups failed *miserably* in this regard).

Secondly, by posting package versions in their private 3.9a repositories 
   for packages that are maintained externally, the committers of the 
day are actually *competing* with independent package development. This 
is a total no-no if you take responsibility seriously - if you want 
people to feel involved then their code is none of your damn business 
(unless you're part of the team) and you better respect it[*]. The only 
reason for doing any such thing would be because of an irresponsible 
maintainer who threatens a release.

[*] As a matter of fact that is one of the main reason that stopped me 
to do anything for this community - if people who have no idea of the 
subject matter start "beautifying" my code so that it looks better to 
their swollen eyes, then I'm out. I *know* when I'm using a pattern like 
"foo == nil" instead of "foo ifNil:" and I expect you to respect my 
preferences if I want to emphasize a particular aspect in the code. Just 
looking over what people have done to my code in the chess game makes me 
want to barf - not one person who has touched it has had any idea 
whatsoever how the thing works; yet they feel utterly qualified to 
rewrite and reformat code they don't even understand. Bah!

> My lame, hypothetical implementation dream that followed was meant only to
> provide an illustrative context for this different social approach than what we
> have now; i.e., distributed harvestation vs. centralized and what are the
> implications?

You are absolutely right! But decentralized harvesting happens because 
you have responsible maintainers. We need a stronger sense of code 
ownership, we need a stronger sense of package ownership. 
Well-maintained packages simply don't have a "harvesting problem" the 
whole term is synonym for a major problem in the overall Squeak 
community setup.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list