incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cliff Schmidt <>
Subject XMLBeans PMC has voted to sponsor xmlbeanscxx
Date Tue, 12 Jul 2005 06:56:27 GMT
Hash: SHA1

Incubator PMC,

The XMLBeans PMC voted last month to sponsor the XMLBeans/C++  
proposal as a subproject for incubation.  I have agreed to mentor the  
project.  The proposal is copied below; the vote results are posted  

I have just created a /repos/asf/incubator/xmlbeanscxx directory in  
svn and will be following up shortly with an infrastructure request  
for mailing lists.  I've also already sent out the root request now  
that all iCLAs have been received and recorded.


On 5/15/05, Heidi Buelow <> wrote:
 > This is a proposal for an xmlbeans subproject which should be  
discussed here
 > and voted on at the xmlbeans PMC before going to the incubator for  
a vote.
 > Proposal to create a C++ version of the Apache XMLBeans project
 > Submission date: 15 May 2005, Tim Triemstra, Heidi Buelow (TimT @  
 > dot-com, Buelow @ RogueWave dot-com)
 > (0) rationale
 > Apache currently maintains the XMLBeans/Java project, a tool that  
uses XML
 > Schema as a basis for generating Java classes used to easily  
access XML
 > instance data. The goal of the XMLBeans/C++ project is to provide  
a very
 > similar user experience for C++ developers as that provided by the
 > XMLBeans/Java version. This includes generating strongly-typed C++  
 > for the XML binding as well as providing low-level C++ APIs  
enabling access
 > to the raw, underlying XML content. Where possible, the XMLBeans/C+ 
+ project
 > will provide a nearly identical API and parallel architecture to that
 > provided by the Java counterpart, and will closely mimic both  
features and
 > schedule.
 > Rogue Wave Software will help jump start this project by  
contributing the
 > existing XML to C++ binding code distributed as part of the LEIF  
product to
 > the Apache community. This product has been in production for over  
 > years, and will provide a solid foundation for a C++ version of  
 > (0.1) criteria
 > Meritocracy: The C++ version of the project should adhere to the  
same open,
 > merit-based community standards as other Apache projects.
 > Contributions and Core Developers: Code being contributed is  
actually a
 > subset of the LEIF product. Currently, work is underway to remove any
 > proprietary dependencies from within the code. A "cleaned" version  
that is
 > ready for contribution will be made available to the community  
around the
 > middle of May 2005. This initial contribution will be fully  
functioning, but
 > missing a few key features of the Java version of XMLBeans.
 > The community should be able to immediately jump in and begin  
work, along
 > side dedicated Rogue Wave personnel, to turn the initial  
contribution into a
 > feature-compatible version of XMLBeans for C++.
 > Community: The community around the Java version of XMLBeans is  
 > vibrant and growing. There is every reason to believe many of  
those within
 > the existing community have experience and/or general interest in a
 > successful, compatible C++ implementation of the toolset. This  
should ensure
 > an immediately active and vocal community, even if the primary  
interest is
 > in ensuring a similar experience between versions. There is  
already a large
 > group of developers "in the wild" using the original XML to C++  
binding tool
 > that is serving as the original contribution for this project.  
These users
 > will be migrating to the XMLBeans/C++ code over time and have already
 > indicated a keen interest in tracking, and even participating in the
 > Apache-led project.
 > Apache Alignment: The XML binding tool from which the XMLBeans/C++  
port will
 > morph does not include a full XML parser, but instead uses a  
small, focused
 > parser designed expressly for tight C++ to XML binding support.  
The general
 > purpose XML instance data APIs within XMLBeans will require  
additional code
 > and may be a good fit for the Xerces parser to enable some required
 > features.
 > Additionally, at least one member of an existing Apache project has
 > expressed interest in a project like XMLBeans/C++ to aid in his  
 > work. Higher-level projects such as Axis for C++ seem to be natural
 > beneficiaries of this work.
 > (0.2) known risks
 > Orphaned Products: One of the first questions when a commercial  
 > offers code to the public is "will this code be abandoned?" To be  
 > Rogue Wave decided to initiate this process due to its own  
 > interest in the XMLBeans feature set already present in Java, and  
its need
 > for similar features in C++. We have significant product goals moving
 > forward around XML for which the XMLBeans model fits perfectly.  
Rather than
 > simply copy the design and keep the project closed, we felt that the
 > downstream products would reap significant benefits from opening  
the XML
 > layer to the community. Keeping the C++ version in sync with the Java
 > version, even if it were to not be accepted as an Apache project,  
can only
 > help its overall adoption.
 > Additionally, a diverse committer base is a strong goal for this  
 > Numerous users of the contributed XML to C++ binding tool have  
 > interest in participating, many of whom have critical projects  
dependant on
 > this work and resources available to continue to ensure the  
viability of the
 > project well into the future.
 > Inexperience with Open Source: Like many companies entering this  
arena, we
 > have limited experience working on open source projects. Our  
primary goal is
 > to foster an active community around XMLBeans/C++ so advice will  
be taken to
 > heart, and significant resources will be dedicated to the project  
to get it
 > off the ground. However, we hope that our experience working in open
 > standards groups will aid in the transition to the open source  
 > Initial Reliance on Salaried Workers: Due to the rapid process of
 > transitioning to work on the open source XMLBeans/C++ project,  
only a few of
 > the listed contributors will be outside the commercial realm. We  
expect this
 > list of external volunteers to grow significantly after the  
initial public
 > code drop.
 > Licensing, Patents, Miscellaneous Legal: We are conducting a legal  
review of
 > the code and existing contracts. This review should be done  
shortly and any
 > code contributed will be licensed under the latest ASF terms.
 > Commercial Interest: XMLBeans/C++ will be maintained as an open  
 > Apache project, with all relevant enhancements contributed to the  
 > Additionally, there is every intention to use XMLBeans/C++ within  
 > commercial products, thereby resulting in even greater testing and  
 > exposure. It is expected that other companies may well wish to use  
 > project's code within their own commercial endeavors, which of  
course would
 > be fine.
 > (1) scope of the subproject
 > The XMLBeans/C++ subproject will conform to the identical scope as  
that laid
 > out for the partner Java project. Special care will be taken to  
 > features and add conveniences that would be expected by a C++  
 > For clarity, the goals of the XMLBeans/C++ project are:
 > Generation of plain C++ classes to model XML Schema Validation of C++
 > objects against the source XML Schema Access to partial document  
 > data (fragments) Efficient "parse as necessary" access that  
forgives extra
 > data Access to the full XML infoset
 > (2) identify the initial source for subproject code
 > Some background information may be found on the LEIF product and the
 > associated Data Tier.
 > LEIF product page (
 > The C++/XML binding contribution code can be found at the  
following link:
 > xmlBeans open source information
 > (
 > (3) identify the ASF resources to be created
 > (3.1) mailing list(s)
 > xmlbeanscxx-dev
 > xmlbeanscxx-user
 > xmlbeanscxx-commits
 > (3.2) SVN repositories
 > xml-xmlbeanscxx
 > (3.3) Bugzilla
 > xml xmlbeanscxx
 > (4.0) identify the initial set of committers
 > This is a preliminary list that will be updated with volunteer  
 > Tim Triemstra (TimT @ RogueWave dot-com)
 > John Hinke (Hinke @ RogueWave dot-com)
 > Heidi Buelow (Buelow @ RogueWave dot-com)
 > Allen Brookes (ABrookes @ RogueWave dot-com)
 > David Haney (David.Haney @ RogueWave dot-com)
 > Michael Yoder (Michael.Yoder @ RogueWave dot-com)
 > (5) identify apache sponsoring individual
 > Cliff Schmidt, of the XMLBeans/Java project, has volunteered to  
sponsor this
 > project.
 > Cliff Schmidt (CliffS @ Apache dot-org)
 > (6) open issues for discussion
 > The original code contribution has a lot of proven code for  
creating a
 > binding between XML Schema and C++ classes. However, the  
contribution will
 > require a significant overhaul, and even complete re-writes in  
some areas,
 > in order to reach compatibility with the XMLBeans/Java version.  
 > differences will be discussed openly within the community so that an
 > appropriate plan for each area can be reached. This proposal is  
not the best
 > place to lay out all the technical details, however you will find  
below a
 > preliminary list of issues, priorities, and estimated timelines.
 > API discrepencies between contributed code and XMLBeans 2.0 The  
 > code includes a very similar type-binding API in C++ to that  
provided in
 > XMLBeans for Java. However, the XMLBeans cursor access to the  
 > infoset has no equivilant in the contributed code and will require  
 > work to the underlying object model to support.
 > Addressing this deficiency is considered the highest priority task  
 > the C++ project.
 > Several options are available including porting the XMLBeans  
object model
 > completely over to C++ or looking for ways to augment the  
contributed code.
 > Most likely a near-complete rewrite of this section will be the best
 > approach.
 > Rough estimates for a working implementation of the cursor feature  
 > between three and five months Code generator
 > The contributed C++ code is based on a proprietary code generator,  
 > it too is written in Java (not C++). The long-term plan is to  
 > both C++ and Java projects under the same code generator, most  
likely the
 > one already included in the Java version of the XMLBeans.
 > This is not considered a priority-1 task at this point, more of a  
long term
 > goal and convenience. If it saves time in other priority tasks it  
will be
 > looked at closely, however.
 > Timeline for this transition is 5-7 months, but may be very much  
 > depending on available resources.
 > Platform support
 > Unlike Java, the C++ port will have significant issues around  
platform and
 > compiler support. In order to help with this the project will be  
using the
 > C++ standard library, and may in fact benefit greatly from the  
 > Apache C++ StdLib (STDCXX). Initially the native StdLib will be used.
 > Good platform support will be very important so even the early  
builds should
 > be done on Windows and Linux, and preferably at least one Unix  
variety. Long
 > term the matrix should be very large.
 > The initial contribution is working on Linux but it is really just  
a preview
 > look at code, not a true product build. Windows and Linux support  
 > accompany the initial beta release, with Solaris, HP-UX, AIX, and  
 > Linux distros following within three months.
 > Estimated timeline (very rough)
 > Initial submission of proposal and example code: 12 May 2005 Apache
 > structure in place and code building: 1 July 2005 Re-write of  
 > object model building: 1 September 2005 XMLBeans/Java 2.0 feature  
 > beta: 1 December 2005
 > This timeline is based on a very preliminary discovery of issues  
and is
 > based on limited resource information. There is little chance for  
 > schedule to be elongated by very much time as there are already a few
 > dedicated resources assigned to the project, but there is also  
little known
 > about how much a concerted community effort could speed things up. In
 > general the feeling is that a greater community involvement will  
 > improve the test suite, identified bugs, and platform support - not
 > necessarily the initial speed of feature development.
 > --------------------
 > Heidi Buelow
 > Rogue Wave, a division of Quovadx

Version: GnuPG v1.4.1 (Darwin)


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message