Impact of "xz" module on Chromium's licensing

95 views
Skip to first unread message

rajah ks

unread,
Apr 1, 2021, 2:46:23 AM4/1/21
to Chromium-dev, ma...@chromium.org
Hi,

From the output of the licenses.py file, I can see that Chromium is using the "xz" third_party module for Mac Installer. This module is not marked as "NOT_SHIPPED".
Considering that this module has GPL license, I want to know the way this module is being used and if Chromium's BSD license will be trumped by it.

I could not find any discussion related to licensing in the PR that included this module: https://codereview.chromium.org/2846025

Module "xz"  README.chromium
License: License: Public domain/license grant, LGPL 2.1, GPL 2, GPL 3
Location: chrome\installer\mac\third_party\xz
Description: XZ Utils is general-purpose data compression software implementing the modified Lempel-Ziv-Markov chain algorithm (LZMA2).


-Rajah

Daniel Cheng

unread,
Apr 1, 2021, 2:53:52 AM4/1/21
to yoghi...@gmail.com, Chromium-dev, Mark Mentovai
Hi Rajah,

Thanks for raising the licensing questions. We will work on figuring things out and follow ups will be in the original thread. Thanks!

Daniel

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/aa038137-c958-413c-a7dd-d01dc5499aaan%40chromium.org.

Mark Mentovai

unread,
Apr 5, 2021, 10:19:09 AM4/5/21
to rajah ks, Chromium-dev

xz is never included in Chromium. It’s only included in the macOS diff installer package, and the tools used to build that package. That’s effectively a Google Chrome-only thing, although the source bits are all open. It’s only reached by the chrome/installer/mac:copies target, which is part of the installer target, but is not part of any normal build. Even though it’s used for macOS Chrome, it’s never linked into any part of Google Chrome. The only parts of xz that we ship are a standalone dylib (liblzma_decompress.dylib, containing just the decompression parts of liblzma) and a decompressor program (xzdec) that does xz decompression. goobspatch, our variant of bspatch, also uses the liblzma_decompress.dylib. liblzma_decompress.dylib, xzdec, and goobspatch are all just part of the macOS diff installer package, not even part of Google Chrome or any of Chrome’s own libraries. They just exist on the diff installer disk image, which is discarded once an update is applied.

In addition, although the README.chromium shows the full suite of licenses used for various files in the entire xz source package, xz’s own COPYING file gives a better description of the license status. All of the code that we use falls under the first two bullet points, clarifying that the code in question is in fact public domain, and not LGPL or GPL.

  • liblzma is in the public domain.
  • xz, xzdec, and lzmadec command line tools are in the public domain unless GNU getopt_long had to be compiled and linked in from the lib directory. The getopt_long code is under GNU LGPLv2.1+.

(We don’t use the bundled getopt_long here, we use the version provided by the OS.)

Rajah Yoghindra

unread,
Apr 5, 2021, 11:45:29 AM4/5/21
to Mark Mentovai, Chromium-dev
Thank you very much Mark for the detailed explanation. 

Regards
Reply all
Reply to author
Forward
0 new messages