[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xmlbeans-dev
Subject:    Re: [VOTE] xmlbeanscxx subproject
From:       David Waite <mass () akuma ! org>
Date:       2005-05-31 18:29:59
Message-ID: F97BE918-FBD8-4FD4-8D4D-D67A43B433F1 () akuma ! org
[Download RAW message or body]

+1

On May 31, 2005, at 11:29 AM, kkress@lkwd.com wrote:

> +1
>
> --                                                             --
> Ken Kress
> Information Technology
> LockwoodŽ
> 10 Valley Stream Parkway
> Malvern, PA 19355
> Phone: (484) 605-4834
> Fax: (484) 605-4903
> Email: kkress@lkwd.com
>
>
>
>
> Cliff Schmidt <cliffschmidt@gmail.com>
> 05/31/2005 01:16 PM
> Please respond to dev
>
>
>         To:     dev@xmlbeans.apache.org
>         cc:
>         Subject:        [VOTE] xmlbeanscxx subproject
>
>
> I think we've now had plenty of time for discussion.  Please vote on
> the following:
>
> Should the XMLBeans project sponsor the proposed xmlbeanscxx project,
> as described in Heidi's proposal (see below)?
>
> As usual, all members of the xmlbeans community are welcome to vote,
> but only XMLBeans PMC members have binding votes.  This vote will
> close at midnight, 4 June UTC (Friday at 5 PM PDT):
> http://www.timeanddate.com/worldclock/fixedtime.html? 
> year=2005&month=6&day=4&hour=00&min=00&sec=00
>
> Thanks,
> Cliff
>
> On 5/19/05, Heidi Buelow <heidi.buelow@roguewave.com> wrote:
>
>>
>> Since writing the XmlBeans C++ proposal a few weeks ago, we have done
>>
> more
>
>> analysis of our planned approach, and we have come to the conclusion
>>
> that
>
>> there are significant and important differences between the XmlBeans
>> architecture and that of our existing product that we referenced  
>> in the
>> proposal as a starting point for the Apache project. In addition, we
>>
> have
>
>> since made progress on the XmlBeans C++ implementation with  
>> developers
>> actively working on the project internally.
>>
>> Our goal is clear, in that we plan to develop XmlBeans C++ to be
>>
> compatible
>
>> with the Java version, both architecturally and keeping to the API as
>> closely as possible. There are many components in our existing LEIF
>>
> product
>
>> that will provide a starting point for XmlBeans C++ to jump-start the
>> project. However, given the differences, we now plan to have our
>>
> developers
>
>> borrow/modify from this applicable code and then submit it to the  
>> Apache
>> project during implementation.
>>
>> This approach will be a lot less confusing to the community,  
>> giving our
>> developers the responsibility of incorporating any of our existing
>>
> product
>
>> code into the Apache project, avoiding that burden for other
>>
> contributors.
>
>> We can transfer our work under the auspices of Apache as soon as the
>>
> project
>
>> is approved and the environment is set up.
>>
>>
>> Heidi.
>> --------------------
>> Heidi Buelow
>> Rogue Wave, a division of Quovadx
>>
>>
>>
>>> -----Original Message-----
>>> From: Heidi Buelow
>>> Sent: Sunday, May 15, 2005 11:12 AM
>>> To: 'dev@xmlbeans.apache.org'
>>> Subject: Proposal for xmlbeanscxx
>>>
>>> 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
>>>
>>> -------------------------------------------------------------------- 
>>> -
>>> To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
>>> For additional commands, e-mail: dev-help@xmlbeans.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
>> For additional commands, e-mail: dev-help@xmlbeans.apache.org
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
> For additional commands, e-mail: dev-help@xmlbeans.apache.org
>
>
>
>
>
> ______________________________________________________________________ 
> __
> The information in this e-mail, and any attachment therein, is  
> confidential and for use by the addressee only. If you are not the  
> intended recipient, please return the e-mail to the sender and  
> delete it from your computer. Although The Bank of New York  
> attempts to sweep e-mail and attachments for viruses, it does not  
> guarantee that either are virus-free and accepts no liability for  
> any damage sustained as a result of viruses.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
> For additional commands, e-mail: dev-help@xmlbeans.apache.org
>
>

David Waite
mass@akuma.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: dev-help@xmlbeans.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic