Differences between revisions 22 and 23
Revision 22 as of 2009-07-13 01:59:49
Size: 10659
Comment:
Revision 23 as of 2009-09-20 22:49:07
Size: 10659
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

Web Services PMC Re-organization

This page exists to capture points of discussion and proposals regarding the Web Service PMC and how we should re-organize it in order to better serve the individual projects and the broader user community.

Points of Discussion

A "blackboard" for noting salient points in the discussion.

  • Transports are only ever used in an Axis2 environment.
  • Other projects (i.e. Abdera) use Axiom
  • Other projects (i.e. CXF) use XmlSchema (Tuscany uses Axis2, Rampart, Axiom, XmlSchema and Neethi)

  • Other projects also use WSS4J extensively (Spring WebServices, CXF, etc...)

Notes on XML Schema

While CXF (and and presumably Axis) depend on XmlSchema, the committer community is tiny. The combination of it with the other commons items doesn't help very much in achieving critical mass, since the subject matter is so disparate. Given the apparent push toward taking release votes more seriously, this is a matter of real concern. Maybe it can be addressed in the proposal(s) below by actively recruiting more interested parties to the relevant PMC. Or, maybe CXF would make a better home, insofar as there is active work at CXF that depends on ongoing maintenance and improvement of Xml Schema. Another possibility is Xerces. After all, W3C XML Schema is not uniquely, or even primarily, a web service technology. I had a recent discussion with the Xerces-dev community. Initially, the reaction was to express distress that XmlSchema had ever been invented, insofar as it was 'just another' package that solved problems addressed elsewhere. However, further exploration revealed that the code inside Xerces (not to mention stuff over at dev.java.net) doesn't address the same use cases as XmlSchema does. Thus, more discussion might come up with a plan to push XmlSchema in with the rest of ASF's XML universe.

Proposals

Concrete proposals here, with rationales. If you favor a particular proposal, add your name to the list next to it - and feel free to change your opinions as the discussion moves forward, this is NOT an official vote.

Leave it alone

This proposal is the simplest, as it simply states "everything is ok as it is and we should leave it that way". The implication here is that even though we are a large project and look like an "umbrella", we are still doing a good job of oversight and community management. Also, even though it might make organizational sense to reduce the number of subprojects, the reality is that a WS developer often needs to touch multiple subprojects (i.e. an Axis2 developer may need to work on Axiom, a Neethi developer might have to fix things in Axis2 after changes, etc). As such keeping them together might make sense.

  • ant: but merge some of the mailing lists with low trafic into shared lists like general@ws.apache.org so there is more oversight of commits/jiras/votes etc.

Supporters: * ant (with the changes in my comment above)

Split it #1

