ProjectCategories - coin-or-foundation/tlc GitHub Wiki
Project Classification
This policy addresses the need to classify projects in order to provide users with information regarding project maturity and stability. Requirements for classification should be well-defined and should indicate the following properties of a given project:
- Does the project build out of the box?
- Does the project have a substantial unit test?
- Is the project documented?
- Does the project have versioning and at least one stable release?
- In what language(s) is the project implemented?
- What platforms does the project run on?
- What are the project's dependencies? Project classification will consist of indicating the answers to each of these questions individually, as well as indicating to which of the following blanket hierarchical categories the project belongs.
- Level 1: Projects that don't work yet or don't meet the requirements for becoming a Level 2 project.
- Level 2: Projects that build and do something useful.
- Level 3: Level 2 projects that also have substantial documentation, tutorials, examples codes, or other aids to enhance usability.
- Level 4: Level 3 projects that have versioning, a stable release, and a substantial unit test.
- Level 5: Level 4 projects that are part of the binary distribution. This classification scheme is clearly very subjective. The initial classification will be done by the handler upon submission of the project and will be periodically updated by request of the project manager to the submissions manager. The project manager can appeal any classification decision to the full TLC if requested.