Disabling all GPL components

364 views
Skip to first unread message

rajah ks

unread,
Mar 30, 2021, 3:52:40 PM3/30/21
to Chromium-dev
Hi,

Is it possible to disable usage of all GPL components while building Chromium by configuring some build options ?

What I am looking for is something similar to "ACEEPT_LICENSE" provided for Chromium OS. Link: https://www.chromium.org/chromium-os/licensing/building-a-distro

-Rajah

Lei Zhang

unread,
Mar 31, 2021, 3:30:33 PM3/31/21
to yoghi...@gmail.com, Chromium-dev
I don't think there is such an option.

Taking a step back, are there even exclusively-GPL licensed source
code in the Chromium source tree? I know some code in third_party
directories are dual/multi-licensed, with GPL among the options.
> --
> --
> 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/e2e87103-f2ef-4315-ad19-e664c1eaf19bn%40chromium.org.

Yuta Kitamura

unread,
Apr 1, 2021, 12:54:33 AM4/1/21
to Lei Zhang, yoghi...@gmail.com, Chromium-dev

Rajah Yoghindra

unread,
Apr 1, 2021, 1:45:20 AM4/1/21
to Yuta Kitamura, Lei Zhang, Chromium-dev
Hi,

I did check the output of the licenses.py file. Most of the GPL modules are either Build or Test but the following GPL modules are being used by the product. As per the "licenses.py" file these modules are being SHIPPED as well. 

Module 1: Speech Dispatcher

   URL: http://devel.freebsoft.org/speechd

   License: GPL (v2 or later)

   Description:

       Speech Dispatcher project provides a high-level device independent layer for

       access to speech synthesis through a simple, stable and well documented

       interface.

   Local Modifications:

        Merged http://git.freebsoft.org/?p=speechd.git;a=commitdiff;h=c73bfee2b6ef683874b3fe7463239073f703c8b7

        Only the libspeechd.h file is imported, as the client library (libspeechd.so.2)  is dynamically loaded (where present).

  Query: We are using the GPL licensed libspeechd.h in chromium code. Would that impact the license of the rest of the chromium code ?
 

Module 2:  Schema_org

   URL: http://schema.org/version/6.0/schema.jsonld

   License: Creative Commons Attribution-ShareAlike 3.0 Unported

   Description: A script uses the schema file in this directory to generate C++ object code.

         Using the generated code, Blink extracts schema.org metadata from the page. This

          metadata is used for a variety of purposes.

   Query: This license seems to be similar to GPL. Chromium generates C++ code from this file which is linked and used by the Blink and Browser. Will the C++ code generated from the schema file, be considered as a derived work? And will that make the rest of the chromium code of the same license as it links to it?

Module 3: "xz"

    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).

    How its used:  The source required to build tools related to "xz" are downloaded from http://git.tukaani.org/xz.git into chrome\installer\mac\third_party\xz\xz. Few tools such as { 'goobsdiff', 'goobspatch', 'liblzma_decompress.dylib', 'xz', 'xzdec' }. These tools are apparently used in the process of creating a "dmg" file. I'm not sure if they are used just for creation or are infact being shipped as part of the dmg.

    Query: If these binaries and libs are part of dmg and we ship the dmg, would that now make chromium also GPL.

My understanding of GPL is that when anything links to GPL code and we ship it, then the whole of the binary which gets shipped becomes of GPL license and so that would mean the whole source has to be disclosed.

Considering Chromium links to these modules, would that mean the GPL license now trumps Chromium's BSD license?
My understanding may be wrong and so kindly correct me if I'm wrong.

-Rajah
--
Regards
Rajah

Lei Zhang

unread,
Apr 1, 2021, 2:52:21 AM4/1/21
to Rajah Yoghindra, Yuta Kitamura, Chromium-dev
For third_party/speech-dispatcher, the licensing portion was approved
here: https://chromiumcodereview.appspot.com/14296005/#msg14, but I'm
not qualified to explain why. I should note that:
1) speech-dispatch changed the license of that file to LGPL in 2015:
https://github.com/brailcom/speechd/commit/514c8fc4ec3857b66e0cfab071ea5c2be0f94f29
2) third_party/speech-dispatcher may not even be necessary anymore, as
I doubt anyone is using libspeechd 0.7 these days.

For chrome/installer/mac/third_party/xz, I believe the parts being
used, as listed in chrome/installer/mac/third_party/xz/BUILD.gn, are
all public domain. Please note the multiple licenses for this project
and read https://chromium.googlesource.com/chromium/deps/xz/+/eecaf55632ca72e90eb2641376bce7cdbc7284f7/COPYING
which lists what parts are GPL:
3) src/scripts bits, which are not referenced by xz/BUILD.gn.
4) Parts of the build system, which are also not used as Chromium uses
its own GN build system.

Rajah Yoghindra

unread,
Apr 1, 2021, 3:58:03 AM4/1/21
to Lei Zhang, Yuta Kitamura, Chromium-dev
Thanks Lei and Yuta for your responses.

Speech Dispatcher:
Chromium seems to be using Speech Dispatcher version 0.7. The LGPL was introduced only in Version 0.9. Maybe it's time to upgrade or remove this library.
I think it was approved since Chromium is not shipping any libspeech shared library and it will be loading it from the OS. Does this violate GPL, no right ? 

xz:
Thanks for pointing out the multi license part and the fact that not all parts are being used.
There is a clause that "unless GNU getopt_long had to be compiled and linked in from the lib directory it would be Public Domain." I cannot find it linking to getopt_long so I guess
this module can be considered as "public domain" based on the way chromium is using it. Can you kindly confirm that?


-Rajah 

--
Regards
Rajah

Mike Frysinger

unread,
Apr 1, 2021, 9:57:26 AM4/1/21
to yoghi...@gmail.com, Lei Zhang, Yuta Kitamura, Chromium-dev
i think you misunderstand how the GPL works.  but if you want legal advice, you need to talk to a lawyer.  no one here is qualified to declare "violations".
-mike

Reply all
Reply to author
Forward
0 new messages