docs/stability.pod -- Parrot Component/Interface Stability Classification
This document classifies Parrot components and interfaces based on their stability. Stability is a measure of likeliness that a component or interface will change in a subsequent version. Components include command-line tools, and documents (eg. PDDs.) Interfaces include API/ABIs, modules, libraries, environment variables, and implementations (eg. source and headers.)
Stability classifications must be included in component or interface documentation. For an example, see the STABILITY section of this doc.
There are five categories of stability, as described below:
This component or interface is only for use within Parrot; it shouldn't be exposed or used externally. It may be modified or removed at any time.
Externally visible, but under active development. Use at your own risk.
Externally visible, but under development. Changes must include documentation (and tests where appropriate,) and must be reviewed by the Project Team before committing to master. Backward compatibility is maintained when possible.
Externally visible and unlikely to change between minor releases. Changes must include docs and tests, must be reviewed and approved by the Project Team, and cannot be applied without a deprecation cycle for any affected component or interface.
This component or interface is no longer supported; it will be removed after the completion of its deprecation cycle (the next supported release.) Items that have been deprecated but not yet removed are documented in the top level api.yaml.
- Determine where and how stability should be documented for each component/interface
Stable. This proposal has been reviewed and accepted by the Project Team, and is executed in practice for over 7 years.
jerry gay a.k.a. particle