-
Notifications
You must be signed in to change notification settings - Fork 100
Description
Background
Debian packages need copyright files according to this format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/. Currently, copyright files are created by this template https://github.com/ros-infrastructure/bloom/blob/master/bloom/generators/debian/templates/ament_python/copyright.em. Which is producing copyright files that are not strictly following the format.
This is partly because not all the required information is available in current package.xmls. To add the needed information @ralph-lange created ros-infrastructure/rep#347.
ros_license_linter
The linter https://github.com/boschresearch/ros_license_linter has two intended functionalities:
- checking if the license declaration in the
package.xmlis correct, by scanning the code for existing licenses and comparing that to the declared licenses. - assembling the information for the copyright files
But currently, only the first functionality is implemented.
In a second step, it makes sense to integrate the linter into ament_lint and to make it available as github action.
Why should we have the functionality in a separate package?
There is quite some overlap between the two functionalities of license checking and copyright file creation. So, integrating the functionality to generate copyright files into bloom would create a lot of code duplication when also integrating it into ament_lint.
My Question
With this issue, I would like to ask you @wjwwood, whether you generally agree with this. Because I would then start to implement the PR that would add https://github.com/boschresearch/ros_license_linter as a dependency of bloom and improve the generation of copyright files to match the required format.
Further steps
- In a second step, it would also be desirable to have every package checked by the linter on a bloom release to verify that there are no undeclared licenses in the code. But I think that is a separate discussion.
- I am generally open to moving the license linter into the
ros-infrastructureorg and to maybe renaming it to something more suitable.