We are starting a new work item in Equinox,
"Framework Layering". The aim of this work is to separate
out a fairly general purpose module layer out of the OSGi framework which
supports interface sharing by specification version, as defined in OSGi
R3, as well as class sharing by implementation version, as supported in
Eclipse 3.0. This separation allows for more flexibility in the use scenarios
for OSGi framework implementations. This layering is being discussed
in the OSGi Core Platform Expert Group and the intention is to feed the
practical experience gained in Equinox into the CPEG work.
The module layer will accommodate both
forms of sharing mentioned above as well as some other useful sharing techniques.
A key objective is to enable module reachability to be analysed so that
class loaders may be automatically wired together in a delegation network
so as to prevent certain varieties of class cast exceptions which are common
when more than one version of a given class are loaded in a single JVM.
To that end, we have two volunteers
to work in this area. Glyn Normington and Steve Poole. I am
proposing them to the community as Equinox committers. Since this
is a new area of work there really is not an existing body of code on which
Glyn and Steve can "prove themselves" in the normal contributor
way. It is however important that they be able to work freely and
efficiently in an Equinox branch dedicated to Framework Layering.
I have worked with Glyn over the past
year in this area and trust that his contributions will be both real and
significant. Please join me in voting +1 for making Glyn and Steve