Hannes raised an important question - where does time pressure come from?
He also raised another important question - why didn't we meet our stated goals?
I think these are important enough, they deserve answering, not arguing about them.
Time pressure comes from the nature and purpose of releases. One can say that any image at all of Squeak, with any combinations of changesets loaded, is a version of Squeak. What separates a release from any other version is that it's visible. All of it's natural and most important qualities come simply from that: it's rarity causes it to be visible.
It's important to remember that people measure the quality of an implementation mostly by it's releases - not by fixes/packages that can be loaded, because probably no two pair of people will apply the same ones. This is meant to change when we have configurations, but that's the way it is now.
What that means, is that right now, people measure us by 3.2. Most everyone on the list knows of SM, and loaded it for their 3.2, or just uses 3.4, which is nicely stable enough to load anything that doesn't touch the core as Island or Traits do. So we don't suffer much from the delay of this release. Or rather, not directly. Because newbies surely do. To newbies, loading anything into Squeak is still quite complicated, and the first thing they're likely to be told is not to use the official release, but a development release.
That's a sign of a project that's not releasing often enough. If your production and your development are very different, you stop feeling the pains of the production, and you stop being aware of what your product is like, and you focus on the wrong things.
If we have bugs (and we have more than just those handful that were mentioned), the solution isn't to delay the release, it is to have SUnit tests, use them, and keep them green. Think longer term - it's not about making a perfect release - that'll always be a good excuse to delay a little more. It's about having many releases, at quite frequent, predictable intervals, that are getting better and better, and keeping production and development close. That'll give us long term properties that will keep Squeak getting better.
And no, I don't promise to never break anything that's worked before. First, nobody's ever promised that, neither the previous regime, nor any other maintainer except maybe Knuth. Second, the main technical benefit of an open source project is parallelized testing/debugging. But that is completely dependent on people actually doing it. Third, to promise strictly monotone-improving releases, I'd need SUnit tests with every change that gets submitted. Hmm :-)
Now, why didn't all of the refactorings get in? well, there's a page on squeakfoundation swiki, devoted to the status of the intended refactorings. They're almost all done and waiting for (come on, I'm sure you know - ) testing. When people want to see them get in, they'll start testing, and as soon as people tell their authors that they load, or they don't load, or there's this problem or that or it's all very nice, we can actually do the work of clearing them to get in the image. In 3.5, of course.
Why didn't we meet our goals? because the goals we stated and the actions of the wider community were not in line. I'm not shocked - this is a community, not an army unit. Also, the new "regime" is pretty new, so us and said community are still getting used to each other. Having alot of these releases, a time when emotions run high and soul searching is popular, will make the adaptation go faster.
Daniel
Hannes Hirzel hannes.hirzel.squeaklist@bluewin.ch wrote:
Roel Wuyts roel.wuyts@iam.unibe.ch wrote:
Somebody needs to decide what is a release and what's get in there, and it was decided that these were the Guides. I trust them to do an excellent job at this, that is why they are responsible. I can imagine that there is some 'bigger plan' for which they want to have this release. The question for me is: 'what is this bigger plan'. If it is only that it was promised to have a new release by a certain time, then I agree with you that we can wait. But I guess the plan for 3.4 was to have SM up and running, and that is also important to get out so that everybody can enjoy it.
Yes, adding SM and not breaking existing things.
<citation> 3.4 -- The main purpose of this release is to create an up to date, viable version, that's a good starting point to making Squeak more modular and it's development more decentralized.
Changes:
- Includes non-modules related updates from 3.3a, including the dynamic
filelist services refactoring.
- An option to load the SqueakMap package catalog and the base Package
Loader from the net.
- A dynamic open menu so packages can now register there and become
first class applications.
- Refactorings making various parts of the image easily removable. See
Modularizing the Squeak image for the plan and status.
- Various other fixes have been included.
Release is tentatively set to end of 2002.
</citation>
Regarding "Refactoring making various packages easily removable":
There is just Balloon3DRemoval and GamesRemoval. I do not consider this goal is met.
And breaking an important thing and not including the fix is surely not good stewardship as well.
Again: Where does this time pressure at the expense of quality come from?
Cheers Hannes _______________________________________________ Squeakfoundation mailing list Squeakfoundation@lists.squeakfoundation.org http://lists.squeakfoundation.org/listinfo/squeakfoundation