Ask Your Question

Are there attributes for license and author tags in catkin? [closed]

asked 2015-05-28 03:22:43 -0500

updated 2015-05-28 03:23:07 -0500

Like for example:

<license for="libWhatEver">GPLv3</license>
<license for="node">BSD</license>

<author of="libWhatEver">Name</author>
<author of="node">Name</author>

Are there any like that predefined? Can I add custom attributes, will it complain about them and if not would it be recommended to add that?



edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by cyborg-x1
close date 2015-06-29 18:13:21.257611

1 Answer

Sort by ยป oldest newest most voted

answered 2015-05-28 03:47:29 -0500

gvdhoorn gravatar image

updated 2015-05-28 03:49:39 -0500

The format of manifests (package.xml) is documented in REP-127 ('format 1') and REP-140 ('format 2'). In neither do the author or license element define additional attributes like the ones you show in your example (neither REP includes any text that expressly forbids additional attributes though).

Typically, source files for nodes include both a license header and something like an @author .. line in the comment block at the top. This would allow you to express the same information, although it would not be visible in the manifest, nor to any tools that parse the manifests.

PS: it is perfectly possible for a package to have multiple license elements (documented here for format 2 fi), so having files in a package that fall under different licenses is also possible. Again, the file header would contain that information.

edit flag offensive delete link more


I would assume that the additional attributes should not be necessary. If licensing is split between parts of a package, these parts should be different packages. Otherwise depending on a package can become really hard if one needs to adhere to licensing. This might be useful for header files.

dornhege gravatar image dornhege  ( 2015-05-28 03:51:43 -0500 )edit

Sure, but I just wanted to include that it is possible to have a package that contains files that fall under different licenses. Whether that is something that is desirable is something else, but I can imagine situations where it is a necessity (including code that is under a different license fi)

gvdhoorn gravatar image gvdhoorn  ( 2015-05-28 03:57:59 -0500 )edit

So why is it possible to have multiple license tags then?

  <!-- One license tag required, multiple allowed, one license per tag -->
  <!-- Commonly used license strings: -->
  <!--   BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
cyborg-x1 gravatar image cyborg-x1  ( 2015-05-28 04:00:15 -0500 )edit

So why is it possible to have multiple license tags then?

To allow for situations where that is required? I don't really understand your question.

It might not necessarily be something that in normal situations one would want to do, but it is supported because sometimes it is needed.

gvdhoorn gravatar image gvdhoorn  ( 2015-05-28 04:06:47 -0500 )edit

For the package, I need it for, it does not really make sense to me to create a library package out of that code, just because of the license, actually I will stay with the given license (GPLv3), but I was just curious. And I still would like to mention the author for the included stuff.

cyborg-x1 gravatar image cyborg-x1  ( 2015-05-28 04:10:09 -0500 )edit

@gvdhoorn, I was replying to dornhege, who meant to split the package because of the license.

cyborg-x1 gravatar image cyborg-x1  ( 2015-05-28 04:11:48 -0500 )edit

In most cases ROS pkgs do not include the sources of dependencies directly, but depend on libraries or other ROS pkgs. That would avoid the need for multiple licenses, and also for what you propose to do.

For your current situation, you could consider mentioning the author(s) in a readme fi.

gvdhoorn gravatar image gvdhoorn  ( 2015-05-28 04:16:57 -0500 )edit

For authors multiple author tags are commonly used. If you are just using a library, ideally you produce a ROS wrapper package that builds just that (with proper license, author, and maintainer set). This package is what your own code will use.

dornhege gravatar image dornhege  ( 2015-05-28 05:38:02 -0500 )edit

Question Tools

1 follower


Asked: 2015-05-28 03:22:43 -0500

Seen: 109 times

Last updated: May 28 '15