squirrel-project / squirrel_nav

Repository for navigation related SQUIRREL packages.
5 stars 10 forks source link

Syncronize license types #90

Closed ipa-nhg closed 7 years ago

ipa-nhg commented 7 years ago

I am not sure if this is still missed, but before make this public I would like to verify that the licenses types of all the packages are right and now you are mixing different licenses types

ghost commented 7 years ago

So the main point here is that I am not a lawyer and I don't know exactly how things works with licenses. The main points are these:

  1. squirrel_navigation and squirrel_2d_localizer depends upon Eigen 3.1.2 which is licensed under MPLv2, I guess this is ok. Also g2o is doing this, so it's ok.
  2. squirrel_pointcloud_filter is ok (all BSD)
  3. squirrel_3d_mapping is a modification of OctomapServer. OctomapServer is licensed under BSD-3c we retained the copyright statement of the original authors so it should be no problem. We added some extra code under BSD-3c so it's ok.
  4. squirrel_3d_localizer is a modification of humanoid_localization, licensed under GPLv3. We retained the copyright statement so everything is in GPLv3. This should be ok (as long as humanoid_localization is ok). I don't know whether we should actually change the copyright statement and give credit to the original version or keep the same as in BSD. I maybe figure this out asap and let you know (I double checked GPL and it's not clear, didn't think about this before). So not release right now.
  5. squirrel_footprint_observer is released under GPLv3 cause it uses libcgal which is partly LGPL and partly GPL... so I went for the sure one. Since humanoid_localization is released under GPL I guess it's no problem releasing ROS packages under GPLv3, furthermore this is compliant with cgal, so this should be ok.
  6. squirrel_dynamic_filter you should ask @ayushais. As far as I know, I notice it is under MIT. Here the scenario:

    • mlpack is BSD-3c, so should be no problem
    • g2o which is BSD-3c. However, if CHOLMOD is used, then a GPL dependencies is statically linked to the project, therefore GPL is required. Consequently BSD and MIT might be not allowed.

    @ayushais please address point 6.. I suggest anyway to remove any linking to CHOLMOD and SuiteSparse if any and switch maybe to Eigen solvers and so on. Morever, change the license to BSD-3c.

To summarize:

Hope this explain enough.

Best

ghost commented 7 years ago

Btw, @ipa-nhg maybe regarding point 4. you know

ipa-nhg commented 7 years ago

@federico-b thanks a lot for the summary, from my point of view it is right but I am not a licenses expert probably @mzillich knows this better than me.

Btw, I will NOT release the code, right now I only want to do the code public. If we release the code this will happen after the final review but I am not sure if we will release official ROS code or just use the buildbot system to generate debian packages and open a mirror to download it. We have some dependencies that rosdistro will not allow, if this can not be solved before the end of the project a full ROS release of all the squirrel packages will not be possible.

But of course for those isolated squirrel packages with "allowed" dependencies that you want to release I will support the submit to rosdistro.