Let's build package universes as part of our main release cycle. It's easy to do, now that the package universes toolset is all together, and it provides an important artifact both for newbies, and for people who want to build something *in* Squeak. It also gives us a mechanism for building really stable Squeak's, should enough people ever be interested in trying to make that happen.
Specifically, I am proposing:
1. Whenever we make a release, we make the standard basic and full images be based on universes, just like in this 3.7u1 image I announced in the previous email. These are the images a user should download by default. 2. We should have a standard development universe at all times. Developers who want their package to be in the standard public set of packages, should post entries to this universe just like they post to SqueakMap right now. 2b. If we want to get fancy, we can have a "freeze" period near the end of each release, where the only updates allowed to the dev universe are for bug fixes. 3. It is considered a bug for entries in the current development universe to not load properly. If such bugs persist until a release is about to happen, the offending package is removed from the universe.
These are easy things to do. I ought to have enough time to produce the universized images, so don't worry about that. The rest of the Squeak developers simply need to post their packages to the current development universe. That's easy: install universes from SqueakMap, open a Universes Editor, create an account, and post your package. The instructions are on the Swiki page (linked below).
Package universes address a big problem we are having regarding version skew. People who simply build on top of Squeak, want to have a stable basis to work from. Further, I'm itching like heck from hearing people whine about version skew, and from running into it in practice. Debian has 8000+ packages and 900+ developers, and they routinely produce stable releases where all the most critical bugs have been fixed, all the packages are loadable, and (at worst) the truly messed up packages have been removed as standard install options. Package universes let us follow something like their process, and accomplish the same thing.
Along these lines, I believe they address Peter's concerns about every package changing the base system and thus being incompatible with each other. With a universes mindset, it is considered a bug for two packages to interfere in this way, and if the bug doesn't get fixed, eventually one of the two packages must be removed from the universe.
Package universes also address our small problem of package dependencies. It's kinda nice to just click on Chuck and say "install" and it happens. With our current setup, you have to install several pre-reqs before installing Chuck will work, and you have to carefully read the package descriptions to see.
For the record, I don't care whether we use my universes toolset to accomplish all this. In fact, I started this discussion half a year ago by saying I think that SqueakMap should have multiple maps--one map per package universe. If an alternative toolset comes along that does the same thing, I am happy to pass the baton and see that toolset used instead. I don't even really have time to work much on this, and am simply doing it because I think it's extremely important. In the meantime, of course, let's use the tools we have.
LINKS
"Package Universes" http://minnow.cc.gatech.edu/squeak/3785
"The Future of SM" thread which started all this: http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-July/080007.html http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-July/080190.html
the original universes announcement: http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-July/080585.html
-Lex
On Sun, Jan 30, 2005 at 05:33:14PM -0500, Lex Spoon wrote:
Let's build package universes as part of our main release cycle. It's easy to do, now that the package universes toolset is all together, and it provides an important artifact both for newbies, and for people who want to build something *in* Squeak. It also gives us a mechanism for building really stable Squeak's, should enough people ever be interested in trying to make that happen.
Bravo!
After wading through all the recent complaining on the list, it's great to see a constructive solution.
Dave
On Mon, 31 Jan 2005 18:43:36 -0500, David T. Lewis lewis@mail.msen.com wrote:
On Sun, Jan 30, 2005 at 05:33:14PM -0500, Lex Spoon wrote:
Let's build package universes as part of our main release cycle. It's easy to do, now that the package universes toolset is all together, and it provides an important artifact both for newbies, and for people who want to build something *in* Squeak. It also gives us a mechanism for building really stable Squeak's, should enough people ever be interested in trying to make that happen.
Bravo!
After wading through all the recent complaining on the list, it's great to see a constructive solution.
Dave
Seconded. And having used it, I'm much pleased: It's a much better experience than packages in vanilla Squeak 3.7. The only thing I would add is categorized packages.
squeak-dev@lists.squeakfoundation.org