Skip to content

Commit 794bb9d

Browse files
authored
Add quality declaration for statistics_msgs (#102)
Signed-off-by: Stephen Brawner <[email protected]>
1 parent f5b4ab3 commit 794bb9d

File tree

2 files changed

+115
-0
lines changed

2 files changed

+115
-0
lines changed
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
This document is a declaration of software quality for the `statistics_msgs` package, based on the guidelines in [REP-2004](https://www.ros.org/reps/rep-2004.html).
2+
3+
# `statistics_msgs` Quality Declaration
4+
5+
The package `statistics_msgs` claims to be in the **Quality Level 4** category.
6+
7+
Below are the rationales, notes, and caveats for this claim, organized by each requirement listed in the [Package Requirements for Quality Level 4 in REP-2004](https://www.ros.org/reps/rep-2004.html).
8+
9+
## Version Policy [1]
10+
11+
### Version Scheme [1.i]
12+
13+
`statistics_msgs` uses `semver` according to the recommendation for ROS Core packages in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#versioning).
14+
15+
### Version Stability [1.ii]
16+
17+
`statistics_msgs` is not yet at a stable version, i.e. `>= 1.0.0`.
18+
19+
### Public API Declaration [1.iii]
20+
21+
All message definition files located in the `msg` directory are considered part of the public API.
22+
23+
### API Stability Within a Released ROS Distribution [1.iv]/[1.vi]
24+
25+
`statistics_msgs` will not break public API within a released ROS distribution, i.e. no major releases once the ROS distribution is released.
26+
27+
### ABI Stability Within a Released ROS Distribution [1.v]/[1.vi]
28+
29+
`statistics_msgs` does not contain any C or C++ code and therefore will not affect ABI stability.
30+
31+
## Change Control Process [2]
32+
33+
`statistics_msgs` follows the recommended guidelines for ROS Core packages in the [ROS 2 Developer Guide](https://index.ros.org/doc/ros2/Contributing/Developer-Guide/#package-requirements).
34+
35+
### Change Requests [2.i]
36+
37+
This package requires that all changes occur through a pull request.
38+
39+
### Contributor Origin [2.ii]
40+
41+
This package uses DCO as its confirmation of contributor origin policy. More information can be found in [CONTRIBUTING](../CONTRIBUTING.md).
42+
43+
### Peer Review Policy [2.iii]
44+
45+
Following the recommended guidelines for ROS Core packages, all pull requests must have at least 1 peer review.
46+
47+
### Continuous Integration [2.iv]
48+
49+
All pull requests must pass CI on all [tier 1 platforms](https://www.ros.org/reps/rep-2000.html#support-tiers).
50+
51+
### Documentation Policy [2.v]
52+
53+
All pull requests must resolve related documentation changes before merging.
54+
55+
## Documentation
56+
57+
### Feature Documentation [3.i]
58+
59+
`statistics_msgs` has a list of provided [messages](README.md).
60+
New messages require their own documentation in order to be added.
61+
62+
### Public API Documentation [3.ii]
63+
64+
`statistics_msgs` has embedded API documentation, but it is not currently hosted.
65+
66+
### License [3.iii]
67+
68+
The license for `statistics_msgs` is Apache 2.0, the type is declared in the [package.xml](package.xml) manifest file, and a full copy of the license is in the repository level [LICENSE](../LICENSE) file.
69+
70+
There is an automated test which runs a linter that ensures each file has a license statement.
71+
72+
### Copyright Statements [3.iv]
73+
74+
The copyright holders each provide a statement of copyright in each source code file in `statistics_msgs`.
75+
76+
There is an automated test which runs a linter that ensures each file has at least one copyright statement.
77+
78+
The nightly test can be found at [here](http://build.ros2.org/view/Epr/job/Epr__rcl_interfaces__ubuntu_bionic_amd64/lastBuild/)
79+
80+
## Testing [4]
81+
82+
`statistics_msgs` is a package providing strictly message definitions and therefore does not require associated tests and has no coverage or performance requirements.
83+
84+
## Dependencies [5]
85+
86+
### Direct Runtime ROS Dependencies [5.i]/[5.ii]
87+
88+
`statistics_msgs` has the following ROS dependencies:
89+
* `builtin_interfaces`
90+
* `rosidl_default_runtime`
91+
92+
It has several "buildtool" dependencies, which do not affect the resulting quality of the package, because they do not contribute to the public library API.
93+
94+
### Direct Runtime Non-ROS Dependencies [5.iii]
95+
96+
`statistics_msgs` does not have any runtime non-ROS dependencies.
97+
98+
## Platform Support [6]
99+
100+
`statistics_msgs` supports all of the tier 1 platforms as described in [REP-2000](https://www.ros.org/reps/rep-2000.html#support-tiers), and tests each change against all of them.
101+
102+
Currently nightly results can be seen here:
103+
* [linux-aarch64_release](https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/lastBuild/testReport/rcl_interfaces/)
104+
* [linux_release](https://ci.ros2.org/view/nightly/job/nightly_linux_release/lastBuild/testReport/rcl_interfaces/)
105+
* [mac_osx_release](https://ci.ros2.org/view/nightly/job/nightly_osx_release/lastBuild/testReport/rcl_interfaces/)
106+
* [windows_release](https://ci.ros2.org/view/nightly/job/nightly_win_rel/lastBuild/testReport/rcl_interfaces/)
107+
108+
# Security [7]
109+
110+
## Vulnerability Disclosure Policy [7.i]
111+
112+
This package does not yet have a Vulnerability Disclosure Policy

statistics_msgs/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,6 @@ statistics for topics and system resources.
3535
* `window_stop`: End time of the metric measurement window.
3636
* `statistics`: A list of `StatisticDataPoint` representing the values
3737
of collected metrics.
38+
39+
## Quality Declaration
40+
This package claims to be in the **Quality Level 4** category, see the [Quality Declaration](QUALITY_DECLARATION.md) for more details.

0 commit comments

Comments
 (0)