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]

Reply via email to