Make level of support and API stability clear
Document the lifecycle status and corresponding level of support
of the library. Examples include:
- Incubating: no support expected
- Stable: SLOs in place to handle issues
- Maintenance: only bugs will be addressed
- Deprecated: critical bugs might be addressed for a limited period of time
- Archived: no work is expected
Clearly state the API and behavioral stability clients can expect from the
library. For example you might say:
- This API is stable and suitable for production use, aside from packages,
classes, and methods marked internal or experimental.
- This API is beta and will not experience an API or behavior breaking change
unless a bug or design flaw is uncovered.
- This API is in development. Anything may change at any time. Stable products
should not depend on it.
Provide and document a feedback mechanism. For example:
- File an issue at https://github.com/…
- Send email to firstname.lastname@example.org