<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License. 
-->
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" href="../style/bootstrap-1-3-0-min.css" type="text/css" />
  <link rel="stylesheet" href="../style/style.css" type="text/css" />
        <title>Isis Project Incubation Status - Apache Incubator</title>
  
 </head>
 <body>
 <div class="container">
  <div class="row">
<div class="span12">
  <a href="http://www.apache.org/"><img src="http://incubator.apache.org/images/asf_logo_wide_small.png" alt="The Apache Software Foundation" border="0" style="margin-top: 2px" width="62%"/></a>
</div>
<div class="span4">
<a href="http://incubator.apache.org/"><img src="../images/egg-logo2.png" alt="Apache Incubator" border="0"/></a>
</div>
</div>
  <div class="row"><div class="span16"><hr noshade="noshade" size="1"/></div></div>
  
  <div class="row">
   <div class="span4">
    <form action="http://www.google.com/search" method="get">
     <input value="incubator.apache.org" name="sitesearch" type="hidden"/>
     <input size="20" name="q" id="query" type="text" value="search..."
      onclick="if(this.value == 'search...') {this.value = ''}"/>
     <input name="Search" value="Go" type="submit"/>
    </form>
          <div class="menuheader">General</div>
    <menu compact="compact">
          <li><a href="../index.html">Welcome</a></li> 
          <li><a href="../incubation/Process_Description.html">Incubation Overview</a></li> 
          <li><a href="../incubation/Incubation_Policy.html">Incubation Policy</a></li> 
          <li><a href="../guides/index.html">Incubation Guides</a></li> 
          <li><a href="../incubation/Roles_and_Responsibilities.html">Roles and Responsibilities</a></li> 
          <li><a href="../faq.html">General FAQ</a></li> 
          <li><a href="http://wiki.apache.org/incubator">Incubator Wiki</a></li> 
          <li><a href="../whoweare.html">Who We Are</a></li> 
          <li><a href="../sitemap.html">Site Map</a></li> 
            </menu>
      <div class="menuheader">Status</div>
    <menu compact="compact">
          <li><a href="../projects/index.html">Project List</a></li> 
          <li><a href="../clutch.html">Clutch Report</a></li> 
          <li><a href="../ip-clearance/index.html">IP Clearance</a></li> 
          <li><a href="../history/index.html">Incubator History</a></li> 
            </menu>
      <div class="menuheader">Entry Guides</div>
    <menu compact="compact">
          <li><a href="../guides/proposal.html">Proposal Guide</a></li> 
            </menu>
      <div class="menuheader">Podling Guides</div>
    <menu compact="compact">
          <li><a href="../guides/committer.html">Podling Committers</a></li> 
          <li><a href="../guides/ppmc.html">Podling PMC (PPMC)</a></li> 
          <li><a href="../guides/mentor.html">Podling Mentor</a></li> 
          <li><a href="../guides/releasemanagement.html">Podling Releases</a></li> 
          <li><a href="../guides/branding.html">Podling Branding/Publicity</a></li> 
          <li><a href="../guides/sites.html">Podling Websites</a></li> 
          <li><a href="../guides/graduation.html">Graduation</a></li> 
          <li><a href="../guides/retirement.html">Retirement</a></li> 
            </menu>
      <div class="menuheader">Other Guides</div>
    <menu compact="compact">
          <li><a href="../guides/participation.html">Participation</a></li> 
          <li><a href="../faq.html">General FAQ</a></li> 
          <li><a href="../guides/pmc.html">Incubator PMC (IPMC)</a></li> 
          <li><a href="../guides/chair.html">IPMC Chair</a></li> 
          <li><a href="../guides/lists.html">Mailing Lists</a></li> 
          <li><a href="../guides/website.html">Incubator Website</a></li> 
            </menu>
      <div class="menuheader">ASF</div>
    <menu compact="compact">
          <li><a href="http://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li> 
          <li><a href="http://www.apache.org/dev/">Developer Documentation</a></li> 
          <li><a href="http://www.apache.org/foundation/">Foundation</a></li> 
          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsor Apache</a></li> 
          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> 
            </menu>
    <!-- start Ads Server -->
    <iframe src="http://www.apache.org/ads/buttonbar.html"
     style="border-width:0; float: left" frameborder="0" scrolling="no"
     width="135" height="265"></iframe>
    <!-- end Ads Server -->
   </div>
   
   <div class="span12">
            <h2 id='Isis+Project+Incubation+Status'><img src="../images/redarrow.gif" />Isis Project Incubation Status</h2>
<div class="section-content">
<p>This page tracks the project status, incubator-wise. For more general
      project status, look on the project website.</p>
