Skip to content

maturity model assessment

jimin edited this page Jul 13, 2025 · 2 revisions

Maturity model assessment

The following table is filled according to the Apache Maturity Model. Everyone is welcome to evaluate and discuss.

CODE

ID Description Status
CD10 The project produces Open Source software for distribution to the public, at no charge. YES The source code for all seven projects associated with Apache Seata is licensed under the Apache License 2.0.
CD20 Anyone can easily discover and access the project's code. YES All code repositories, including the official website, are hosted on GitHub.
CD30 Anyone using standard, widely-available tools, can build the code in a reproducible way. YES Apache Seata provides guidelines on how to compile and contribute in the documentation.
CD40 The full history of the project's code is available via a source code control system, in a way that allows anyone to recreate any released version. YES The code is managed using Git, allowing you to view the complete change history based on Git.
CD50 The source code control system establishes the provenance of each line of code in a reliable way, based on strong authentication of the committer. When third parties contribute code, commit messages provide reliable information about the code provenance. YES The project uses GitHub and is managed by Apache Infra, ensuring the provenance of each line of code to a committer. Third-party contributions are accepted in accordance with the contributing guidelines.

LICENSE

ID Description Status
LC10 The Apache License, version 2.0, covers the released code. YES The project is licensed under the Apache License 2.0, and all source files include the APLv2 header.
LC20 Libraries that are mandatory dependencies of the project's code do not create more restrictions than the Apache License does. YES All dependencies are listed.
LC30 The libraries mentioned in LC20 are available as Open Source software. YES All dependencies are listed are available as Open Source software.
LC40 Committers are bound by an Individual Contributor Agreement (the "Apache iCLA") that defines which code they may commit and how they need to identify code that is not their own. YES All the committers and PPMC members have iCLAs.
LC50 The project clearly defines and documents the copyright ownership of everything that the project produces. YES And all source files are with APLv2 header.

Releases

ID Description Status
RE10 Releases consist of source code, distributed using standard and open archive formats that are expected to stay readable in the long term. YES Source release is distributed via dist.apache.org and linked from download page.
RE20 The project's PPMC (Project Management Committee, see CS10) approves each software release in order to make the release an act of the Foundation. YES All releases have been voted on and approved via [email protected] and [email protected], with each release receiving at least 3 binding votes.
RE30 Releases are signed and/or distributed along with digests that anyone can reliably use to validate the downloaded archives. YES All Apache Seata releases are PGP-signed, and the corresponding KEYS file is publicly available to verify release.
RE40 The project can distribute convenience binaries alongside source code, but they are not Apache Releases, they are provided with no guarantee. YES User can easily build binaries from source code.
RE50 The project documents a repeatable release process so that someone new to the project can independently generate the complete set of artifacts required for a release. YES The Apache Seata official website provides documentation on how to release Seata.

Quality

ID Description Status
QU10 The project is open and honest about the quality of its code. Various levels of quality and maturity for various modules are natural and acceptable as long as they are clearly communicated. YES We report issues through open GitHub issues and enforce strict unit test coverage requirements in CICD pipelines.
QU20 The project puts a very high priority on producing secure software. YES Security issues reported in previous releases are typically addressed in next version. To date, more than four CVE entries have been acknowledged and resolved.
QU30 The project provides a well-documented, secure and private channel to report security issues, along with a documented way of responding to them. Yes The Apache Seata GitHub issue templates and official documentation provide guidance on reporting security issues.
QU40 The project puts a high priority on backwards compatibility and aims to document any incompatible changes and provide tools and documentation to help users transition to new features. Yes Apache Seata ensures protocol, data, and API compatibility across all versions and provides upgrade documentation for each release.
QU50 The project strives to respond to documented bug reports in a timely manner. YES We handle issues and pull requests (PRs) daily. To date, we have resolved over 4,000 issues and merged more than 3,000 PRs.

Community

ID Description Status
CO10 The project has a well-known homepage that points to all the information required to operate according to this maturity model. YES The official website contains all necessary information that users/developers required.
CO20 The community welcomes contributions from anyone who acts in good faith and in a respectful manner, and who adds value to the project. Yes Apache Seata welcomes all contributors and provides contributing guidelines to assist with onboarding and collaboration.
CO30 Contributions include source code, documentation, constructive bug reports, constructive discussions, marketing and generally anything that adds value to the project. YES Apache Seata welcomes all valuable contributions to the project, including documentation improvements. Contributors even in non-code areas like documentation—have been nominated as committers in the past.
CO40 The community strives to be meritocratic and gives more rights and responsibilities to contributors who, over time, add value to the project. YES In addition to the initial committers, 4 PPMC members and 18 committers(it includes 4 members who have become PPMC members from Committers) were elected during the incubation period.
CO50 The project documents how contributors can earn more rights such as commit access or decision power, and applies these principles consistently. YES The community has clear docs on nominating committers and PPMC members
CO60 The community operates based on consensus of its members (see CS10) who have decision power. Dictators, benevolent or not, are not welcome in Apache projects. YES The community conducts initial discussions via the mailing list. If diverging opinions arise, a formal vote will be initiated through the same channel, following the ASF's Consensus Voting Guidelines.All decisions are made after vote by community members.
CO70 The project strives to answer user questions in a timely manner. YES We use [email protected], GitHub issue and GitHub discussion to do this in a timely manner.

Consensus

ID Description Status
CS10 The project maintains a public list of its contributors who have decision power. The project's PPMC (Project Management Committee) consists of those contributors. Yes On the Seata official website's Team page, we maintain the list of PPMC members and committers.
CS20 Decisions require a consensus among PPMC members and are documented on the project's main communications channel. The PPMC takes community opinions into account, but the PPMC has the final word. YES All decisions are based on discussions and voting in the dev/private mailing group, and with at least 3 +1 votes from PPMC.
CS30 The project uses documented voting rules to build consensus when discussion is not sufficient. YES The project uses the standard ASF voting rules.
CS40 In Apache projects, vetoes are only valid for code commits. The person exercising the veto must justify it with a technical explanation, as per the Apache voting rules defined in CS30. YES Apache Seata community has not used the veto power yet except for code commits.
CS50 All "important" discussions happen asynchronously in written form on the project's main communications channel. Offline, face-to-face or private discussions that affect the project are also documented on that channel. YES All important discussions are recorded in written form.

Independence

ID Description Status
IN10 The project is independent from any corporate or organizational influence. YES All PPMC members and committers nominated during the incubation period come from different companies, and more than 90% of their members are not from donation companies.
IN20 Contributors act as themselves, not as representatives of a corporation or organization. YES All contributions are made by individuals acting independently, not on behalf of companies or organizations.
Clone this wiki locally