Mature Transition Criteria
OW2follow a life cycle composed of three stages: Incubation, Mature and Archive.
Upon request, a projet may want to trigger its status change by contacting the Technology Council at tc AT ow2 DOT org.
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 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).
|1. Source code, documentation and binaries||Source 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. Build||The project code base must build and the project must document how the project can be built|
|3. Project usage||The project must give references about its usage|
|4. Source repository management||The project must document its versioning policy on its website|
|5. Code convention||The project must document its code convention on its website|
|6. SQuAT||The SQuAT (Software Quality Assurance and Trustworthiness) tools will be introduced later in 2011|
|7. Committers||The project must have more than 1 active committer|
|8. Dashboard||The project must have an up-to-date dashboard|
|9. Activity||The project must show that it has activity|
The criteria are further detailed in the following sections.
The Technology Council has decided to remove all business related criteria and focus on technical and community aspects.
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 and
- 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
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 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.
- Active development goes into a trunk and branches are used for stabilization.
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.
SQuAT (Software Quality Assurance Trustworthiness) is OW2's 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:
- IP/Licence control (Proposed tool: )
- Quality measurements (Proposed tool: )
- Trustworthiness and maturity indicators (Proposed tools:
- (OpenSource Maturity Model)
- (Model of Open Source Software Trustworthiness)
Optionally, a mature OW2 project may publishreports ( / ).
The project must have more than 1 active committer.
The project's dashboard must be up to date.
Minimal dashboard's content
- Project Name
- Project description
- Short project description
- Status: Mature/Incubator/Archive
- Function: (in the list of predefined functions)
- 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)
- Community information (list size, traffic, #committers, ...)
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)