<p><span class="graduated">The Isis project graduated on 2012-10-17</span></p>
</div>
        <h2 id='Description'><img src="../images/redarrow.gif" />Description</h2>
<div class="section-content">
<p>The Isis project will be an extensible standards-based framework to
      rapidly develop and enterprise level deploy domain-driven (DDD)
      applications.</p>
</div>
        <h2 id='News'><img src="../images/redarrow.gif" />News</h2>
<div class="section-content">
<ul>
        <li>2012-10-17 Isis graduates from the incubator</li>
        <li>2012-09-24 New committer: Jeroen van der Wal</li>
        <li>2012-02-20 Released version 0.2.0-incubating</li>
        <li>2011-07-14 Released version 0.1.2-incubating</li>
        <li>2010-09-07 Isis has been accepted to enter incubation</li>
      </ul>
</div>
        <h2 id='Project+info'><img src="../images/redarrow.gif" />Project info</h2>
<div class="section-content">
<table class="colortable" width="100%">
        <tr>
          <th>item</th>

          <th>type</th>

          <th>reference</th>
        </tr>

        <tr>
          <td>Website</td>

          <td>www</td>

          <td id="www">
            <a href="http://isis.apache.org/">http://isis.apache.org/</a>
            <br />previously: <a href="http://incubator.apache.org/isis/">http://incubator.apache.org/isis/</a>
          </td>
        </tr>

        <tr>
          <td>.</td>

          <td>wiki</td>

          <td id="wiki">
            <a href="http://cwiki.apache.org/confluence/display/Isis/">http://cwiki.apache.org/confluence/display/Isis/</a>
          </td>
        </tr>

        <tr>
          <td>Mailing list</td>

          <td>dev</td>

          <td id="mail-dev">
            <code>dev</code>
            <code>@</code>
            <code>isis.apache.org</code>
            <br />previously: 
            <code>isis-dev</code>
            <code>@</code>
            <code>incubator.apache.org</code>
          </td>
        </tr>

        <tr>
          <td>Mailing list</td>

          <td>users</td>

          <td id="mail-users">
            <code>users</code>
            <code>@</code>
            <code>isis.apache.org</code>
            <br />previously: 
            <code>isis-users</code>
            <code>@</code>
            <code>incubator.apache.org</code>
          </td>
        </tr>

        <tr>
          <td>.</td>

          <td>commits</td>

          <td id="mail-commits">
            <code>commits</code>
            <code>@</code>
            <code>isis.apache.org</code>
            <br />previously: 
            <code>isis-commits</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/ISIS">https://issues.apache.org/jira/browse/ISIS</a>
          </td>
        </tr>

        <tr>
          <td>Source code</td>

          <td>GIT</td>

          <td id="svn">
            <a href="https://git-wip-us.apache.org/repos/asf/isis.git">https://git-wip-us.apache.org/repos/asf/isis.git</a>
            <br />previously: 
            <a href="https://svn.apache.org/repos/asf/incubator/isis/">https://svn.apache.org/repos/asf/incubator/isis/</a>
          </td>
        </tr>

        <tr>
          <td>People</td>
          <td>.</td>
          <td>See below</td>
        </tr>
      </table>
<p>The project team consists of:</p>
<table class="colortable" width="100%">
        <tr>
          <th>apache id</th>
          <th>name</th>
          <th>mentor?</th>

          <th>ppmc?</th>
          <th>committer?</th>
          <th>alumni?</th>
        </tr>
        <tr>
          <td>struberg</td>

          <td>Mark Struberg</td>
          <td>Y</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>

          <td>bimargulies</td>

          <td>Benson Margulies</td>
          <td>Y</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>

          <td>sgoeschl</td>

          <td>Siegfried Goeschl</td>
          <td>Y</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>

          <td>mnour</td>

          <td>Mohammad Nour El-Din</td>
          <td>Y</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>

          <td>danhaywood</td>

          <td>Daniel Keir Haywood</td>
          <td>.</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>

          <td>kevin</td>

          <td>Kevin Meyer</td>
          <td>.</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>

          <td>rmatthews</td>

          <td>Robert Charles Matthews</td>
          <td>.</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>

          <td>dslaughter</td>

          <td>David Slaughter</td>
          <td>.</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>

          <td>themalkolm</td>

          <td>Alexander Krasnukhin</td>
          <td>.</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>
          <td>jcvanderwal</td>
          <td>Jeroen van der Wal</td>
          <td>.</td>
          <td>Y</td>
          <td>Y</td>
          <td>.</td>
        </tr>

        <tr>
          <td>uli</td>
          <td>Ulrich Stärk</td>
          <td>.</td>
          <td>.</td>
          <td>Y</td>
          <td>.</td>
        </tr>




      </table>
