Skip to content
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

Bundled dependencies have description of what they are and where they came from #732

Open
dkogan opened this issue Aug 22, 2022 · 8 comments

Comments

@dkogan
Copy link

dkogan commented Aug 22, 2022

Hi. I'm packaging PlotJuggler for Debian. To do that I need to, at the very least, have a sense of what all the bundled dependencies are, where they came from, what versions are being bundled, etc. The 3rdparty/ directory doesn't have any notes about that, and it would be great if such notes were added.

The specific issue I'm running into right now, is that PlotJuggler doesn't build against the latest release of Qt-Advanced-Docking. Probably there's a version mismatch? What version is being bundled?

Thanks

@dkogan
Copy link
Author

dkogan commented Aug 22, 2022

I looked around, and the bundled 3rdparty/Qt-Advanced-Docking/include/Qads/DockContainerWidget.h doesn't look like it's what upstream has ever shipped. The main difference: rootSplitter() was protected, and is now public. Is this a plottjuggler-specific modification? Qads is licensed under the LGPL, and this would trigger the modification clauses of the LGPL, which you probably don't want to do. Can we unbundle this, and use the latest release of Qads instead?

Thanks

@facontidavide
Copy link
Owner

That change is necessary. I probably need to link dynamically, instead of statically, because of LGPL

@dkogan
Copy link
Author

dkogan commented Aug 22, 2022

Hi. I don't believe dynamic linking will help you here. The whole point of the LGPL, as I understand it, is to provide an exception for the GPL's copyleft provisions IF the library is unmodified. Can you work with the QADS upstream to accept your modifications? Then everybody is happy, and all users of QADS would benefit from your patches, not just plottjuggler.

@dkogan
Copy link
Author

dkogan commented Aug 22, 2022

Hi. I just looked some more, and the qwt dependency has similar issues: it has been modified, there are no clear notes about the base version and how it was modified, and the dependency has a mostly-LGPL license. Can the qwt modifications be sent upstream, and then can the dependency be unbundled?

Thanks

@facontidavide
Copy link
Owner

Qwt is easier, I found a way to use the original library and add the changes on my side as a derived class. Unfortunately I will be away from the computer for 2 weeks and I can't push that change now

@dkogan
Copy link
Author

dkogan commented Aug 23, 2022 via email

@Bartimaeus-
Copy link
Contributor

I did the QCodeEditor addition. Per the Github repo it's under MIT license. I assumed that the LICENSE.MIT file in the QCodeEditor folder covered the licensing requirement.

Since it doesn't hurt anything I've submitted a PR with the MIT license added to the top of the file #733

@dkogan
Copy link
Author

dkogan commented Aug 25, 2022 via email

Kimbongsik pushed a commit to khu-mesl-348/PX4Forensic that referenced this issue Sep 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants