incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr." <ge...@apache.org>
Subject Re: XMLBeans PMC has voted to sponsor xmlbeanscxx
Date Tue, 12 Jul 2005 11:24:38 GMT
How do you pronounce "xmlbeanscxx"?

geir

On Jul 12, 2005, at 2:56 AM, Cliff Schmidt wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> 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 at: http://mail-archives.apache.org/mod_mbox/xmlbeans-dev/ 
> 200506.mbox/%3cc5e6325505060609587a72d6f4@mail.gmail.com%3e.
>
> 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.
>
> Thanks,
> Cliff
>
> On 5/15/05, Heidi Buelow <heidi.buelow@roguewave.com> 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 @  
> RogueWave
> > 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+ 
> + classes
> > 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 two
> > years, and will provide a solid foundation for a C++ version of  
> XMLBeans.
> >
> > (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  
> already
> > 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  
> current
> > 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  
> entity
> > offers code to the public is "will this code be abandoned?" To be  
> clear,
> > Rogue Wave decided to initiate this process due to its own  
> significant
> > 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  
> project.
> > Numerous users of the contributed XML to C++ binding tool have  
> indicated
> > 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  
> community.
> >
> > 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  
> source
> > Apache project, with all relevant enhancements contributed to the  
> community.
> > Additionally, there is every intention to use XMLBeans/C++ within  
> future
> > commercial products, thereby resulting in even greater testing  
> and user
> > exposure. It is expected that other companies may well wish to  
> use the
> > 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  
> implement
> > features and add conveniences that would be expected by a C++  
> developer.
> >
> > 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  
> instance
> > 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 (http://www.roguewave.com/products/leif)
> >
> > The C++/XML binding contribution code can be found at the  
> following link:
> >
> > xmlBeans open source information
> > (http://www.roguewave.com/opensource/XMLbeans.cfm)
> >
> > (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  
> members.
> >
> > 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.  
> Detailed
> > 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  
> contributed
> > code includes a very similar type-binding API in C++ to that  
> provided in
> > XMLBeans for Java. However, the XMLBeans cursor access to the  
> underlying
> > infoset has no equivilant in the contributed code and will  
> require extensive
> > work to the underlying object model to support.
> >
> > Addressing this deficiency is considered the highest priority  
> task facing
> > 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 are
> > between three and five months Code generator
> >
> > The contributed C++ code is based on a proprietary code  
> generator, although
> > it too is written in Java (not C++). The long-term plan is to  
> consolidate
> > 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  
> sooner
> > 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  
> proposed
> > 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  
> should
> > accompany the initial beta release, with Solaris, HP-UX, AIX, and  
> other
> > 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  
> internal
> > object model building: 1 September 2005 XMLBeans/Java 2.0 feature  
> equivilant
> > 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  
> this
> > 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  
> greatly
> > 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
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (Darwin)
>
> iD8DBQFC02mhy6dGskFZ6tsRApC7AJ4yqjHvU0QeD1HX+fSa+YHATwSZ0ACdG8y2
> agudn4Z/EQbPRaflotuwjeM=
> =f46x
> -----END PGP SIGNATURE-----
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
>
>

-- 
Geir Magnusson Jr                                  +1-203-665-6437
geirm@apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message