Hi all,

We are getting to the point of wanting to do an initial release of the
new AMQP 1.0 JMS client, which raises some items for discussion.

The quick summary of an email that got quite long is: How do we
version it? What do we name it? How do we handle the overlap with the
older AMQP 1.0 JMS client?


We have yet to begin publishing snapshots but this is something I
would like to do soon, once we have a better idea around some of these
items, so that people can test with it more easily before/between
releases.

At the moment the version number is 0.1[-SNAPSHOT], to be followed by
0.2 etc until we think there is sufficient maturity to go 1.0
(sidenote: not years :P). The initial focus has been on implementing
the JMS 1.1 API for now so change will come once we begin implementing
the JMS 2.0 API, which could also be when we bump to 2.0 for the
client itself if we hadn't already for other reasons. I envisage us
doing releases more frequently than our existing components have
tended to and expect we will do small point releases eventually, so I
think it probably makes sense to use 0.1.0 etc from the start (or even
0.0.1 to underscore its the initial release). We could consider adding
alpha/beta etc status, however we would then have to contend with the
version ordering disparities between e.g Maven and OSGi by crafting
some horrible release versions (including the final versions), and I'm
not much of a fan of publishing those to central.

Next up is the name. The new client has thus far been called simply
'Qpid JMS', with module names qpid-jms-foo, and binary tar
apache-qpid-jms[-bin]. We already release two other JMS clients, the
original AMQP 0-x one, module named qpid-client, and the older AMQP
1.0 one, module named qpid-amqp-1-0-jms-client. Although the new
clients name describes what it is, and the version numbers will differ
from the previous clients, do people think this is enough difference?
I think it is still going to be confusing for people no matter what we
do here, but should we perhaps give the new client a component name to
allow them more easily distinguished, i.e a name of the style Qpid Foo
or Qpid FooJMS? If so, any ideas (failing spectacularly over here)?

As mentioned, we already release the older AMQP 1.0 JMS client, which
raises some points for how we handle the overlap. We will obviously
continue to release it for some period, until we presumably drop back
to just having two JMS client again in form of the original 0-x client
and the new 1.0 client once it has matured a bit. Currently the older
1.0 client is released along with the other components in the 'java
tree', such as the Java broker and the AMQP 0-x JMS client. We have
spoken about reorganising the source tree after 0.32 to better
facilitate independent releases of components. I did wonder if this
would also be an opportunity to make the older 1.0 client released
independently from e.g the broker and 0-x client, as it could then be
released more on-demand rather than on-schedule as presently. On the
other hand, this might make the naming thing more confusing since it
wouldn't simply be part of the 'java release' any longer and would
stand alone just like the new client, in which case leaving it part of
the 'java release' may actually be the simpler option.

Thoughts?

Robbie

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to