Factoring Squeak 3.4+ into Packages
Last updated at 12:56 am UTC on 17 January 2006
Posted by bkv on 3/6/2003
Right now ( just after the 3.4 release, in March 2003 ) there are a bunch of "packages" in the image that are not yet factored out into SqueakMap packages. Instead they are just all logical groupings of classes in the image. See 3.4 Packages.
Once we define the boundaries for the packages internal to Squeak 3.4+, we need to assign Stewards for Packages. ( See Steward ).
For the Guide to modularizing the image, see
http://swiki.squeakfoundation.org/squeakfoundation/77 and all of it's linked information.
In defining package boundaries, it is probably helpful to think in terms of image size and functionality, as Dan Ingalls describes in a post to the Squeak Mailing Lists on 3/5/2003):
Mini.image, on the servers, is not much over 500k and includes a full development environment. Since it can reconstruct and browse over 800k of source code by decompilation, we used to boast that it was like source code compression with a full-featured development environment thrown in for free. The other small image I built is called tiny.image. I think it's on some server, but I've had trouble finding the VM that works with it. Anyway, it was 136k, and it included just enough graphics and text to put up a transcript, and just enough other stuff (numbers, collections, strings, streams, files, compiler) so it could do a fileIn.
Goran Krampe Well, these things are being debated so different interpretations are abundant - but a "core package" has been used as a term for the parts of Squeak that make up Squeak. You know - like the standard classes in Java. This doesn't mean that they are the minimal needed to run Squeak. IMO Morphic is core, but obviously not needed when running headless, so it is not among the "minimal" classes. The single important aspect of core packages compared to "other" packages out there is that they belong to the community in some sense. Shared code.
Cees de Groot: I propose 'kernel' for the 135k that comprises something that can bootstrap; 'core' for the minimal development environment; 'base' for basically what we now call Squeak - a rich multimedia environment.
DanielVainsencher: Make sure to integrate with the SqF Swiki stuff on the similar subjects, and also the other minnow pages on how to contribute (how to submit fixes and so forth). Mostly separate the issues of stewardship and factoring the image. They are indeed tightly linked, but it doesn't have to be the same person doing both.
Doug Way: This page on the SqF swiki covers roughly the same subject: http://swiki.squeakfoundation.org/squeakfoundation/77