Hey I've been working for a bit on trying to create an OSS solution for creating LZX-compressed cabinets, and got one working with a fork of Wine's cabinet DLL based on a heavily-modified fork of wimlib's LZX compressor: https://github.com/elasota/liblzx
I've been looking at merging the changes back to Wine, but Wine is LGPLv2-licensed and wimlib is LGPLv3-licensed, so it can't currently be accepted.
So, I wanted to ask if you would be willing to permit the modified LZX compressor (that is, only the code/derivatives used in this subtree: https://github.com/elasota/liblzx/tree/ ... a84/liblzx) as LGPLv2 instead.
Licensing LZX compressor as LGPLv2 for integration to Wine?
-
oneeighthundred
- Posts: 4
- Joined: Sun Jun 01, 2025 6:15 pm
-
synchronicity
- Site Admin
- Posts: 497
- Joined: Sun Aug 02, 2015 10:31 pm
Re: Licensing LZX compressor as LGPLv2 for integration to Wine?
Yes, that's fine with me. You can use the LZX code under LGPLv2. Thanks!
-
oneeighthundred
- Posts: 4
- Joined: Sun Jun 01, 2025 6:15 pm
Re: Licensing LZX compressor as LGPLv2 for integration to Wine?
Sorry to keep bothering about this.
I submitted a PR to try integrating it to Wine: https://gitlab.winehq.org/wine/wine/-/m ... uests/9061
But, the maintainers aren't accepting this thread as legally adequate. It seems they would rather the changes be upstreamed and the project license updated, which I don't think is a good idea since there are multiple compatibility breaks and last time I asked about that, it was considered out of scope for wimlib.
Failing that, I was wondering if you'd be willing to do something like add a license update to the wimlib repository permitting the relevant files to be used under LGPLv2 so that this comes "from the source" in a way that is more legally airtight? If that's not enough then I'll probably just stop pursuing this.
The affected files are:
include/wimlib/bt_matchfinder.h
include/wimlib/compiler.h
include/wimlib/compress_common.h
include/wimlib/endianness.h
include/wimlib/error.h
include/wimlib/hc_matchfinder.h
include/wimlib/lzx_common.h
include/wimlib/lzx_constants.h
include/wimlib/matchfinder_common.h
include/wimlib/types.h
include/wimlib/unaligned.h
include/wimlib/util.h
src/compress_common.c
src/lzx_common.c
src/lzx_compress.c
I submitted a PR to try integrating it to Wine: https://gitlab.winehq.org/wine/wine/-/m ... uests/9061
But, the maintainers aren't accepting this thread as legally adequate. It seems they would rather the changes be upstreamed and the project license updated, which I don't think is a good idea since there are multiple compatibility breaks and last time I asked about that, it was considered out of scope for wimlib.
Failing that, I was wondering if you'd be willing to do something like add a license update to the wimlib repository permitting the relevant files to be used under LGPLv2 so that this comes "from the source" in a way that is more legally airtight? If that's not enough then I'll probably just stop pursuing this.
The affected files are:
include/wimlib/bt_matchfinder.h
include/wimlib/compiler.h
include/wimlib/compress_common.h
include/wimlib/endianness.h
include/wimlib/error.h
include/wimlib/hc_matchfinder.h
include/wimlib/lzx_common.h
include/wimlib/lzx_constants.h
include/wimlib/matchfinder_common.h
include/wimlib/types.h
include/wimlib/unaligned.h
include/wimlib/util.h
src/compress_common.c
src/lzx_common.c
src/lzx_compress.c
-
synchronicity
- Site Admin
- Posts: 497
- Joined: Sun Aug 02, 2015 10:31 pm
Re: Licensing LZX compressor as LGPLv2 for integration to Wine?
Well, written permission from the copyright holder (me) still counts even if it's not pushed out to the repo. But sure, I understand it would be clearer if the repo itself was updated. I've pushed out a commit which updates the library license from LGPLv3+ to LGPLv2.1+.
-
oneeighthundred
- Posts: 4
- Joined: Sun Jun 01, 2025 6:15 pm
Re: Licensing LZX compressor as LGPLv2 for integration to Wine?
Yeah, I understand and I agree with you, but the Wine maintainers didn't see it that way, so not much I can do.synchronicity wrote: Fri Jan 30, 2026 2:20 am Well, written permission from the copyright holder (me) still counts even if it's not pushed out to the repo. But sure, I understand it would be clearer if the repo itself was updated. I've pushed out a commit which updates the library license from LGPLv3+ to LGPLv2.1+.
Thanks for doing this, I really appreciate it.