| title: Maturity Model | Grails® Framework |
| CSS: /stylesheets/support.css |
| --- |
| <div class='header-bar chalices-bg'> |
| <div class='content'> |
| <h1>Maturity Model</h1> |
| </div> |
| </div> |
| <div class='content'> |
| <article> |
| <p> |
| <em>This page reflects the Apache Grails project's self-assessment of their maturity according to the |
| <a href="https://community.apache.org/apache-way/apache-project-maturity-model.html">ASF Project |
| Maturity Model</a>.</em> |
| </p> |
| |
| <h2>Code</h2> |
| |
| <h3>CD10</h3> |
| |
| <p>The project produces Open Source software for distribution to the public at no charge.</p> |
| |
| <p>All code is under the Apache license (or compatible 3rd party licenses) and available from ASF distribution |
| channels and GitHub.</p> |
| |
| <h3>CD20</h3> |
| |
| <p>Anyone can quickly discover and access the project's code.</p> |
| |
| <p>The code is available under ASF/GitHub, and the project’s website contains instructions on how to obtain it. |
| </p> |
| |
| <h3>CD30</h3> |
| |
| <p>Anyone using standard, widely available tools can build the code reproducibly.</p> |
| |
| <p>The project includes instructions on required prerequisites and instructions on how to build the software. |
| </p> |
| |
| <h3>CD40</h3> |
| |
| <p>The complete history of the project's code is available via a source code control system, which allows anyone |
| to recreate any released version.</p> |
| |
| <p>The latest code is available from ASF/GitHub, and previous versions have been tagged. Previous releases since |
| joining are archived at the ASF and available for download.</p> |
| |
| <h3>CD50</h3> |
| |
| <p>The source code control system establishes the provenance of each line of code in a reliable way, based on |
| strong authentication of the committer.</p> |
| |
| <p>When third parties contribute code, commit messages provide reliable information about the code provenance. |
| All code is committed via version control. The LICENSE file also lists 3rd party code and its license.</p> |
| |
| <h2>Licenses and Copyright</h2> |
| |
| <h3>LC10</h3> |
| |
| <p>The Apache License, version 2.0, covers the released code.</p> |
| |
| <p>The code is licensed under the Apache License 2.0.</p> |
| |
| <h3>LC20</h3> |
| |
| <p>Libraries that are mandatory dependencies of the project's code do not create more restrictions than the |
| Apache License does.</p> |
| |
| <p>Extensive work has been done on third-party licenses for both the source release and convenience binaries. |
| One issue with a Hibernate dependency has been discussed and is subject to further resolution but isn't the |
| sole mandatory option for this functionality. |
| Further work is expected to remove the licensing issue with this dependency.</p> |
| |
| <h3>LC30</h3> |
| |
| <p>The libraries mentioned in LC20 are available as Open Source software.</p> |
| |
| <p>All mandatory dependencies are open source software.</p> |
| |
| <h3>LC40</h3> |
| |
| <p>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.</p> |
| |
| <p>All committers have signed ICLAs.</p> |
| |
| <h3>LC50</h3> |
| |
| <p>The project clearly defines and documents the copyright ownership of everything that the project produces. |
| </p> |
| |
| <p>The LICENSE and NOTICE files list additional information needed here.</p> |
| |
| <h2>Releases</h2> |
| |
| <h3>RE10</h3> |
| |
| <p>Releases consist of source code, distributed using standard and open archive formats that are expected to |
| stay readable in the long term.</p> |
| |
| <p>Releases are source code and are performed and distributed in the standard ASF way.</p> |
| |
| <h3>RE20</h3> |
| |
| <p>The project's PMC (Project Management Committee, see CS10) approves each software release to make the release |
| an act of the Foundation.</p> |
| |
| <p>Each release has been voted on, following ASF policy, by the PPMC.</p> |
| |
| <h3>RE30</h3> |
| |
| <p>Releases are signed and/or distributed along with digests that anyone can reliably use to validate the |
| downloaded archives.</p> |
| |
| <p>Releases are signed and the release area on the website includes hashes and links to KEYs files.</p> |
| |
| <h3>RE40</h3> |
| |
| <p>The project can distribute convenience binaries alongside source code, but they are not Apache Releases, they |
| are provided with no guarantee.</p> |
| |
| <p>Convenience binaries are distributed alongside source releases. Their LICENSE and NOTICE files are correct. |
| </p> |
| |
| <h3>RE50</h3> |
| |
| <p>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.</p> |
| |
| <p>Releases have been made by several release managers and the project includes documentation on how to make a |
| release. The last release included a standard incubating DISCLAIMER. There is some minor work to be done on |
| documenting the release process and improving the release scripts.</p> |
| |
| <h2>Quality</h2> |
| |
| <h3>QU10</h3> |
| |
| <p>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.</p> |
| |
| <p>All code is reviewed by at least one committer before being merged and must pass CI checks.</p> |
| |
| <h3>QU20</h3> |
| |
| <p>The project puts a very high priority on producing secure software.</p> |
| |
| <p>The project uses various automation processes to ensure dependencies are kept up to date.</p> |
| |
| <h3>QU30</h3> |
| |
| <p>The project provides a well-documented, secure and private channel to report security issues, along with a |
| documented way of responding to them.</p> |
| |
| <p>The project uses the standard way of reporting ASF security issues.</p> |
| |
| <h3>QU40</h3> |
| |
| <p>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.</p> |
| |
| <p>All PRs, including information on if there are breaking changes, and release notes on each release, also |
| include this.</p> |
| |
| <h3>QU50</h3> |
| |
| <p>The project strives to respond to documented bug reports in a timely manner.</p> |
| |
| <p>The large majority of issues and PRs are dealt with quickly, although a number of outstanding older issues |
| from pre-ASF days remain.</p> |
| |
| <h2>Community</h2> |
| |
| <h3>CO10</h3> |
| |
| <p>The project has a well-known homepage that points to all the information required by ASF policy.</p> |
| |
| <p>The Grails website (https://grails.apache.org) is well known and contains all the information needed by ASF |
| policy. (A couple of points need fixing before this is actually true, but they are well-known and simple.) |
| </p> |
| |
| <h3>CO20</h3> |
| |
| <p>The community welcomes contributions from anyone who acts in good faith, respectfully, and adds value to the |
| project.</p> |
| |
| <p>Several hundred folks have contributed to the core Grails project during its lifespan and more on plugins. |
| More than 20 folks have contributed to the core project since incubation started. Several contributors have |
| been made committers and PMC members since the start of incubation.</p> |
| |
| <h3>CO30</h3> |
| |
| <p>Contributions include source code, documentation, constructive bug reports, constructive discussions, |
| marketing and generally anything that adds value to the project.</p> |
| |
| <p>The project values all forms of contribution and has accepted code, documentation fixes/improvements, bug |
| reports etc.</p> |
| |
| <h3>CO40</h3> |
| |
| <p>The community strives to be meritocratic and gives more rights and responsibilities to contributors who, over |
| time, add value to the project.</p> |
| |
| <p>Several contributors have been made committers and PPMC members since the start of incubation.</p> |
| |
| <h3>CO50</h3> |
| |
| <p>The project documents how contributors can earn more rights, such as commit access or decision power, and |
| applies these principles consistently.</p> |
| |
| <p>Several contributors have been made committers and PMC members since the start of incubation. These |
| committers have been based on merit and come from several different employers.</p> |
| |
| <h3>CO60</h3> |
| |
| <p>The community operates based on the consensus of its members (see CS10), who have decision power. Dictators, |
| benevolent or not, are not welcome in Apache projects.</p> |
| |
| <p>The project’s direction is set by the PMC, there is no BDFY.</p> |
| |
| <h3>CO70</h3> |
| |
| <p>The project strives to answer user questions in a timely manner.</p> |
| |
| <p>User questions on GitHub and the mailing list are usually answered promptly. There is room for improvement in |
| a few isolated cases.</p> |
| |
| <h2>Consensus Building</h2> |
| |
| <h3>CS10</h3> |
| |
| <p>The project maintains a public list of its contributors who have decision power. The project's PMC (Project |
| Management Committee) consists of those contributors.</p> |
| |
| <p>The PPMC and committer list are kept up to date when new people are added. There is no public list of the PMC |
| on the site, but it is available via several ASF services.</p> |
| |
| <h3>CS20</h3> |
| |
| <p>Decisions require a consensus among PMC members and are documented on the project's main communications |
| channel. The PMC takes community opinions into account, but the PMC has the final word.</p> |
| |
| <p>Votes on releases and other major decisions are conducted on the mailing list.</p> |
| |
| <h3>CS30</h3> |
| |
| <p>The project uses documented voting rules to build consensus when discussion is not sufficient.</p> |
| |
| <p>There has been no need to use voting in this way so far.</p> |
| |
| <h3>CS40</h3> |
| |
| <p>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.</p> |
| |
| <p>There have been no code vetos. Most significant code contributions use RTC, so this reduces the number of |
| possible vetos. The code is reviewed, and feedback is acted on before it is merged.</p> |
| |
| <h3>CS50</h3> |
| |
| <p>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.</p> |
| |
| <p>There is discussion on the mailing list, and in GitHub issues and discussions. This is asynchronous. There |
| are regular online meetings where anyone is welcome and a summary of discussions is brought back to the |
| mailing list. |
| There are no offline meetings or discussions where private decisions are made.</p> |
| |
| <h2>Independence</h2> |
| |
| <h3>IN10</h3> |
| |
| <p>The project is independent of any corporate or organizational influence.</p> |
| |
| <p>The active contributors are from a diverse range of organisations.</p> |
| |
| <h3>IN20</h3> |
| |
| <p>Contributors act as themselves, not as representatives of a corporation or organization.</p> |
| |
| <p>Individuals do act independently and for the community and project as a whole.</p> |
| |
| <h2>Trademark and Branding</h2> |
| |
| <h3>TB10</h3> |
| |
| <p>The project uses "Apache Foo™" as the project and software product name consistently, with appropriate |
| trademark attributions.</p> |
| |
| <p>The project uses Apache Grails and complies with ASF trademark policy.</p> |
| |
| <h3>TB20</h3> |
| |
| <p>The project's primary homepage is at projectname.apache.org. When exceptions exist to use alternate domains |
| for any purpose, any non-apache.org domain names are owned by the ASF.</p> |
| |
| <p>The project's website is at https://grails.apache.org.</p> |
| |
| <h3>TB30</h3> |
| |
| <p>The ASF has trademark rights, including any registrations, to the project name, logo, and any other major |
| branding elements.</p> |
| |
| <p>The name Grails and its logo is a registered trademark and agreement has been reached to transfer the |
| trademarks to the ASF upon successful graduation.</p> |
| |
| <h3>TB40</h3> |
| |
| <p>The project monitors for any major misuses of their project's brand by others, and reports any potential |
| misuses to Brand Management.</p> |
| |
| <p>There have been no significant misuses of the project’s brand.</p> |
| |
| |
| </article> |
| </div> |