</div>
        <h2 id='Incubation+status+reports'><img src="../images/redarrow.gif" />Incubation status reports</h2>
<div class="section-content">
<ul>
        <li>
          <a href="http://wiki.apache.org/incubator/September2012#Isis">September 2012</a>
        </li>

        <li>
          <a href="http://wiki.apache.org/incubator/June2012#Isis">June 2012</a>
        </li>

        <li>
          <a href="http://wiki.apache.org/incubator/March2012#Isis">March 2012</a>
        </li>

        <li>
          <a href="http://wiki.apache.org/incubator/December2011#Isis">December
          2011</a>
        </li>

        <li>
          <a href="http://wiki.apache.org/incubator/September2011#Isis">September
          2011</a>
        </li>

        <li>
          <a href="http://wiki.apache.org/incubator/June2011#Isis">June
          2011</a>
        </li>

        <li>
          <a href="http://wiki.apache.org/incubator/March2011#Isis">March
          2011</a>
        </li>

        <li>
          <a href="http://wiki.apache.org/incubator/December2010#Isis">December
          2010</a>
        </li>

        <li>
          <a href="http://wiki.apache.org/incubator/November2010#Isis">November
          2010</a>
        </li>

        <li>
          <a href="http://wiki.apache.org/incubator/October2010#Isis">October
          2010</a>
        </li>
      </ul>
</div>
        <h2 id='Incubation+work+items'><img src="../images/redarrow.gif" />Incubation work items</h2>
<div class="section-content">
<h3 id='Project+Setup'>Project Setup</h3>
<div class="section-content">
<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>
<h4 id='Identify+the+project+to+be+incubated'>Identify the project to be incubated</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>

              <th>item</th>
            </tr>

            <tr>
              <td>2010-09-21</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.
	      <br /> <b>STATUS: Done</b>. Made sure that both <b>Isis</b> and
              <b>Apache Isis</b> are not used. </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 SVN module
              and mail address names 
              <br /><b>STATUS: not applicable</b>.
	      </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.
              <br /><b>STATUS: not applicable</b>.
	      </td>
            </tr>

            <tr>
              <td>2010-09-07</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.
              <br /><b>STATUS: not applicable</b>; see <a href="http://mail-archives.apache.org/mod_mbox/incubator-general/201009.mbox/%3C4C85C4FE.4050104@gmail.com%3E">mailing list thread</a>
	      </td>
            </tr>
          </table>
</div>
<h4 id='Infrastructure'>Infrastructure</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>

              <th>item</th>
            </tr>

            <tr>
              <td>2010-09-28</td>

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

            <tr>
              <td>2010-09-09</td>

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

            <tr>
              <td>2010-09-21</td>

              <td>Ask infrastructure to set up issue tracker (JIRA,
              Bugzilla).<br /> (see <a href="http://issues.apache.org/jira/browse/INFRA-2997">INFRA-2997</a>)
              </td>
            </tr>

            <tr>
              <td>2010-09-21</td>

              <td>Ask infrastructure to set up wiki (Confluence, Moin).<br />
              (see <a href="http://issues.apache.org/jira/browse/INFRA-3001">INFRA-3001</a>)
              </td>
            </tr>

            <tr>
              <td>2010-10-20</td>

              <td>Migrate the project to our infrastructure. <br />
	      (see <a href="https://issues.apache.org/jira/browse/INFRA-2972">INFRA-2972)</a> umbrella ticket and in particular the <a href="https://issues.apache.org/jira/browse/INFRA-3066">INFRA-3066</a> ticket to import code)</td>
            </tr>
          </table>
</div>
<h4 id='Interim+responsibility'>Mentor-related responsibility/oversight</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>

              <th>item</th>
            </tr>

            <tr>
              <td>2010-09-01</td>

              <td>Identify all the Mentors for the incubation, by asking all
              that can be Mentors.<br /> (see <a href="http://markmail.org/message/5bjv6lt64km7sgys">Vote
              thread</a>) </td>
            </tr>

            <tr>
              <td>2010-09-09</td>

              <td>Subscribe all Mentors on the pmc and general lists.<br />
              (see <a href="http://issues.apache.org/jira/browse/INFRA-2971">INFRA-2971</a>)
              </td>
            </tr>

            <tr>
              <td>2010-09-28</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>2010-09-21</td>

              <td>Tell Mentors to track progress in the file
              'incubator/projects/{project.name}.html'<br /> (see <a href="http://markmail.org/message/3ygombjswzmhrdwi">Notification
              e-mail</a>) </td>
            </tr>
          </table>
