Priorities for 6.10
Claus Reinke
claus.reinke at talk21.com
Mon Jul 21 09:59:47 EDT 2008
> GNOME has managed to do this. They have regular 6 month time based
> releases. Everyone knows in advance when the releases will be so nobody
> complains that it should happen sooner (unless they get behind
> schedule). They've managed to make the release process so smooth it's
> almost boring. No fireworks or gnashing of teeth. On the other hand they
> do manage to push out new features to users every 6 months (not
> necessarily from Gtk+ in every release but from many of the other
> components of the platform). They also deliver compatible minor updates
> every few months in between major releases.
In case you hadn't noticed, the 6-monthly HC&A reports have
managed to introduce such a release cycle;-) It just so happens
that GHC HQ has been much better at targetting the deadlines
than general libary authors. There is always at least one release
candidate cycle for every GHC release, so library authors
could check their libraries long before GHC is released.
Currently, what seems to happen is (lack of humour not marked):
- GHC HQ targets HC&A report dates, with release candidates
well in time beforehand
- extra-libs get some testing by way of being in HEAD/STABLE
buildbots
- many other library authors don't do release candidate testing
(not being aware of GHC RCs, or having more pressing priorities)
- GHC x.1 comes out
- users install GHC x.1
- libraries break
- libraries get fixed, GHC bugs get raised
- GHC bugs get fixed, GHC x.2 comes out
- things settle down
It would indeed make sense to have HLP releases driving, though
most readers of this list tend to have needs forcing them to go with
unbuildable GHC HEAD instead of GHC releases!-)
Note also the splits that are being reinforced by the increasing and
increasingly pragmatically oriented Haskell community:
1 Haskell beginner: wants a complete working system, no advanced
stuff, but simple versions of tricky things like GUI and web libs
2 Haskell programmer: wants a complete working system, batteries
included, but is willing/able to add specialist stuff from hackage;
which might be broken
3 Haskell application/library user: wants to be able to use something
specific, has to use the GHC version that is able to compile that
something; if a library/application they need depends on GADTs/TFs/
etc, they have to install the GHC version that supports that; which
might break other libraries
4 Haskell advanced application/library developers: needs the newest
GHC features to make their jobs feasable; install/build from
darcs/hackage/whatever, but don't like interruptions due to
unnecessary breakage; in particular, need to be able to point
their users to snapshots that cope with their apps/libs
5 Haskell developer: works on unpublished branches of darcs HEAD,
or develops/maintains/revamps darcs HEAD
6 Haskell designer: thinks/writes about extensions that might become
branches of darcs HEAD
The splitting is likely to continue as the Haskell community keeps
growing. Currently, HLP might try to target the first two categories,
and the last three are used to struggling on, but that leaves the third
group in limbo. You can't serve everybody, I guess, not if you want
to make progress for the majority, but it might help to recall that there
are more kinds of Haskellers than one might think about at first sight.
|Yes! I couldn't have put it better, this is exactly the direction I think
|we should move in. Rather than a GHC release being the point at which
|everyone upgrades, the platform takes over that role, and the platform
|release engineers start from a particular GHC release (perhaps not even the
|most recent, if the timescales are too tight) when putting together a
|platform release.
The Squeak-ers (Smalltalk with its image-based model) have release teams
trying to decide what goes in and pulling everything into a coherent image
for each release. They have also been re-discovering the need for standardised
package distribution models beyond monolithic images recently
|This way we'll have a much more satisfying user experience than when 6.8.1
|was released with large tracts of Hackage unusable.
Will there be buildbots, and a buildbot report and release cycle discussion
list for HLP, to help raise the standards of HLP beyond hackage toward
that of extralibs?
Also, if GHC keeps in sync with HC&A, will HLP be out of sync,
or lagging by a full six months? Or, if HLP is supposed to be driving,
should GHC target the midpoints between HC&A report dates?
Claus
More information about the Cvs-ghc
mailing list