Hannes raised an important question - where does time pressure come
He also raised another important question - why didn't we meet our
I think these are important enough, they deserve answering, not arguing
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.
Hannes Hirzel <***@bluewin.ch> wrote:
> 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.
> >From http://swiki.squeakfoundation.org/squeakfoundation/79
> 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.
> - 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.
> 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
> Squeakfoundation mailing list