Prelude - Mature level check-list


Technical criteria

Source code
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 siteok
The source code of the project must be available on the OW2 infrastructure. Either the OW2 forge is used as the main source code repository, or the source code is synced from external repositories to the OW2 forge, automatically and on regular basis (at least once per release)ok - reference
For each release, the project must publish an archive file containing the source code corresponding to the release.ok - reference
The project must follow a code convention guideline, which has to be documented on the web site. This guideline should be enforced by using tools such as Checkstyle
  • C: same syntax rules as the ones used by Linux kernel, enforced by cppcheck
  • Python: PEP8 rules enforced by pylint

The rules are documented on the Prelude development guidelines. The lint process is part of the continuous integration process.

Continuous integration
The way to build the project has to be documented on the web site (required environment and step by step process to be followed)ok - reference: Prelude installation
The project code base must compile successfully on the target platforms.ok - reference: Buildbot output
The project must contain automated test suites executing successfully
  • Each Prelude subproject contains a 'tests' folder, see for instance Libprelude tests
  • The tests are executed as part of the build via the 'make check' command
A continuous integration platform must be set up (either within the OW2 forge with Bamboo currently, or an external CI platform)ok - reference: Buildbot output
Binaries
The project binaries must be synced to the OW2 platform, at least once per releaseok - reference
Documentation
A user and a developer documentation must be available
The documentation must be synced to the OW2 forge, at least once per releaseok - reference
Quality assessment
Transversal maturity assessment by filling in and maintaining on a regular basis the Open-source Maturity Model formok - reference: Prelude OMM
Source code static analysis with a tool such as SonarQube

ok - reference: SonarQube.com analysis:

IP and license analysis with a tool such as FOSSologyok - reference
Source code originality analysis with a tool such as Antepedia Reporterok -  Antepedia report for Libprelude - todo: restart Antepedia

Community criteria

Activeness
Existence of discussions around the project on one or several communication channel(s) such as mailing-lists or IRC channelsok - reference: dashboard
Existence of recent source code commitsok - reference: OpenHub activity metrics
Availability of technical support must be (not necessarily commercial)ok - reference: Prelude-SIEM.com
Usage
Committers
The project must have at least two code committers.ok - reference: OpenHub metrics
Dashboard
SPDX license(s) referenceok - see dashboard
Forge linkok - see dashboard
Mailing-list(s) informationok - see dashboard (forum)
Case study(ies)ok - see dashboard
Quality assessment reports covering static analysis, IP/License analysis, originality analysisthe  references to the SonarQube, FOSSology and Antepedia reports on the project's dashboard will be published as soon as the maturity level gets approved by the Technology Council.
Implemented standardsok - see dashboard
Recommended criteria
Datasheetok - see dashboard
Professional support informationok - see dashboard
Project roadmapok - see Prelude roadmap
Community metricsok - reference: OpenHub metrics

Validation:

  • Get the status reviewed by SL and DGA (TC Chair)
  • Submit the new status for approval by the TC