<?xml version="1.0" encoding="utf-8"?>
<document>
  <properties>
    <title>Celix Incubation Status</title>
    <link href="http://purl.org/DC/elements/1.0/"
    rel="schema.DC" />
  </properties>
  <body>
    <section id="Celix+Project+Incubation+Status">
      <title>Celix Project Incubation Status</title>
      <p>This page tracks the project status, incubator-wise. For
      more general project status, look on 
      <a href="http://incubator.apache.org/celix/">the project website</a>.</p>
      <p><span class="graduated">The Celix project graduated on 2014-07-16</span></p>
    </section>
    <section id="Description">
      <title>Description</title>
      <p>Celix is an OSGi like implementation in C with a distinct
      focus on interoperability between Java and C.</p>
    </section>
    <section id="News">
      <title>News</title>
      <ul>
        <li>2014-04-02 Erik Jansman accepted as committer</li>
        <li>2014-03-20 Bj&#246;rn Petri accepted as
        committer</li>
        <li>2013-01-07 Roman Shaposhnik joins as a mentor</li>
        <li>2012-03-20 Pepijn Noltes accepted as committer</li>
        <li>2012-01-07 Luciano Resende steps down as mentor</li>
        <li>2010-11-02 New committer: Alexander Broekhuis</li>
        <li>2010-11-02 Project enters incubation.</li>
      </ul>
    </section>
    <section id="Project+info">
      <title>Project info</title>
      <table>
        <tr>
          <th>item</th>
          <th>type</th>
          <th>reference</th>
        </tr>
        <tr>
          <td>Website</td>
          <td>www</td>
          <td id="www">
            <a href="http://incubator.apache.org/celix/">
            http://incubator.apache.org/celix/</a>
          </td>
        </tr>
        <tr>
          <td>Mailing list</td>
          <td>dev</td>
          <td id="mail-dev">
            <code>celix-dev</code>
            <code>@</code>
            <code>incubator.apache.org</code>
          </td>
        </tr>
        <tr>
          <td>.</td>
          <td>commits</td>
          <td id="mail-commits">
            <code>celix-commits</code>
            <code>@</code>
            <code>incubator.apache.org</code>
          </td>
        </tr>
        <tr>
          <td>Mailing list</td>
          <td>users</td>
          <td>While in incubation, 
          <code>celix-dev</code>
          <code>@</code>
          <code>incubator.apache.org</code>will be used.</td>
        </tr>
        <tr>
          <td>Mailing list</td>
          <td>PPMC</td>
          <td>
            <code>celix-private</code>
            <code>@</code>
            <code>incubator.apache.org</code>
          </td>
        </tr>
        <tr>
          <td>Bug tracking</td>
          <td>.</td>
          <td id="tracker">
            <a href="https://issues.apache.org/jira/browse/celix">
            https://issues.apache.org/jira/browse/celix</a>
          </td>
        </tr>
        <tr>
          <td>Source code</td>
          <td>SVN</td>
          <td id="svn">
            <a href="https://svn.apache.org/repos/asf/incubator/celix/">
            https://svn.apache.org/repos/asf/incubator/celix/</a>
          </td>
        </tr>
        <tr>
          <td>Mentors</td>
          <td>marrs</td>
          <td>Marcel Offermans</td>
        </tr>
        <tr>
          <td>.</td>
          <td>pauls</td>
          <td>Karl Pauls</td>
        </tr>
        <tr>
          <td>.</td>
          <td>rvs</td>
          <td>Roman Shaposhnik</td>
        </tr>
        <tr>
          <td>Committers</td>
          <td>alexanderb</td>
          <td>Alexander Broekhuis</td>
        </tr>
        <tr>
          <td>.</td>
          <td>pnoltes</td>
          <td>Pepijn Noltes</td>
        </tr>
        <tr>
          <td>.</td>
          <td>bpetri</td>
          <td>Bj&#246;rn Petri</td>
        </tr>
        <tr>
          <td>.</td>
          <td>ejansman</td>
          <td>Erik Jansman</td>
        </tr>
      </table>
    </section>
    <section id="Incubation+status+reports">
      <title>Incubation status reports</title>
      <ul>
        <li>See the project page at 
        <a href="http://incubator.apache.org/celix/community/boardreports/boardreports.html">
        http://incubator.apache.org/celix/community/boardreports/boardreports.html</a></li>
      </ul>
    </section>
    <section id="Incubation+work+items">
      <title>Incubation work items</title>
      <section id="Project+Setup">
        <title>Project Setup</title>
        <p>This is the first phase on incubation, needed to start
        the project at Apache.</p>
        <p>
          <em>Item assignment is shown by the Apache id.</em>
          <em>Completed tasks are shown by the completion date
          (YYYY-MM-dd).</em>
        </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>2010-11-02</td>
              <td>Make sure that the requested project name does
              not already exist and check www.nameprotect.com to be
              sure that the name is not already trademarked for an
              existing software product.</td>
            </tr>
          </table>
        </section>
        <section id="Infrastructure">
          <title>Infrastructure</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2010-11-09</td>
              <td>Ask infrastructure to create source repository
              modules and grant the committers karma.</td>
            </tr>
            <tr>
              <td>2010-11-09</td>
              <td>Ask infrastructure to set up and archive mailing
              lists.</td>
            </tr>
            <tr>
              <td>2010-11-09</td>
              <td>Ask infrastructure to set up issue tracker
              (JIRA).</td>
            </tr>
            <tr>
              <td>2010-12-18</td>
              <td>Ask infrastructure to set up wiki
              (Confluence).</td>
            </tr>
            <tr>
              <td>2011-01-05</td>
              <td>Migrate the project to our infrastructure.</td>
            </tr>
          </table>
        </section>
        <section id="Interim+responsibility">
          <title>Mentor-related responsibility/oversight</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2010-11-09</td>
              <td>Identify all the Mentors for the incubation, by
              asking all that can be Mentors.</td>
            </tr>
            <tr>
              <td>2011-01-05</td>
              <td>Subscribe all Mentors on the pmc and general
              lists.</td>
            </tr>
            <tr>
              <td>2011-01-05</td>
              <td>Give all Mentors access to the incubator SVN
              repository. (to be done by the Incubator PMC chair or
              an Incubator PMC Member wih karma for the
              authorizations file)</td>
            </tr>
            <tr>
              <td>2011-01-05</td>
              <td>Tell Mentors to track progress in the file
              'incubator/projects/{project.name}.html'</td>
            </tr>
          </table>
        </section>
        <section id="Copyright">
          <title>Copyright</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2010-11-23</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>2011-01-05</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>2011-01-05</td>
              <td>Check and make sure that for all code included
              with the distribution that is not under the Apache
              license, we have the right to combine with
              Apache-licensed code and redistribute.</td>
            </tr>
            <tr>
              <td>2011-01-05</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>2010-11-18</td>
              <td>Check that all active committers have submitted a
              contributors agreement.</td>
            </tr>
            <tr>
              <td>2010-11-22</td>
              <td>Add all active committers in the STATUS
              file.</td>
            </tr>
            <tr>
              <td>2010-11-22</td>
              <td>Ask root for the creation of committers' accounts
              on people.apache.org.</td>
            </tr>
          </table>
        </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>
        <section id="Exit">
          <title>Exit</title>
          <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>
    </section>
  </body>
</document>
