Mature Transition Criteria

Introduction

OW2 projects follow a life cycle composed of three stages: Incubation, Mature and Archive.

Upon request, a projet may want to trigger its status change by :

  1. filling in the Mature checklist
  2. contacting the Technology Council at tc AT ow2 DOT org with the checklist.

This page describes the criteria that will be applied by the Technology Council for deciding that an incubator project may be given the mature status.

After discussion and a unanimous vote mid March 2011, the Technology Council has decided for the set of criteria below, which are summarized in the following table (see the rest of this document for more details).

Technical Criteria
1. Source code, documentation and binariesSource code, documentation and binaries must either be hosted on the OW2 forge infrastructure or be published on a regular basis to OW2 (at least once per release)
2. BuildThe project code base must build and the project must document how the project can be built
3. Project usageThe project must give references about its usage
4. Source repository managementThe project must document its versioning policy on its website
5. Code conventionThe project must document its code convention on its website
6. SQuATThe project must be SQuAT (Software Quality Assurance and Trustworthiness) compliant
Community Criteria
7. CommittersThe project must have more than 1 active committer
8. DashboardThe project must have an up-to-date dashboard
9. ActivityThe project must show that it has activity

The criteria are further detailed in the following sections.

Acceptance Criteria

The Technology Council has decided to remove all business related criteria and focus on technical and community aspects.

Technical Criteria

Source Code + Documentation + Binaries

  • The source code of the project must be available on the OW2 infrastructure.
    • Either the OW2 forge is used as the main development point
    • Or the project maintainers must publish on a regular basis their code on OW2
      • This has to be managed by an automatic script
      • Regular basis meaning "Once per release"
  • The same rule applies for documentation and binaries

Build

  • The project code-base must build.
    • Build means here compile + tests OK
  • A continuous integration mechanism must be used to ensure the build is a success.
  • The way to build the system has to be documented on the web site
    • Like a cookbook explaining required environment and software + step by step build process
Projects could use the OW2 in-house Continuous Integration System (http://bamboo.ow2.org ) or provide a link to their own CI system elsewhere.

Project's Usage

The projects must show that it is used within the OW2 universe or outside.

Possible Control Points:

  • Code sharing with maven repository
  • Gives references of client system (using the project)
  • Gives references of business users
  • ...

Quality

Quality is an important factor of maturity acceptance and has not to be neglected.

Source Repository Management

The project must have means of separating active development from versioning and bug-fixing in the source repository.
It must be documented on the web site.

Example
Active development goes into a trunk and branches are used for stabilization.

Code Conventions

A mature project must follow a code convention guideline.
It must be documented on the web site.
This guideline should be enforced by using tools such as checkstyle.

It is not the aim of OW2 to provides a strict code guideline, but OW2 may define in the future a set of conventions that could be used by default by projects.

SQuAT

SQuAT (Software Quality Assurance Trustworthiness) is OW2 software quality program; it provides a set of tools dedicated to software quality.

Using the SQuAT tools, it will be easier to ensure of the quality of a project (IP/Licence management, code style, ...).

A mature project has to publish reports concerning the following aspects:

At the time of writing, the tools producing theses reports are being deployed.
As a consequence, until the general availability of theses tools (expected by mid 2012) the SQuAT criteria is not required, but it will be enforced later on.

Community Criteria

Committers

The project must have more than 1 active committer.

Dashboard

The project's dashboard must be up to date.

Minimal dashboard's content

  • Compulsory
    • Project Name
    • Project description
    • Short project description
    • Status: Mature/Incubator/Archive
    • Function: (in the list of predefined functions)
    • License
    • Forge Link
    • Mailing List link
    • Repository type (SVN, CVS, etc)
    • Repository Link
    • Project Home Page Link
    • Case study
  • Recommended (not compulsory)
    • Logo Image
    • License Link
    • Project DataSheet link (the link must be to a PDF file)
    • Professional support link
    • Standard implemented
    • Project roadmap (link)
  • Proposed
    • Community information (list size, traffic, #committers, ...)

Active

The project must show that it is in activity:

  • Exchanges (question + answer) on the mailing lists
    • Community support
    • The number of commits on the last 6 months
  • Last commits
  • The number of mail / month (on the last 6 months).
  • Someone must provide support for the project (maybe not commercial support)

Get Involved

Share technical know how with other users, and help to promote OW2

Powered by XWiki Hosted by Xsalto Free PageRank Checker Creative Commons 2.0 license Legal Notice