<?xml version="1.0" encoding="UTF-8"?>
<document>
  <properties>
    <!--<meta content="HTML Tidy, see www.w3.org" name="generator"/>-->
    <!--<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>-->
    <title>Apache XML Beans C++ Incubation Status</title>
    <link href="http://purl.org/DC/elements/1.0/" rel="schema.DC"/>
  </properties>
  <body>
    <!-- ================================================================= -->
    <section id="Apache+xmlbeanscxx+Incubation+Status">
      <title>Apache XML Beans C++ Incubation Status</title>
      <div class="section">
        <p>This page tracks the incubation status of the Apache XML Beans C++ project.</p>
        <p><span class="retired">The XMLBeans/C++ project retired in 2007-05</span></p>
      </div>
    </section>
    <!-- ================================================================= -->
    <section id="Description">
      <title>Description</title>
      <div class="section">
        <p> 
        
          The Apache XML Beans C++ project will produce a C++ equivalent 
          to Apache's XMLBeans project for Java.


        </p>
        <p> 
          
          XMLBeans provides the developer with an 'object' representation of 
          structured XML data conforming to Schema language. Additionally, 
          XMLBeans enables the developer to handle XML documents directly, 
          achieving increased performance and flexibility in a single framework.
          The C++ version will provide a similar user experience to the popular 
          Java version, but will be optimized to take advantage of the powerful, 
          high-performance features of C++.


        </p>
      </div>
    </section>
    <!-- ================================================================= -->
    <section id="News">
      <title>News</title>
      <div class="section">
        <ul>
          <li>

            2005-06-06 Project accepted by the Web services PMC.

          </li>
          <li>

            2005-05-15 Project proposed on general@incubator mailing.

          </li>
          <li>

            2005-02-09 xmlbeanscxx <a href="http://incubator.apache.org/xmlbeanscxx">project
            page</a> and <a href="http://incubator.apache.org/projects/xmlbeanscxx.html">status
            page</a> committed to subversion.

          </li>
        </ul>
      </div>
    </section>
    <!-- ================================================================= -->
    <section id="Project+Info">
      <title>Project Info</title>
      <div class="section">
        <table>
          <tr>
            <th>item</th>
            <th>id</th>
            <th>reference</th>
          </tr>
          <tr>
            <td>Web site</td>
            <td>www</td>
            <td>
              <a href="http://incubator.apache.org/xmlbeanscxx/">
                http://incubator.apache.org/xmlbeanscxx/</a>
            </td>
          </tr>
          <tr>
            <td/>
            <td>wiki</td>
            <td><a href="http://wiki.apache.org/xmlbeanscxx/">http://wiki.apache.org/xmlbeanscxx/</a></td>
          </tr>
          <tr>
            <td>Mailing lists</td>
            <td>dev</td>
            <td>
              <a href="mailto:cxx-dev@xmlbeans.apache.org">cxx-dev@xmlbeans.apache.org</a>
            </td>
          </tr>
          <tr>
            <td/>
            <td>svn</td>
            <td>
              <a href="mailto:cxx-commits@xmlbeans.apache.org">
                cxx-commits@xmlbeans.apache.org</a>
            </td>
          </tr>
          <tr>
            <td/>
            <td>ppmc</td>
            <td>
              <a href="mailto:">
                TBD</a>
            </td>
          </tr>
          <tr>
            <td>Moderators</td>
            <td>abrookes</td>
            <td>
              <a href="mailto:abrookes_at_apache.org">Allen Brookes</a>
            </td>
          </tr>
          <tr>
            <td/>
            <td>dhaney</td>
            <td>
              <a href="mailto:dhaney_at_apache.org">David Haney</a>
            </td>
          </tr>
          <tr>
            <td>Bug tracking</td>
            <td>TBD</td>
            <td>
              <a href="">
                TBD</a>
            </td>
          </tr>
          <tr>
            <td>Source code</td>
            <td>svn</td>
            <td>
              <a href=" ">
                </a>
            </td>
          </tr>
          <tr>
            <td>Sponsor</td>
            <td/>
            <td>
              <a href="mailto:pmc_at_incubator.apache.org">
                Incubator PMC</a>
            </td>
          </tr>
          <tr>
            <td>Mentors</td>
            <td>Cliff Schmidt</td>
            <td>
              <a href="mailto:">
                Cliff Schmidt</a>(See this <a href="http://www.mail-archive.com/general@incubator.apache.org/msg04836.html">post</a>.)

            </td>
          </tr>
          <tr>
            <td id="committers">Committers</td>
            <td>abrookes</td>
            <td><a href="mailto:abrookes_at_roguewave_dot_com">
                Allen Brookes</a></td>
          </tr>
          <tr>
            <td>hbuelow</td>
            <td>
              <a href="mailto:heidi.buelow_at_apache.org">
                Heidi Buelow</a>
            </td>
          </tr>
          <tr>
            <td/>
            <td>dhaney</td>
            <td>
              <a href="mailto:dhaney_at_apache.org">
                David Haney</a>
            </td>
          </tr>
          <tr>
            <td/>
            <td>myoder</td>
            <td>
              <a href="mailto:yoder_at_roguewave.com">Michael Yoder</a>
            </td>
          </tr>
          <tr>
            <td/>
            <td>ttriemstra</td>
            <td>
              <a href="mailto:ttriemstra_at_apache_dot_org">Tim Triemstral</a>
            </td>
          </tr>
          <tr>
            <td/>
            <td> </td>
            <td>
              <a href="mailto:tbd">TBD</a>
            </td>
          </tr>
        </table>
        <p>

          Committers  in  <em>italics</em>do  not  have  a  signed  <a
          href="http://incubator.apache.org/forms/ASF_Contributor_License_2_form.pdf">Contributor
          License Agreement</a> on file.

        </p>
      </div>
    </section>
    <!-- ================================================================= -->
    <section id="Incubation+Status+Reports">
      <title>Incubation Status Reports</title>
      <div class="section">
        <table>
          <tr>
            <th>file</th>
            <th>note</th>
          </tr>
          <tr>
            <td>
              TBD
            </td>
            <td>TBD</td>
          </tr>
        </table>
      </div>
    </section>
    <!-- ================================================================= -->
    <section id="Incubation+Work+Items">
      <title>Incubation Work Items</title>
      <p/>
      <!-- =============================================================== -->
      <section id="Project+Setup">
        <title>Project Setup</title>
        <p/>
        <!-- ============================================================= -->
        <section id="Identify+the+project+to+be+incubated">
          <title>Identify the project to be incubated</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Make  sure that  the requested  project name  does not
                already        exist        and        check        <a
                href="http://www.nameprotect.com">NameProtect</a>to be
                sure that  the name is not already  trademarked for an
                existing software product.

              </td>
            </tr>
            <tr>
              <td>N/A</td>
              <td>

                If request from an existing Apache project to adopt an
                external package, then ask  the Apache project for the
                cvs module and mail address names.

              </td>
            </tr>
            <tr>
              <td>N/A</td>
              <td>

                If request  from outside  Apache to enter  an existing
                Apache project,  then post  a message to  that project
                for them to decide on acceptance.

              </td>
            </tr>
            <tr>
              <td>N/A</td>
              <td>

                If request from anywhere  to become a stand-alone PMC,
                then assess the fit with the ASF, and create the lists
                and modules  under the incubator  address/module names
                if accepted.

              </td>
            </tr>
          </table>
        </section>
        <!-- ============================================================= -->
        <section id="Interim+responsibility">
          <title>Interim responsibility</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Identify all the Mentors for the incubation, by asking
                all that can be Mentors.

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>Subscribe all Mentors on the pmc and general lists.</td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Give all  Mentors access to all  incubator SVN modules
                (to be done by PMC chair).

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>Tell Mentors to track progress in the status file.</td>
            </tr>
          </table>
        </section>
        <!-- ============================================================= -->
        <section id="Copyright">
          <title>Copyright</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Check  and make  sure  that the  papers that  transfer
                rights to the ASF  been received. It is only necessary
                to transfer rights for the package, the core code, and
                any new code produced by the project.

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Check  and make  sure that  the files  that  have been
                donated  have  been updated  to  reflect  the new  ASF
                copyright.

              </td>
            </tr>
          </table>
        </section>
        <!-- ============================================================= -->
        <section id="Verify+distribution+rights">
          <title>Verify distribution rights</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Check and  make sure that  for all code  included with
                the distribution that is not under the Apache license,
                has the right to combine with Apache-licensed code and
                redistribute.

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Check and  make sure that all  source code distributed
                by  the project  is  covered  by one  or  more of  the
                following  approved licenses:  Apache,  BSD, Artistic,
                MIT/X, MIT/W3C, MPL 1.1, or something with essentially
                the same terms.

              </td>
            </tr>
          </table>
        </section>
        <!-- ============================================================= -->
        <section id="Establish+a+list+of+active+committers">
          <title>Establish a list of active committers</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Check  that  all active  committers  have submitted  a
                contributors   agreement   (see   the   list   of   <a
                href="#committers">committers</a>above     for     any
                exceptions).

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>Add all active committers to the status page.</td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Ask   root   to   create   committers'   accounts   on
                cvs.apache.org                                      (<a
                href="http://issues.apache.org/jira/browse/INFRA-440">INFRA-440</a>).

              </td>
            </tr>
          </table>
        </section>
        <!-- ============================================================= -->
        <section id="Infrastructure">
          <title>Infrastructure</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Ask infrastructure to create source repository modules
                and     grant     the     committers     karma     (<a
                href="http://issues.apache.org/jira/browse/INFRA-441">INFRA-441</a>).

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Ask infrastructure to set up and archive mailing lists
                (<a
                href="http://issues.apache.org/jira/browse/INFRA-339">INFRA-339</a>).

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Decide about  and then ask infrastructure  to setup an
                issue           tracking           system          (<a
                href="http://issues.apache.org/jira/browse/INFRA-438">INFRA-438</a>).

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>Migrate the project to our infrastructure.</td>
            </tr>
          </table>
        </section>
        <!-- ============================================================= -->
        <section id="Project-specific">
          <title>Project-specific</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Publish                      a                      <a
                href="http://incubator.apache.org/xmlbeanscxx/bugs.html">page</a>on
                how  to file  issues against  the project  and  how to
                submit                   patches                   (<a
                href="http://issues.apache.org/jira/browse/XMLBEANSCXX-9">XMLBEANSCXX-9</a>).

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Improve                     the                     <a
                href="http://incubator.apache.org/xmlbeanscxx/">project
                page</a>(<a
                href="http://issues.apache.org/jira/browse/XMLBEANSCXX-6">XMLBEANSCXX-6</a>).

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Make                       the                      <a
                href="http://svn.apache.org/repos/asf/incubator/xmlbeanscxx/trunk/doc/stdlibref/">Class
                Reference</a>and                                     <a
                href="http://svn.apache.org/repos/asf/incubator/xmlbeanscxx/trunk/doc/stdlibug/">Users
                Guide</a>available online,  from the project  page (<a
                href="http://issues.apache.org/jira/browse/XMLBEANSCXX-12">XMLBEANSCXX-12</a>).

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Make a tarball of stable project sources available for
                download from the project site.

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Document  the  design  and development  practices  and
                publish them on the project site.

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Put together a list of  things to do and publish it on
                the project site.

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Check      in       the      test      driver.

              </td>
            </tr>
            <tr>
              <td>TBD</td>
              <td>

                Check    in    the     project    test    suite.

              </td>
            </tr>
          </table>
        </section>
      </section>
      <!-- =============================================================== -->
      <section id="Incubation">
        <title>Incubation</title>
        <p>

          These action items  have to be checked for  during the whole
          incubation process.

        </p>
        <p>
          <em>

            These  items   are  not  to  be  signed   as  done  during
            incubation, as they may change during incubation.

          </em>
          <em>

            They are  to be  looked into and  described in  the status
            reports  and  completed  in  the  request  for  incubation
            signoff.

          </em>
        </p>
        <!-- ============================================================= -->
        <section id="Collaborative+Development">
          <title>Collaborative Development</title>
          <ul>
            <li>

              Have  all  of   the  active  long-term  volunteers  been
              identified  and   acknowledged  as  committers   on  the
              project?

            </li>
            <li>

              Are  there three  or more  independent  committers? (The
              legal definition of independent  is long and boring, but
              basically it means that there is no binding relationship
              between the individuals, such as a shared employer, that
              is capable of overriding their free will as individuals,
              directly or indirectly.)

            </li>
            <li>

              Are  project  decisions  being  made in  public  by  the
              committers?

            </li>
            <li>

              Are the decision-making  guidelines published and agreed
              to by all of the committers?

            </li>
          </ul>
        </section>
        <!-- ============================================================= -->
        <section id="Licensing+awareness">
          <title>Licensing awareness</title>
          <ul>
            <li>

              Are all licensing,  trademark, credit issues being taken
              care of and acknowleged by all committers?

            </li>
          </ul>
        </section>
        <!-- ============================================================= -->
        <section id="Project-specific-N10439">
          <title>Project-specific</title>
          <p>
            <em>No project-specific tasks.</em>
          </p>
        </section>
      </section>
      <!-- =============================================================== -->
      <section id="Exit">
        <title>Exit</title>
        <p>
          <em>Things to check for before voting the project out.</em>
        </p>
        <!-- ============================================================= -->
        <section id="Organizational+acceptance+of+responsibility+for+the+project">
          <title>
            Organizational acceptance of responsibility for the project
          </title>
          <ul>
            <li>

              If graduating to  an existing PMC, has the  PMC voted to
              accept it?

            </li>
            <li>

              If  graduating to  a new  PMC,  has the  board voted  to
              accept it?

            </li>
          </ul>
        </section>
        <!-- ============================================================= -->
        <section id="Incubator+sign-off">
          <title>Incubator sign-off</title>
          <ul>
            <li>

              Has   the  Incubator  decided   that  the   project  has
              accomplished all of the above tasks?

            </li>
          </ul>
        </section>
      </section>
    </section>
  </body>
</document>
