This document is a declaration of software quality for the `adaptive_component` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html). # `adaptive_component` Quality Declaration The package `adaptive_component` claims to be in the **Quality Level 4** category when it is used with a **Quality Level 4** middleware. Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Quality Categories in REP-2004](https://www.ros.org/reps/rep-2004.html). ## Version Policy [1] ### Version Scheme [1.i] `adaptive_component` uses `semver` according to the recommendation for ROS Core packages in the [ROS 2 Developer Guide](https://docs.ros.org/en/rolling/Contributing/Developer-Guide.html#versioning). ### Public API Declaration [1.iii] All symbols in the installed headers are considered part of the public API. All installed headers are in the `include` directory of the package, headers in any other folders are not installed and considered private. ### API Stability Within a Released ROS Distribution [1.iv]/[1.vi] `adaptive_component` will not break public API within a released ROS distribution, i.e. no major releases once the ROS distribution is released. ### ABI Stability Within a Released ROS Distribution [1.v]/[1.vi] `adaptive_component` contains C and C++ code and therefore must be concerned with ABI stability, and will maintain ABI stability within a ROS distribution. ## Change Control Process [2] `adaptive_component` follows the recommended guidelines for ROS Core packages in the [ROS 2 Developer Guide](https://docs.ros.org/en/rolling/Contributing/Developer-Guide.html#quality-practices). ### Change Requests [2.i] This package requires that all changes occur through a pull request. ### Peer Review Policy [2.iii] Following the recommended guidelines for ROS Core packages, all pull requests must have at least 1 peer review. ## Documentation [3] ### License [3.iii] The license for `adaptive_component` is Apache 2.0, and a summary is in each source file, the type is declared in the [package.xml](package.xml) manifest file, and a full copy of the license is in the [LICENSE](LICENSE) file. ### Copyright Statements [3.iv] The copyright holders each provide a statement of copyright in each source code file in `adaptive_component`. ## Testing [4] ## Dependencies [5] Below are evaluations of each of `adaptive_component`'s run-time and build-time dependencies that have been determined to influence the quality. ### Direct Runtime ROS Dependencies [5.i]/[5.ii] `adaptive_component` has the following runtime ROS dependencies: #### `rclcpp` The `rclcpp` package provides the ROS client library in C++. It is **Quality Level 1**, see its [Quality Declaration document](https://github.com/ros2/rclcpp/blob/master/rclcpp/QUALITY_DECLARATION.md). ### Direct Runtime Non-ROS Dependencies [5.iii] `adaptive_component` does not have any runtime Non-ROS dependencies. ## Platform Support [6] `adaptive_component` claims supports only for arm64 bits in PetaLinux/OpenEmbedded and Ubuntu Focal platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers). # Security [7] ## Vulnerability Disclosure Policy [7.i] This package conforms to the Vulnerability Disclosure Policy in [REP-2006](https://www.ros.org/reps/rep-2006.html).