Shrinking sucks!

Cees de Groot cg at cdegroot.com
Fri Feb 4 01:53:22 UTC 2005


I've been busy shrinking a 3.6(wx) image today. What a mess.

My definitive, permanent, and irreversible conclusion is that writing  
package unloading/shrinking methods is probably even a more senseless  
activity than clubbing seals or writing Java code.

I think that this is a very wrong way for moving towards a more managebly  
sized image. The community will probably take a couple of years to write,  
and maintain, package unload/discard methods (because the targets will be  
constantly changing - try any Removal method from SqueakMap and you'll see  
what I mean), and when there's a small image, at last, all that work can  
be, err, discarded. What a waste.

My suggestion for whatever version comes next:
- Take an existing 2Mb or so image (Edgar De Cleene has a 5429 image that  
includes MVC, tools, networking);
- Read the update stream since the image was made and filter out  
everything that doesn't apply to that image;
- Apply the rest;
- Publish what was applied and what not for review;
- Publish, test, and call that 3.x core.
- Have some people pledge to build distributions based on that image. I  
will happily work towards building a wxSqueak and a Seaside distro.
- Take it from there.

Personally, I fear that trying to strip something that doesn't want to be  
stripped will take a lot of time, waste a lot of energy, raise a lot of  
frustration, and will not have a better end result than following the  
route I propose above. That route will hurt a lot initially and will  
require a lot of politics etcetera to keep teams from forking based on the  
old stuff (but at the moment, risks that people will fork out of  
frustration are just as big). But that will be done in maybe 6 months and  
then we can direct our energy towards actually doing useful stuff (better  
dependencies, universes, bringing in Traits, and for some die-hard 'Core  
Squeak' believers, tearing down even that 2Mb image).



More information about the Squeak-dev mailing list