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

Licensing confusion in jxlayer code #355

Open
hyandell opened this issue Oct 3, 2024 · 2 comments
Open

Licensing confusion in jxlayer code #355

hyandell opened this issue Oct 3, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@hyandell
Copy link

hyandell commented Oct 3, 2024

Describe the bug
Licensing appears to have been lost in the embedded jxlayer code

Additional Information:
The darklaf jar contains the file PBJAR_LICENSE.txt, which indicates the code is under the combination of a couple of BSD-3-Clause licenses and an LGPL-2.1 license from Oracle. The Oracle reference appears to come from SwingX - of which this is a copy someone has made public https://github.com/certusoft/swingx/blob/master/swingx-core/src/main/java/org/jdesktop/swingx/ForwardingRepaintManager.java

Looking at the Darklaf code, this appears to be the source for the https://github.com/weisJ/darklaf/blob/master/core/src/main/java/org/pbjar/jxlayer/repaint/WrappedRepaintManager.java file. It's hard to ascertain though because all of the jxlayer's code has had its copyright replaced with the darklaf source header (it's unusual to see copyright statements removed, but perhaps you had the permission from each of the copyright holders).

Does this LGPL-2.1 for WrappedRepaintManager.java mean the darklaf-core jar should be treated as LGPL-2.1?

@hyandell hyandell added the bug Something isn't working label Oct 3, 2024
@weisJ
Copy link
Owner

weisJ commented Oct 3, 2024

That the license header is missing from the file is definitely not intentional. Seems to be some misconfiguration in the auto formatting tool I am using. Will fix this.

As for what license is to be considered I have to acknowledge that I am not entirely certain on this matter myself. In this case it is particularly murky as there really only is one way to implement a delegate for an interface. If you have better insight into this matter I can add a disclaimer for the license situation on the Readme.

@hyandell
Copy link
Author

hyandell commented Oct 3, 2024

Assuming WrappedRepaint is the only connection to the LGPL-2.1 SwingX licensing and is why the LICENSE file calls out the oracle code; then as a once very active Java dev, I agree with your 'only one way to implement' for that file. I personally (not a lawyer) would not consider the Wrapped file to be derived from the Forwarding file, the comments are different, the API is driven by the interface, and the choice of 'delegate' as the variable name is utterly reasonable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants