title: A Maturity Model for Apache Projects tags: [“governance”,“maturity”,“incubator”]

The Apache Project Maturity Model provides a suggested framework for evaluating the overall maturity of an Apache project community and the codebase that it maintains. While this model is specific to projects of the Apache Software Foundation (ASF), many of these factors apply to any open source project.

Overview

The goals of this maturity model are to describe how Apache projects operate in a concise and high-level way, and to provide a basic framework that projects may choose to use to evaluate themselves.

It is usable outside of the ASF as well, for projects that might want to adopt some or all of these principles. Projects that envision moving to the ASF at some point might start working towards this to prepare for their move.

It does not describe all the details of how our projects operate, but aims to capture the invariants of Apache projects and point to additional information where needed. To be as concise as possible we use footnotes for anything that's not part of the core model.

Contrary to other maturity models, we do not define staged partial compliance levels. A mature Apache project complies with all the elements of this model, and other projects are welcome to adopt the elements that suit their goals.

Note that we try to avoid using the word “must” below. The model describes the state of a mature project, as opposed to a set of rules.

Projects which incubate at the ASF might not fit into all the parts of this model; however a major goal of incubation is to bring the project's community closer to it.

We welcome questions and feedback about this model on the comdev mailing list.

The Apache Project Maturity Model

Each item in the model has a unique ID to allow it to be easily referenced elsewhere.

Code

Licenses and Copyright

Releases

Quality

Community

Consensus Building

Independence

Trademark and Branding

Notable items from the Trademark Policy, FAQ, Guide, and PMC Branding Responsibilities. The project‘s PMC should comply with ASF’s branding and trademark policy in all places it controls.

How To Use The Apache Project Maturity Model

Remember: This model is a guide; it is not a requirements document. The model shows what generally good behaviors in an Apache project look like.

So far, inside the ASF, podlings preparing their graduation from the Apache Incubator have used this model, mostly for self-assessment.

It might be useful for top-level ASF projects to regularly assess their maturity based on this model, but this is not a requirement at this time.

Here are a few self-assessment examples:

Other Open Source Project Models

See https://s.apache.org/apache_maturity_model for the discussions that led to this document. Thanks to the many people who provided input! The links below are both inspirations for our model, and are some of the other ways that FOSS project participants have tried to quantify ways to measure open source projects.

Status / Document Version

v1.0, February 2015, defined by consensus by Apache Community Development project.

v1.1, October 2016 added RE50.

v1.2, February 2018, reworked the “how to use” section with more links to self-assessments.

v1.3, June 2021, improve readability and simplify the language where possible.

v1.4, December 2024, added the Trademark and Branding section (TB10-TB40).

See the svn revision history (for older versions) and GitHub history (since March 2020) of this document for more details and other minor changes.

Footnotes

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

(11)

(12)

(13)

(14)

TB40 is a balancing act: we hope that PMCs are spending some time responding to any obvious or blatant misuses of their brand. But PMCs sometimes can't handle all the details of actually stopping a potential infringement; what we really need is for PMCs to actively report them, and then promptly respond if Brand Managment (or other officers) ask for information when addressing a misuse.

(15)