[ros-users] [Discourse.ros.org] ROS GNU GPL v1.2 issue

Maarten de Vries ros.discourse at gmail.com
Thu Apr 20 15:55:50 UTC 2017

[quote="S_Riluvan, post:5, topic:1642"]
Since xmlrpcpp - a LGPL component - is part of the ROS base itself, will there be any issue if we remove XMLRPCPP from production deployments? 

Also, would be interested in knowing how other organizations take LGPL for IP/Production deployment cases.

xmlrpcpp is used for the core of roscpp. You can't simply remove it. However, the LGPL is specifically meant to allow **dynamic** linking with closed source components, so you should be fine. See section 4 of the LGPL specifically [1].

One important aim of the LGPL is to still allow end-users to use modified versions of the LGPL code. Static linking makes that relatively difficult, whereas its just a matter of providing an alternative shared library when using dynamic linking.

If you must do static linking (for whatever reason), you are allowed to do so if you provide a means for relinking with an alternative version of the LGPL code. You can do that by providing the compiled object (.o) files of your proprietary code. However, using shared libraries is much easier for everyone, and its the way the binary distributions of ROS use xmlrpcpp.

Additionally, the header `base64.h` distributed with xmlrpcpp contains function templates that are longer than 10 lines of code. That means you also need to provide the correct copyright notice(s) and a copy of the LGPL with your binary code to comply with section 3 of the LGPL [2].

However, it's not very clear to me if the file `base64.h` is really part of xmlrpcpp and if it is distributed under the LGPL. It looks like it has been copied verbatim from some other source without appropriate license information. That could be problematic (much more so than complying with the LGPL). There is an email address in comments at the top of the file which you could attempt to contact to find out what the story behind that file is. A quick google for the contents of the file indicates that many other projects also copied the file verbatim. I couldn't quickly find the original publication with a license.

Then again, you already said your legal team has objections. Sounds like you should fight it out with them. And of course the required disclaimer: I'm not a lawyer.

[1] https://www.gnu.org/copyleft/lesser.html#section4
[2] https://www.gnu.org/copyleft/lesser.html#section3

[Visit Topic](https://discourse.ros.org/t/ros-gnu-gpl-v1-2-issue/1642/6) or reply to this email to respond.

More information about the ros-users mailing list