Skip to content

Generation of copyright files #697

@ct2034

Description

@ct2034

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.xml is 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-infrastructure org and to maybe renaming it to something more suitable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions