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

LGPL vs. bundling and minification: dual licensing request #196

Open
Mhbuur opened this issue Oct 24, 2023 · 4 comments
Open

LGPL vs. bundling and minification: dual licensing request #196

Mhbuur opened this issue Oct 24, 2023 · 4 comments

Comments

@Mhbuur
Copy link

Mhbuur commented Oct 24, 2023

Section 4 of the LGPL license states that

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

This means that if you bundle or minify Fit.UI, you change the code, and changed code must be licensed as LGPL too.
In particular with bundling it is unclear how far this extends.

We suggest that you dual license Fit.UI with MIT or change to MIT completely.

@FlowIT-JIT
Copy link
Collaborator

FlowIT-JIT commented Oct 24, 2023

@Mhbuur The license you are linking to is not LGPL 3 but GPL 2.
Here is the LGPL license: https://github.com/Jemt/Fit.UI/blob/master/LICENSE

Fit.UI includes a custom build of CKEditor 4 (built using their online builder) and a custom build of jQuery UI (built using their online downloader).

CKEditor 4 has been enriched with custom plugins. Here are all the plugins:

  • autocomplete
  • base64image (LGPL, modified - changes are also available under LGPL)
  • base64imagepaste (Custom - LGPL)
  • clipboard
  • custombuttons (Custom - LGPL)
  • dialog
  • dragresize (MIT, modified - changes not made available under specific license - probably "inherits" MIT)
  • emoji
  • link
  • pastefromword
  • pastetools
  • table
  • tableselection
  • tabletools

TODO: Double check version history for all plugins - there might be more changes - compare with original source.

The license for CKEditor 4 is included here: https://github.com/Jemt/Fit.UI/blob/master/Resources/CKEditor/LICENSE.md
The CKEditor 4 code itself remains untouched.

jQuery UI includes jQuery and both have been modified as described here:
https://github.com/Jemt/Fit.UI/blob/master/Resources/JqueryUI-1.11.4.custom/README-FitUiCustomJqueryUiBuild.txt

License terms for jQuery and jQuery UI can be found here:


* Copyright jQuery Foundation and other contributors; Licensed MIT */

* Released under the MIT license.

The package produced by jQuery UI's download builder does not include the MIT license, but it can be found here:
https://github.com/jquery/jquery-ui/blob/1-11-stable/LICENSE.txt

@FlowIT-JIT
Copy link
Collaborator

Can we simply change the license from LGPL to MIT? It seems so:
https://opensource.stackexchange.com/questions/7904/can-your-mit-library-use-an-lgpl-library

@FlowIT-JIT
Copy link
Collaborator

FlowIT-JIT commented Oct 24, 2023

My primary concern is not that we violate the LGPL license in how we "use" the libraries, but the fact that they are included with Fit.UI. So while we do dynamically (and not statically) linking, we would still make software available under MIT that "hides" the fact that LGPL is contained.

@FlowIT-JIT
Copy link
Collaborator

FlowIT-JIT commented Oct 25, 2023

According to https://fossa.com/blog/open-source-software-licenses-101-lgpl-license/

A note on static vs. dynamic linking: The LGPL has different requirements depending on how the library is integrated with the remainder of the program. Generally, dynamic linking of LGPL code is considered best practice, as static linking makes meeting the license requirements more complicated. While it is possible to comply with LGPL code that is integrated into proprietary code as a statically linked library, it requires more effort. There is a kind of safe harbor for using LGPL code as a dynamically linked library; for statically linked libraries, a distributor must offer access to not only the library’s source code, but other information or materials necessary to rebuild the program. However, many programming languages have no equivalent of static linking, so that makes the dynamic linking safe harbor extremely helpful and effective in LGPL compliance.

From my understanding, we should be good in this regard. We only do dynamic linking, and all changes to LGPL code is available in source form.

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

2 participants