</div>
<h4 id='Copyright'>Copyright</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>

              <th>item</th>
            </tr>

            <tr>
              <td>2010-09-26</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-03-18</td>

              <td>Check and make sure that the files that have been donated
              have been updated to reflect the new ASF copyright.<br /> (see
              <a href="http://issues.apache.org/jira/browse/ISIS-1">ISIS-1</a>).
              </td>
            </tr>
          </table>
</div>
<h4 id='Verify+distribution+rights'>Verify distribution rights</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>

              <th>item</th>
            </tr>

            <tr>
              <td>2011-03-18</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.
	      <br />Done as part of voting on first release, 0.1.2-incubating.
              </td>
            </tr>

            <tr>
              <td>2010-07-10</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.
	      <br />Done as part of <a href="http://mail-archives.apache.org/mod_mbox/incubator-isis-dev/201107.mbox/%3C4E116A0F.8040606%40gmail.com%3E">voting</a> on first release, 0.1.2-incubating 
	      </td>
            </tr>
          </table>
</div>
<h4 id='Establish+a+list+of+active+committers'>Establish a list of active committers</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>

              <th>item</th>
            </tr>

            <tr>
              <td>2010-09-26</td>

              <td>Check that all active committers have submitted a
              contributors agreement.<br /> (see <a href="http://markmail.org/message/pzgwdwwdkpirus7x">Notification
              e-mail</a>, <a href="http://markmail.org/message/ce2juvqaoodd7rou">Confirmation
              e-mail</a> for Alexander Krasnukhin, <a href="http://markmail.org/message/3xmotalfldq63mis">Confirmation
              e-mail</a> for David Slaughter) </td>
            </tr>

            <tr>
              <td>2010-10-18</td>

              <td>Add all active committers in the STATUS file.<br /> (see <a href="http://issues.apache.org/jira/browse/ISIS-2">ISIS-2</a>)
              </td>
            </tr>

            <tr>
              <td>2010-10-05</td>

              <td>Ask root for the creation of committers' accounts on
              people.apache.org.<br /> (see <a href="http://issues.apache.org/jira/browse/INFRA-3000">INFRA-3000</a>)
              </td>
            </tr>
          </table>
</div>
<h4 id='Project+specific'>Project specific</h4>
<div class="section-content">
<p>
            <em>(none)</em>
          </p>
</div>
</div>
<h3 id='Incubation'>Incubation</h3>
<div class="section-content">
<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>
<h4 id='Collaborative+Development'>Collaborative Development</h4>
<div class="section-content">
<ul>
            <li>Have all of the active long-term volunteers been identified
            and acknowledged as committers on the project? 
	    <br /><b>YES</b>
	    </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.)
	    <br /><b>YES</b>
	    </li>

            <li>Are project decisions being made in public by the
            committers?
	    <br /><b>YES</b>
	    </li>

            <li>Are the decision-making guidelines published and agreed to by
            all of the committers?</li>
          </ul>
</div>
<h4 id='Licensing+awareness'>Licensing awareness</h4>
<div class="section-content">
<ul>
            <li>Are all licensing, trademark, credit issues being taken care
            of and acknowleged by all committers?
	    <br /><b>YES</b>
	    </li>
          </ul>
</div>
<h4 id='Project+Specific'>Project Specific</h4>
<div class="section-content">
<p>
            <em>(none).</em>
          </p>
</div>
</div>
<h3 id='Exit'>Exit</h3>
<div class="section-content">
<p>
          <em>Things to check for before voting the project out.</em>
        </p>
<h4 id='Organizational+acceptance+of+responsibility+for+the+project'>Organizational acceptance of responsibility for the
          project</h4>
<div class="section-content">
<ul>
            <li>If graduating to an existing PMC, has the PMC voted to accept
            it?
	    <br /><b>n/a</b>
            </li>

            <li>If graduating to a new PMC, has the board voted to accept
            it?
	    <br /><b>YES</b>
            </li>
          </ul>
</div>
<h4 id='Incubator+sign-off'>Incubator sign-off</h4>
<div class="section-content">
<ul>
            <li>Has the Incubator decided that the project has accomplished
            all of the above tasks?
	    <br /><b>YES</b>
            </li>
          </ul>
</div>
</div>
</div>
       </div>
   </div>
  
   <div class="row"><div class="span16"><hr noshade="noshade" size="1"/></div></div>
  <div class="row">
   <div class="span16 footer">
     Copyright &#169; 2009-2016 The Apache Software Foundation<br />
     Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
     Apache Incubator, Apache, the Apache feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.
     
     
    </div>
  </div>
 </div> 
 </body>
</html>
