Stability Markers indicate how mature a project is.
Projects naturally go through stages. Some are experimental and in flux. Others enjoy steady contribution toward a clear roadmap. Still others are basically finished, needing only the occasional fix. And, as is the nature of our business, sometimes software becomes obsolete.
Repositories on GitHub and other places use Stability Markers to let users know what to expect from a project. Early adopters may be excited to find new experimental projects, while developers concerned with production usage might instead look for active or sustained projects. Finally, it is the nature of software to change, and sometimes projects become unsupported. The Stability Markers project helps you inform your users which of these is the case.
Using a stability marker is as simple as including the relevant badge on your site. We strongly recommend linking the badge back to our description so that users unfamiliar with Stability Markers can learn more.
In most cases, projects move from one stability marker to the next, in sequence. Below, they are presented in the order of the presumed ideal lifecycle.
Not ready for prime-time. Code has not stabilized. Full description
At least one stable release, active contributors, and major future releases. Full description
At least one stable release, considered “feature complete”, and future releases focus on stability and security. Full description
At least one stable release. Product is considered mature, and maintainers only make bug fixes. Full description
The project is no longer maintained. This does not mean there is anything wrong with the project; it reflects the state of activity. Full description
Stability Markers are intended to indicate the maturity of a project, not of the code itself. (SemVer is for code stability.) Stability Markers are intended to answer questions like:
Because of the nature of software, many of these questions are tied to
the maturity of the code. Stability Markers, for example, require at
least one stable release before a project can exit
Stability Markers are self-governed: Project owners self-assign the Stability Marker they believe best describes their project.
If you use Stability Markers for your project(s), we humbly request that you star this project on GitHub so that we have at least a basic metric for how many people find this project useful.