This policy describes how Archivista maintainers consume third-party packages.
This policy applies to all Archivista maintainers and all third-party packages used in the Archivista project.
Archivista maintainers must follow these guidelines when consuming third-party packages:
- Only use third-party packages that are necessary for the functionality of Archivista.
- Use the latest version of all third-party packages whenever possible.
- Avoid using third-party packages that are known to have security vulnerabilities.
- Pin all third-party packages to specific versions in the Archivista codebase.
- Use a dependency management tool, such as Go modules, to manage third-party dependencies.
When adding a new third-party package to Archivista, maintainers must follow these steps:
- Evaluate the need for the package. Is it necessary for the functionality of Archivista?
- Research the package. Is it well-maintained? Does it have a good reputation?
- Choose a version of the package. Use the latest version whenever possible.
- Pin the package to the specific version in the Archivista codebase.
- Update the Archivista documentation to reflect the new dependency.
This policy is enforced by the Archivista maintainers. Maintainers are expected to review each other's code changes to ensure that they comply with this policy.
Exceptions to this policy may be granted by the Archivista project lead on a case-by-case basis.
This policy was adapted from the Kubescape Community