Robert Greig wrote:
2008/10/8 Aidan Skinner <[EMAIL PROTECTED]>:

It implies that the API is immature, which it is. The only stable API that
I'm aware of Qpid having is the JMS one. Everything else has a tendancy to
change / be completely rewritten between versions.

This highlights the insanity (in my view) of basing an API on the
protocol. I have already made my position on this clear in the past so
I won't labour the point!

In general, I think people expect API compatibility within major
versions. We would need an API migration plan for non-major releases
too - perhaps some backwards compatibility but with deprecation.

I think that many people view the version number as an indication of
maturity. API compatibility is just *expected* from any professional
organisation that has any understanding of enterprise requirements.

RG

Note sure everything changes between version is correct, more like changed a lot from first cut of something until it has been around a while. The API between M3 and M4 C++ are the same, same goes for Python, JMS is JMS. The new classes that where just added for HA don't break any of the existing classes and there is a thin layer in the client to protect against API thrashing. I think the exception is WCF added for M4. Yes I know we can do more on the APIs & as developers we always
want to keep things open to change but...

I expect that we would NOT be altering the API much between releases, and when we do we provide compatibility. I know we where not in this mode in M1 timeframe but my view is that we need to be now.

Or put another way, if someone created a new client for perl, I would expect the API to change for a while, but then stabilize. There will always be something in Qpid that is new. It would be better to create a table and show users which APIs are considered stable, and not tar the everything with the
maturity level of new API's which are in minority in the project.

Carl.

Reply via email to