-
Notifications
You must be signed in to change notification settings - Fork 187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
License declaration is missing #76
Comments
Thanks for the help! The Open Robotics team also requested clarifying the license status ros/rosdistro#28331 (review), so this might as well have to be officially addressed. |
@CsatariGergely While I agree to clarify license in a computer-friendly way (believe me as I've even started automating some part of free s/w licensing ros-infrastructure/rospkg#201), to give a quick response in an interest of time,
|
I'm not sure LGPL is coming from |
EDIT: I was confused. I was speaking about the csm repo. This repo I do believe is BSD-3-clause (mostly) and the LGPLv3 is refering to the csm dependency. @cst0 I agree. It seems like this repo was originally released and is currently licensed as LGPLv3, intentionally, regardless of the GSL dependency which is GPL. @130s Make sure to note the difference between LGPL and GPL. I think in practice, the GSL dependency makes downstream users of this library also need to conform to the GPL requirements from GSL (copyleft), and not just the lesser requirements of LGPL that this library is licensed under. This is not inconsistent, but it is, I think, somewhat confusing and not clear to downstream users. I don't think the license for this repo can be changed from LGPLv3 without explicit action from the original copyright holders. It's also not necessary, because LGPLv3 is much less restrictive than GPL and is generally acceptable for most commercial use cases as the copyleft requirements are limited to modifying this library and don't effect things that only link to it. The csm_eigen branch, which is also LGPLv3 removes the GSL (GPL) dependency, so downstream users won't need to link to GSL and therefore will only need to conform to the lesser LGPLv3 requirements, which should be in line with the normal ROS ecosystem. EDIT: I was confused. I was speaking about the csm repo. This repo I do believe is BSD-3-clause (mostly) and the LGPLv3 is refering to the csm dependency. |
Thanks for the answers. I'm happy to see that others also would like to clarify the licensing in the repo. |
Most commonly in ROS it's BSD-3-Clause. It seems like that's the case here: https://github.com/CCNYRoboticsLab/scan_tools/blob/indigo/laser_scan_matcher/include/laser_scan_matcher/laser_scan_matcher.h#L1-L28 From what I can tell, all of the packages in this repo, except The The |
I made a MR to address this: #80 |
Thanks for discussion.
|
@130s I think the only package that is actually GPL is The rest are all BSD-3-Clause, with source files marked as such. Additionally, laser_scan_matcher also calls out LGPL in the package.xml. It's not clear what the intent of the LGPL reference is It could be:
For all practical purposes it's not important, with a dual license the end user is free to choose BSD if they want. Additionally LGPL is not generally a problem for commercial use since it allows linking to LGPL libraries without triggering the copyleft terms. So, I don't think there is any need to try and change the license(s) of this repo.
Having said the above, while I don't think the licensing for this repo need to change, it's not obvious from the current documentation that a core dependency to csm is LGPL, which is generally not a problem for commercial use cases since LGPL libraries can be linked against without triggering the copyleft clauses. Importantly, there are two branches of csm, one that uses GSL and one that uses eigen. GSL is GPLv3, which applies even when linking, so this does have implications to downstream users of laser_scan_matcher if it's linked against that version of csm. Though, again, those copyleft requirements likely end at the node process boundary in ROS. The eigen branch doesn't have the same issues since eigen is more permissive: https://eigen.tuxfamily.org/index.php?title=Main_Page#License MR #80 tries to clarify this. Ideally, we can get the ROS binary package of CSM to use the eigen branch, which will avoid confusion with the GPL dependency altogether. |
#80 is merged. Please see if that resolves the issue. |
The license declaration of the project is missing either in a form of a single LICENSE file or in a Reuse compatible way. Declaration of the license makes the code more easy to consume and contribute to. Currently only the ROS page of the project mentions BSD and LGPLv3, without specifying the variant of BSD and some of the source files contain BSD-3-Clause license headers.
The text was updated successfully, but these errors were encountered: