Stefan brings up the question of whether we want to release sub-modules
of Geronimo separately. I think this is a good idea and would propose
the following restructure of the tree to move in this direction.
Rather than "trunk" in the root, we have three separate trees:
stable similar to even-numbered versions of Linux, this tree
would contain stable code intended for production use
and operates with a focus on stability (i.e. well
documented stable APIs, backward compatibility, no
SNAPSHOT dependencies etc.)
There will be multiple branches as needed.
unstable similar to odd-numbered versions this is where new
development is done and APIs etc. are much more
likely to change. We may still do releases from here
but they are quite likely to be incompatible; it may
be all we package from here are nightlies.
sandbox as now, a free-for-all area for trying out new ideas
and experimenting with new technologies
Given the size of the codebase, we need to preserve the module structure
that we have in the current trunk. However, even now some modules are
more stable than others (e.g. the transaction and connector ones Thierry
is looking to use) and I think are in a position where they can be
versioned separately.
With the structure above in place, we can move modules into the stable
or unstable trees as appropriate. For those that we consider stable
(e.g. transaction) we can cut numbered releases that people can use
standalone.
This will also speed the unstable build as we won't need to check
SNAPSHOTs for everything all the time.
I would suggest we start on this as part of packaging for M4 and would
be willing to co-ordinate.
--
Jeremy