Chris Darroch wrote:
Samisa Abeysinghe wrote:
So I would like to propose that we release 1.0 with current set of
features and look to stabilize the current code base before we release
1.0 as much as possible.
I think we should be able to do this release in one months time.
I fear I'm rather swamped in work for the next few months, but
I hope to review the codebase before the 1.0 release.
I do have a related issue, though, that I think is worth
discussing before such a release, and that's what the versioning
scheme and rules should be for the project. I'd think these
need to be nailed down more or less in stone prior to a 1.x
or 1.x.x major release.
Users should understand what kinds of guarantees are being made
with regard to future compatibility, since we expect them to develop
third-party service modules. They should certainly not have to
rewrite or recompile these modules if they upgrade their Axis2/C
installation to pick up a security bug fix, for example.
So, with what versions is it acceptable for Axis2/C to break
compatibility with previous versions? How should the versioning
scheme indicate such transitions? What about patch releases to
fix security bugs; can these change the API or ABI at all? And
so forth.
As a C project, I would suggest that it might make sense for Axis2/C
to follow the lead of other major Apache C projects, such as APR and
httpd. These two have fairly detailed versioning guidelines and
requirements, especially in relation to the promise of stable APIs
and ABIs, compile-time options, etc.:
http://apr.apache.org/versioning.html
http://svn.apache.org/viewvc/httpd/httpd/trunk/VERSIONING?view=markup
+1. It would take some effort to make the binary compatibility to get
going. I have dropped the ops in many of the structs but a few remains.
I hope we can adopt the above guidelines as they are to our project.
I wild look into the above and see what else we need to do in order to
adhere to the version guidelines.
Axis2/C also installs a lot of libraries, and as such, I'd suggest
that it follow the same guidelines that APR does, with respect to
parallel installation and library naming:
http://www106.pair.com/rhp/parallel.html
Such a scheme allows, for example, a libwoden-2.so from a future
Axis2/C installation to be installed alongside a libwoden-1.so
from a previous installation.
+1. We would need to re-visit our build system for this. But yes it is
worth the effort.
Samisa...
One interesting issue is that Axis2/C is contains both applications,
like httpd, and libraries, like APR. It also contains a number of
related sub-projects. It allows for third-party service modules to be
written against its API, like httpd. And it may compile its own
"third-party" modules (e.g., mod_axis2) for use with httpd.
These complexities probably mean that we need to develop a fairly
comprehensive set of versioning rules, and possibly make some
changes to the installation process (e.g., to follow the parallel
installation guidelines above) prior to announcing a 1.0 or 1.0.0
stable release.
Chris.
--
Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services
Developers' Portal)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]