##
## $Rev: 46019 $ $Date: 2004-09-14 02:56:06 -0700 (Tue, 14 Sep 2004) $
##

Exit Criteria
(put an X next to item when it is complete):

Copyrights & Licensing

  -- Do all the software in the codebase has its copyright assigned to The
     Apache Software Foundation?

  -- Do All the software in the codebase, are licensed (or multi-licensed) under the
     Apache licence?

  -- Do all the software in the codebase,are compliant with the
     Specifications set by Java Community Process?(Wherever applicable)
     * This criteria has been superceded by the Exit Milestone below

Distribution rights

  -- For all code included with the distribution that is not under the
     Apache license, do we have the right to combine with Apache-licensed
     code and redistribute?

  -- Is all source code distributed by the project 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?

Infrastructure

X -- SVN modules created and committers added to avail file?
     Yes:       https://svn.apache.org/repos/asf/incubator/yoko

  -- Are the developer,commit and user mailing lists set up and archived?

X -- Bug tracking system enabled?
     Yes:       https://issues.apache.org/jira/browse/YOKO

  -- wiki based documentation site enabled?

  -- Has the project migrated to our infrastructure?

Committers:

  -- Have all of the active long-term volunteers been identified
     and acknowledged as committers on the project?

  -- Have all the commiters signed the CLA?

  -- Do they have accounts on svn.apache.org?

X -- Are there three or more independent committers?
     Yes

Collaborative Development:

  -- Are project decisions being made in public by the committers?

  -- Are the decision-making guidelines published and agreed to by
     all of the committers?

  -- Does the documentation site has enough information on the architecure, design decisions and
     modules?

  -- Has the community, the graduation/new PMC of the project to which the codebase and community
     will move at the end of incubation (if any), and the Incubator PMC, decided the
     expected time frame of stay in incubator?

  -- Has the community adopted the Apache voting rules and is otherwise following the Apache
     guidelines?

Exit Milestone:

organisational acceptance:

  -- Has the board accepted moving to a existing/new PMC?


Incubator sign-off:

  -- Has the Incubator decided that the project has accomplished all
     of the above tasks?
