Modularity agin

Andreas Raab andreas.raab at gmx.de
Tue Aug 8 09:28:30 UTC 2006


Marcus Denker wrote:
> On 07.08.2006, at 22:36, stéphane ducasse wrote:
>>>> We will try to remove what can be remove easily:
>>>>     FFI, Speech, Nebraska (sound I do not know),
>>>>     and declare that the mini image.
> 
> I vote against doing this so extremely late in beta. FFI is ok, it has 
> no dependencies. But I don't have the time and energy to do the rest in 
> 3.9.... alpha is alpha, beta is beta.
> There was a time when we could have done this easily (in alpha).

I have no problems with that decision. As a matter of fact, I find that 
removing packages that late in the game tends to have more of an alibi 
function than real impact.

> But it's so much easier to wait and then critizise... it's especially 
> good for getting people to invest time and have a great communit, I'm sure.

And what exactly does that mean? No criticism allowed during beta? ;-)

>>> That's not what I mean. I don't want to "declare" a mini image - 
>>> that's a pointless exercise if we start with the definition that a 
>>> mini image contains everything that we can't remove easily.
> 
> So this whole discussion started that you said we were actively 
> destroying the goal of modularising Squeak just by not releasing an 
> bigger and a small version...

You're getting overly paranoid. I said it's sad that it all looks as if 
we're back to One Image To Rule Them All (i.e., a kitchen-sink image) 
but nowhere I said anything about "actively destroying" anything.

> how is that different? 

It's greatly different. The difference is that adding useful packages to 
a tested and consistent base version defines a meaningful system in 
itself. Whereas removing things under the assumption "oh, let's see if 
that may work" is not. That is why I fundamentally agree with your 
statement that such removals should happen in alpha - because that means 
there is time to test and to make the base system consistent. In short: 
Adding new packages is mostly trivial - removing old ones is not. That 
is the difference.

> What Stef suggested would get you back what you wanted: A big and a 
> small version, I guess as kind of a symbolic statement, just like we 
> would have if we would do a "full" version that
> is 3.9 + vmmaker + yaxo + webbrowser.
> 
> And now you call it a "pointless exercise". Maybe it was not such a bad 
> idea to not to have "full" and "basic" for 3.9 as I suggested? I never 
> suggested to stop making the parts
> less dependend of each other, I only said that it makes no sense to ship 
> a "full" image for 3.9. You know, "pointless exercise".

You *are* getting overly paranoid. What I called a pointless exercise is 
to target an artifact with certain packages removed (a "mini" image) as 
the goal instead of a process. The mini-images that we have are such 
elaborate and -in terms of modularity- absolutely, completely, and 
utterly pointless exercises since not a single person in the world 
understands what needs to be done to get an image into such a "mini 
state" again. This is all an ad-hoc hackery of masterful dimensions, 
granted, but hackery nonetheless and because of the impossibility to 
repeat that process in any image of reasonably size I call it pointless 
for the purpose of making headway in terms of modularity. (these images 
are still useful artifacts if only to study certain aspects and get a 
feel for a ball-park range but that's about all that can be learned from 
it - for actually achieving modularity these images are useless)

>>> The whole point of making headway towards modularity is that step by 
>>> step we decrease dependencies. As such, removing the above is useful 
>>> if and only if it is seen as a stepping stone for the next version 
>>> (which will hopefully remove even more) not as an end-goal.
> 
> This was the idea: Work slowly, steadily towards it, as time allows.

Right. And I have no problems with that either but I'd like to see 
*some* tangible progress towards the goal. Like, for example, if only by 
not including new packages or at the very least to trade them, e.g., if 
you add a new one you've got to at least remove one of comparable size. 
The way things seem to progress now (like Edgar noted) it is that the 
current "basic" image (or whatever you call it) is *larger* than the 3.6 
full image. That's kinda sad, wouldn't you agree?

Cheers,
   - Andreas



More information about the Squeak-dev mailing list