0
$\begingroup$

Rosanswers logo

Hi, I have a question about ROS2 and licensing. I would like to create a Python (pip) package for a built version of ROS2 (version Dashing) to allow for simple installation. This package would then be publicly available through a URL (for free, of course). Is this allowed under the current license, and are there any caveats?

It is my understanding that the components that build up ROS2 are all under the Apache 2.0 license, and I have not found any "NOTICE" files in any of them.

Thank you in advance!


Originally posted by jaosef on ROS Answers with karma: 1 on 2020-01-14

Post score: 0


Original comments

Comment by mgruhler on 2020-01-14:
I'll explicitly post this as a comment, and not as an answer, as this is NOT a legally binding advice about the question you ask. Also, you'll not receive any legal advice here that you'll be able to point to and say "they told me that it is okay..."

Now that the disclaimer is out of the way...

Is this allowed under the current license

Yes, given that you follow all conditions that the license puts on you (see this for some hints)

are there any caveats

Sure, there might be clashes with packages installed via the regular package manager, depending on how you set that up. And any you'll need to update your package for every new release of a ROS2 package. To just name a few (you'll probably guess that I don't think what you try to do is a very good idea)...

the components that build up ROS2 are all under the Apache 2.0 license

You need to be more specific here: What packages do you plan to distribute? Each has a seperate

Comment by mgruhler on 2020-01-14:
license. And those licenses don't need to be the same. It is actually fairly common that some packages, even distributed by the OSRF, don't have the recommended license (take gmapping in ROS1 as an example). So you'll need to check this on a package-per-package basis and comply with the license terms for each package!

I have not found any "NOTICE" files in any of them

Having a "NOTICE" file is not a requirement by the Apache 2.0, nor is distributing a copy of this the only obligation from the Apache 2.0 during redistribution. Check paragraph 4 of the Apache 2.0 license.

So, long story short: Why do you plan to do this in the first place? I guess there are better ways to do this. But to help with that, you'll need to explain in detail your line of thought about proceeding in this fashion (see also http://xyproblem.info),

(Lastly, I'm not familiar enough with pip to judge if this is actually technically feasible...)

Comment by gvdhoorn on 2020-01-14:
Ignoring the legal aspect to this, just some links to ongoing discussions and efforts around "easy distribution" of ROS (2) packages in "a single package" (although not necessarily limited to that):

And it would indeed be good to have a little more information about your intentions @jaosef. Do you have any particular reason for wanting to do this? Or just because it's nice?

+100 for asking this question btw: licensing is not the first thing people think of when looking into this, but it's certainly a very important aspect of the problem.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Like any open source project you can redistribute ROS. ROS is not monolithic so you will have to pay attention to the licenses of all components that you include.

Overall packaging takes a lot of ongoing work and as an individual I would suggest that it will not something that's sustainable without a community effort. As @gvdhoorn mentions there are several community discussions ongoing and it likely makes more sense to get involved with those than to try to go at it on your own.

Along similar lines please consider the impact that you might have if you name grab package names that then would prevent or interfere with the community projects or upstream maintainers from releasing packages as well if they choose to in the future.

And as @mgruhler mentions I would strongly suggest that you ask a little bit more specifically about what you're looking to do, before jumping to a conclusion about the best way to solve it and asking for specific help on that problem.


Originally posted by tfoote with karma: 58457 on 2020-01-14

This answer was ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.