(NOTE: I edited this to reflect Dan's comment and also adding Rampart/Sandesha/Kandula to the Axis2 TLP --Glen)

Phase 1:

  • Promote Axis2 to a TLP containing Axis2 Java + C, Rampart, Sandesha, Kandula, and the transports.
  • Promote WS-Commons to a TLP containing at least Axiom, Neethi, XmlSchema, WSS4J, Woden

Phase 2:

  • Decide which if any of the remaining subprojects should be promoted, moved, or retired to the Attic.

Comments:

  • dkulp: Also add tcpmon to WS-Commons - seems to be fairly actively maintained. (At least I see a bunch of commits recently, which is a good thing)
  • veithen: I agree with the overall proposal, but I'm against keeping the name "WS-Commons" for the new TLP. The main reasons is that as noted below, Axiom and XmlSchema have potential for growth, but for this to happen, we need to make it clear to potential users that these projects are not strictly Web Service related, but have a larger scope. I like the proposal to brand this TLP as "Axiom" as proposed in "Split it #2", but of course my opinion is a bit biased. In addition, I would like to propose two new subprojects that would naturally fit into the new TLP, but which are also not strictly Web Service related:

    • I noticed that in the various WS related projects (Axis2, Synapse, CXF, etc.), there is lot of code implemented to satisfy specific needs when working with StAX (utility classes, XMLStreamReader/Writer wrappers, code that bridges between StAX and SAX/DOM, etc.). I think it would be a good idea to create a new project that centralizes this kind of code so that it can be reused across the different projects. The aim of the project would be to become _the_ place to look for StAX-related utilities and the focus would be on delivering code that is well documented, having a well-defined behavior and that is thoroughly tested. The project would also have the potential to increase the interaction between members of the different communities.
    • I'm not sure if that is reasonable, but it might be interesting to move (parts of) the ADB code out of Axis2 into a separate project, so that this databinding framework becomes available for use cases not related to Axis2 (or Web Services in general). If we can increase the user base of ADB, in the end this would also be beneficial for Axis2. Note that if we call the TLP "Axiom", then we even don't need to change the acronym...
  • dkulp: I'm completely opposed to calling it Axiom. Naming the entire TLP after one of the subprojects makes no sense to me. WSS4J and XmlSchema (and soon Neethi)(not sure about Woden) have absolutely no dependency on the Axiom stuff. Also, the name Axiom is way too tied to Axis2. CXF ships with one of the Axiom jars due to Abdera and we quite often have to deal with the "why do we need the axis stuff?" question. Also, the maven groupId's for the stuff is alread ws.commons. Thus, it makes sense to keep it that way from a purely maven standpoint. To put it another way, if the TLP is Axiom, what do we rename Axiom too to distinquish it from the other projects in the TLP that aren't at all related to Axiom?

    • veithen: Got your point. I prepared a different proposal (#4). Maybe we can get a consensus around this one?
  • dkulp: I do agree about a common place for the STaX stuff, but that place probably should be one of the Apache XML projects, not here.

Supporters:

  • dkulp (with the changes in my above comment)
  • gdaniels
  • dims
  • deepal
  • gawor
  • TomJ
  • bimargulies

Split it #2

  • Promote Axis2 to a TLP containing Axis2 Java + C, the transports, Neethi, and Kandula/Rampart/Sandesha.
  • Promote WS-Commons to a TLP containing at least Axiom, XmlSchema (tempted to suggest calling this TLP Axiom and rename XmlSchema to Apache Axiom XmlSchema)

Reasoning:

  • The Kandula/Rampart/Sandesha lists are sufficiently light that mixing the lists into one Axis2 community is practical (and promoting to TLP unlikely, and pushing to the attic extreme). [I totally agree, and have edited proposal #1 above to match --Glen]
  • Not proposing putting these back into the Axis2 builds... just combining the lists.
  • Neethi is primarily used by Axis2 and is a small codebase.
  • There's no reason that even if part of the Axis2 community, Neethi cannot be released on a different schedule if necessary.
  • Axiom and XmlSchema have scope for growth (community and code) outwith Axis2, and putting them in a branded TLP is the best chance of this.

Supporters:

Split it #3

Phase 1:

  • Promote Axis2 to a TLP containing Axis2 Java + C, Rampart, Sandesha, Kandula, and the transports.
  • Move WS-Commons into Axis2 TLP containing at least Axiom, Neethi, XmlSchema, WSS4J, Woden

Phase 2:

  • Decide which if any of the remaining subprojects should be promoted, moved, or retired to the Attic.

Supporters:

  • chinthaka

Split it #4

Phase 1:

  • Promote Axis2 to a TLP containing Axis2 Java + C, Rampart, Sandesha, Kandula, and the transports. (Same as proposals #1 and #3).
  • Promote WS-Commons to a TLP containing Neethi, WSS4J, Woden and tcpmon.
  • Promote Axiom to a TLP and position it as a general purpose, high performance XML processing framework allowing developers to combine the ease of use of an XML object model with the performance of pull-parsing based approaches.

Phase 2:

  • Decide which if any of the remaining subprojects should be promoted, moved, or retired to the Attic.

Rationale:

  • Among the existing projects in WS-Commons, Axiom has the highest potential for growth outside of the webservice community (simply because it has a much larger scope than the other projects). To leverage this potential and to avoid misconceptions such as Axiom = Axis stuff or Axiom = SOAP = Web Services, it is important to give it a brand that stresses its independence from Axis2 and Web services in general. Since the Apache XML project is being dismantled (as an umbrella project) and it wouldn't make much sense to establish it under the Xerces project (different communities, no dependencies, no historical ties), the best would be to promote it to a TLP. The activity within the Axiom project is comparable to other XML related TLPs and it certainly has enough critical mass and maturity to become a TLP. The fact that other Apache projects depend on Axiom in a critical way will help ensuring its continuity on the longer term.
  • Limiting the WS-Commons project to Neethi, WSS4J, Woden and tcpmon gives this project a clearly defined scope: it will contain tools and (low-level) frameworks shared by different Web service stacks. Also cutting the remaining ties to Axis (by leaving Axiom out) will make it easier to achieve consensus among people from the different communities (see dkulp's comments above).

Open questions:

  • What to do with XmlSchema?

    • bimargulies: XmlSchema is generally a problem child, as per my remarks above. What the universe really

needs is a single library that combines some of what is inside Xerces with the unique functionality of XmlSchema, and has the momentum to evolve to 1.1 and all of that. Absent anyone to do this, leaving it in WS-Commons seems sensible to me. It does the Xml-Schema-tic work needed for web services. A better name would be ws-xml-schema, come to think of it. Given the report here about the future of XML as an Apache umbrella, I'm anxious to see what Dan and others think of this alternative.

Supporters:

  • veithen

Split it #5

(please feel free to add other proposals)

FrontPage/WebServicesPMCReorg (last edited 2009-09-20 22:49:07 by localhost)