freeing ungoogled-chromium [was: "The Python Trap"]

16 replies [Last post]
chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

Continued from this thread: https://trisquel.info/en/forum/python-trap

I've looked into Guix's packaging of ungoogled-chromium. It looks like in addition to using ungoogled-chromium's scripts to ungoogle a Chromium tarball, they also have a whitelist of third-party files with a known free license and exclude all non-whitelisted third-party files from upstream. See: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/chromium.scm

If I understand correctly, the problematic files Magic Banana discovered were third-party files, so Guix's version should be fine, even though the freedom issues remain present upstream. I got confirmation from the Guix mailing list that this means that Guix's version of ungoogled-chromium is free, but that upstream's is not:

> >Guix's package source contains what appears to me to be a whitelist of
> >"preserved-third-party-files", each labeled with a known free license,
> >implying that all other upstream third-party files, including any
> >problematic ones, are excluded. If I'm understanding this correctly,
> >does this mean that ungoogled-chromium *as packaged by Guix* is
> >completely free, but that this should not be taken to mean that
> >upstream
> >is necessarily completely free?
> >
> You're absolutely right. To the best of our knowledge, ungoogled-chromium as packaged in guix is completely free, while we know upstream has freedom issues. Of course if you find that we were mistaken, we will take any step necessary to correct that mistake :)

I see no reason that a Trisquel package helper could not be written to do something similar:
(1) Start with upstream's (Ubuntu's) Chromium
(2) Ungoogle it using ungoogled-chromium's scripts
(3) Remove all third-party files except those included in Guix's whitelist
(4) Fix any Ubuntu-specific branding or freedom issues

Is there anything else I'm not considering?

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

Optionally,

(5) Rename the package to something like "freed-chromium" to avoid confusion

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

Sorry for making a sequence of posts rather than collecting my thoughts first. My first post left out some details. This is the process by which Guix frees Chromium (from the link in my first post):

;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
;; *) Applies Debians Chromium patches, for their unbundling and GCC work.
;; *) Prunes all third_party directories that are not explicitly preserved.
;; *) Adjusts "GN" build files such that system libraries are preferred.

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

(6) Pass the Ubuntu license check script: https://bugs.chromium.org/p/chromium/issues/detail?id=28291

The "BlockedOn" list includes issues that have been and are still opened since the late 2000s. Not all of them deal with the "third_party" repository. For instance:

Of course, one cannot just add a license notice where there is not none: the actual author must be identified and contacted. Also, there are certainly new licensing problems sine those issues were opened.

zigote
Offline
Joined: 03/04/2019

> Is there anything else I'm not considering?

Yes: As I said in the other thread, the right thing to do would be to report directly to Eloston in the GitHub project, so he can do the right thing himself. Then ungoogled-chromium will be free for everyone without need for complicating further the process with additional clean ups etc.

BTW this:

> (1) Start with upstream's (Ubuntu's) Chromium

sounds as an incorrect assumption. Upstream is the original Chromium. That is what ungoogled-chromium cleans. The whole process of building ungoogled-chromium includes downloading the original source code of chromium, clean it up, then compile etc. If for some reason Ubuntu (or whoever) hosts different source code, the ungoogled-chromium scripts probably won't work correctly with it. So one more reason to discuss directly with Eloston.

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

Zigote:
> As I said in the other thread, the right thing to do would be to report directly to Eloston in the GitHub project, so he can do the right thing himself. Then ungoogled-chromium will be free for everyone without need for complicating further the process with additional clean ups etc.

Thanks. I did not notice your post in the other thread, but this is a good idea. I will submit an issue to Eloston when I am clear on everything that needs to be requested.

> Upstream is the original Chromium.

Trisquel's direct upstream is Ubuntu, so package helpers are generally written to work on Ubuntu's source packages, but this does not undermine your point. The further upstream that this can be addressed the better. Chromium is the furthest upstream, but they are already aware of the problem and don't seem to care. As you suggest, I'll contact Eloston.

Magic Banana:
> Not all of them deal with the "third_party" repository.

Good to know, and maybe something Guix should be alerted to if these problematic, non-third-party files are also present in ungoogled-chromium. I'm having trouble reading the pages on Chromium's bug tracker with JavaScript disabled. Since you have already investigated and are familiar with some of these files, can you save me some trouble and identify at least one non-third-party file with no license that is present in ungoogled-chromium? An exhaustive list isn't necessary right now, just a demonstration of the problem.

Thank you both for the information.

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

The licensecheck reports in the four issues I linked above are:
./src/common/convert_UTF.c: UNKNOWN
./src/common/md5.h: UNKNOWN
./src/common/convert_UTF.h: UNKNOWN
./src/processor/scoped_ptr.h: UNKNOWN
./src/client/mac/handler/breakpad_exc_server.h: *No copyright* UNKNOWN
./src/client/mac/handler/breakpad_exc_server.c: *No copyright* UNKNOWN

'chrome/common/extensions/docs/examples/apps/hello-php/lib/oauth/OAuth.php' has non-whitelisted license 'UNKNOWN'
'chrome/common/extensions/docs/examples/apps/hello-python/httplib2/iri2uri.py' has non-whitelisted license 'UNKNOWN'
'chrome/common/extensions/docs/examples/apps/hello-python/httplib2/__init__.py' has non-whitelisted license 'UNKNOWN'
'chrome/common/extensions/docs/examples/extensions/irc/servlet/src/org/chromium/IRCProxyWebSocket.java' has non-whitelisted license 'UNKNOWN'

'native_client/src/trusted/service_runtime/arch/x86/output-wrapper.sh' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party/dlmalloc/malloc.c' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party/valgrind/memcheck.sh' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party/valgrind/tsan.sh' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/devtools/antglob.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/devtools/__init__.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/devtools/fixeol.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/devtools/tarball.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/makerelease.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/include/json/writer.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/include/json/reader.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/include/json/features.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/include/json/forwards.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/include/json/json.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/include/json/config.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/include/json/value.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/include/json/autolink.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/src/test_lib_json/main.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/src/test_lib_json/jsontest.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/src/test_lib_json/jsontest.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/src/lib_json/json_writer.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/src/lib_json/json_batchallocator.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/src/lib_json/json_reader.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/src/lib_json/json_value.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/src/jsontestrunner/main.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/scons-tools/globtool.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/scons-tools/targz.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/scons-tools/substinfile.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/scons-tools/srcdist.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/test/rununittests.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/test/generate_expected.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/test/pyjsontestrunner.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/test/runjsontests.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/test/cleantests.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/third_party_mod/jsoncpp/doxybuild.py' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/rsp_recorder/rsp_recorder.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/rsp_recorder/rsp_recorder.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/rsp_recorder/rsp_recorder_main.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_server.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/rsp_parser.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_simple_inside_observer.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_nacl_info.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_breakin_point.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_simple_inside_observer.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_system.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_breakin_point.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/my_struct_to_json.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_registers.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_debug_event.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/stdafx.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/my_struct_to_json.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/my_json.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_server.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_registers.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_utils.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/stdafx.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_utils.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_nacl_info.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_debug_event.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_system.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_core.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_server_main.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/my_json.cpp' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/debug_core.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/debug_server/rsp_parser.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/unit_tests/rsp_packetizer_test.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/unit_tests/rsp_packetizer_test.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/unit_tests/unit_tests.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/rsp_session_log.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/debug_socket.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/rsp_session_log.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/debug_socket.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/rsp_packetizer.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/debug_command_line.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/debug_blob.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/debug_command_line.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/debug_blob.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/rsp_packet_util.h' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/rsp_packetizer.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/common/rsp_packet_util.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/rsp_player/rsp_player_main.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/rsp_player/rsp_player.cc' has non-whitelisted license 'UNKNOWN'
'native_client/src/experimental/debug_server/rsp_player/rsp_player.h' has non-whitelisted license 'UNKNOWN'
'native_client/build/sync_file.py' has non-whitelisted license 'UNKNOWN'
'native_client/build/sync_zip.py' has non-whitelisted license 'UNKNOWN'
'native_client/build/filter_windows_lcov.py' has non-whitelisted license 'UNKNOWN'
'native_client/tools/llvm/gutman.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tools/llvm/configure-build-install.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tools/browser_tester/browsertester/__init__.py' has non-whitelisted license 'UNKNOWN'
'native_client/site_scons/site_tools/uuid.py' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/alloca.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/reent.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/argz.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/utime.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/types.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/reent.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/features.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/utime.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/file.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/stdio.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/signal.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/param.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/lock.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/config.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/sched.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/resource.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/times.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/string.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/wait.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/timeb.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/_types.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/custom_file.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sys/_default_fcntl.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/wctype.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/ieeefp.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/fastmath.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/limits.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/wchar.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/stdio.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/fcntl.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/wordexp.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/ctype.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/_ansi.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/unistd.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/math.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/stdint.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/_syslist.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/getopt.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/setjmp.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/errno.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/locale.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/signal.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/malloc.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/assert.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/sched.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/envz.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/types.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/setjmp-dj.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/ieeefp.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/fastmath.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/endian.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/setjmp.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/malloc.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/param.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/ansi.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/time.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/termios.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/_default_types.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/machine/stdlib.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/libgen.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/time.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/termios.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/paths.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/string.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/tar.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/dirent.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/search.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/regdef.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/inttypes.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/process.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/stdlib.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/envlock.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/include/utmp.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/lib/ldscripts/elf_nacl.xs' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/lib/ldscripts/elf64_nacl.xs' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/lib64/ldscripts/elf_nacl.xs' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/x86_64-nacl/lib64/ldscripts/elf64_nacl.xs' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/lib/gcc/x86_64-nacl/4.4.3/install-tools/include/limits.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/lib/gcc/x86_64-nacl/4.4.3/install-tools/gsyslimits.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/lib/gcc/x86_64-nacl/4.4.3/include/varargs.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/lib/gcc/x86_64-nacl/4.4.3/include-fixed/syslimits.h' has non-whitelisted license 'UNKNOWN'
'native_client/toolchain/linux_x86_newlib/lib/gcc/x86_64-nacl/4.4.3/include-fixed/limits.h' has non-whitelisted license 'UNKNOWN'
'native_client/tests/earth/earth_image.inc' has non-whitelisted license 'UNKNOWN'
'native_client/tests/syscall_return_sandboxing/syscall_return_sandboxing.c' has non-whitelisted license 'UNKNOWN'
'native_client/tests/bundle_size/bundle_size.c' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/252.eon/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/252.eon/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/188.ammp/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/188.ammp/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/256.bzip2/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/256.bzip2/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/186.crafty/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/186.crafty/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/186.crafty/run.test.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/specdiff.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/254.gap/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/254.gap/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/300.twolf/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/300.twolf/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/300.twolf/run.test.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/179.art/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/179.art/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/164.gzip/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/164.gzip/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/175.vpr/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/175.vpr/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/175.vpr/run.test.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/181.mcf/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/181.mcf/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/255.vortex/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/255.vortex/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/176.gcc/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/176.gcc/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/183.equake/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/183.equake/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/197.parser/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/197.parser/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/253.perlbmk/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/253.perlbmk/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/177.mesa/run.ref.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/spec2k/177.mesa/run.train.sh' has non-whitelisted license 'UNKNOWN'
'native_client/tests/redir/redir_test.c' has non-whitelisted license 'UNKNOWN'
'native_client/tests/python_version/python_version.py' has non-whitelisted license 'UNKNOWN'
'native_client/tests/tools/sigpipe_tool_test.c' has non-whitelisted license 'UNKNOWN'
'native_client/tests/libc_free_hello_world/libc_free_hello_world.c' has non-whitelisted license 'UNKNOWN'
'native_client/tests/pnacl_abi/small_structs_by_value.c' has non-whitelisted license 'UNKNOWN'
'native_client/tests/pnacl_abi/data_type.c' has non-whitelisted license 'UNKNOWN'
'native_client/tests/pnacl_abi/vaarg.c' has non-whitelisted license 'UNKNOWN'
'native_client/tests/nullptr/nullptr.c' has non-whitelisted license 'UNKNOWN'
'native_client/tests/threads/main_thread_pthread_exit_test.c' has non-whitelisted license 'UNKNOWN'

ManualTests/timeout-test.php
ManualTests/resources/ArrayParameterTestApplet.java
ManualTests/resources/StringTypeTest.java
ManualTests/resources/TestApplet.java
ManualTests/resources/CheckerApplet.java
ManualTests/eventsource/eventsource-loader-buffering.php
Source/bindings/templates/union.h
Source/bindings/templates/dictionary_v8.h
Source/bindings/templates/partial_interface.h
Source/bindings/templates/dictionary_impl.cpp
Source/bindings/templates/interface_base.cpp
Source/bindings/templates/conversions.cpp
Source/bindings/templates/attributes.cpp
Source/bindings/templates/partial_interface.cpp
Source/bindings/templates/interface.cpp
Source/bindings/templates/interface.h
Source/bindings/templates/union.cpp
Source/bindings/templates/constants.cpp
Source/bindings/templates/methods.cpp
Source/bindings/templates/callback_interface.h
Source/bindings/templates/dictionary_v8.cpp
Source/bindings/templates/callback_interface.cpp
Source/bindings/templates/dictionary_impl.h
Source/platform/geometry/FloatBoxTest.cpp
Source/web/tests/ProgrammaticScrollTest.cpp
Source/core/animation/VisibilityStyleInterpolation.h
Source/core/animation/VisibilityStyleInterpolationTest.cpp
Source/core/animation/VisibilityStyleInterpolation.cpp
Source/core/inspector/InspectorConsoleInstrumentation.h
Source/core/inspector/InstrumentingAgents.h
Source/core/html/parser/ParserSynchronizationPolicy.h
Source/build/scripts/make_css_value_keywords.py
Source/build/scripts/audit_runtime_enabled_features.py
Source/build/scripts/make_css_property_names.py
Source/devtools/scripts/compiler-runner/src/org/chromium/devtools/compiler/Runner.java
Source/devtools/scripts/compiler-runner/src/org/chromium/devtools/compiler/DevToolsCodingConvention.java
Source/devtools/scripts/compiler-runner/build_compiler_runner_jar.py
Source/devtools/scripts/jsdoc-validator/src/org/chromium/devtools/jsdoc*
Source/devtools/scripts/jsdoc-validator/run_tests.py
Source/devtools/scripts/jsdoc-validator/build_jsdoc_validator_jar.py
Tools/Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/resources/Fake.framework/Headers/Fail.h
Tools/Scripts/webkitruby/check-for-inappropriate-macros-in-external-headers-tests/resources/Fake.framework/Headers/Pass.h
Tools/Scripts/webkitruby/PrettyPatch/PrettyPatch.rb
Tools/Scripts/webkitruby/PrettyPatch/prettify.rb
Tools/Scripts/webkitruby/PrettyPatch/diff.rb
Tools/Scripts/webkitruby/PrettyPatch/PrettyPatch_test.rb
Tools/Scripts/webkitpy/*

Those runs of licencheck are several years old. Some of the above files may have been removed/fixed since then... and new problematic ones added.

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

> Those runs of licencheck are several years old. Some of the above files may have been removed/fixed since then... and new problematic ones added.

Browsing the Chromium repo via Github, these filepaths don't even seem to resemble the current directory structure. I'm waiting for "git clone" to finish (it's gonna be a while) after which I'll be able to search it more efficiently and, if I can't find any of the allegedly offending files, run licensecheck myself to see if there are any new ones.

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

What counts as "Pass[ing] the Ubuntu license check script"? I just ran

$ apt source [package]
$ cd [package]-[version]
$ licensecheck -r * | grep UNKNOWN

for a few arbitrary packages (icecat, abiword, and alex4), and for each package there were plenty of files flagged as "UNKNOWN". I opened a few of these up. Some actually did have license headers that licensecheck must have failed to detect. Others had no license headers (although one could refer to debian/copyright). If we can't conclude that a program is free unless all copyright and license information is parseable by licensecheck, then we have bigger problems than Chromium.

zigote
Offline
Joined: 03/04/2019

BTW someone opened an issue on GitHub to suggest renaming of the project to protect it legally and to look further about other legal issues:

https://github.com/Eloston/ungoogled-chromium/issues/738

I am glad to see Eloston is serious and democratic about that. Perhaps a good time someone experienced in FOSS licenses to open a similar issue about the "freedom" part.

zigote
Offline
Joined: 03/04/2019

Has anyone done anything to report this on GitHub or is this yet another thread for discussing the regular endless same old?

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

> Has anyone done anything to report this on GitHub or is this yet another thread for discussing the regular endless same old?

Neither. This thread is for determining what needs to be done to free ungoogled-chromium. I intend to file a Github issue when I am clear on what needs to be done. I had been waiting for Magic Banana to respond clarifying his stance on licensecheck and first-party Chromium files, and got sidetracked in the meantime. Thanks for the reminder.

Regarding licensecheck, if I was correct in assuming that Ubuntu license check is the "licensecheck" command included in Ubuntu and Trisquel, I don't think that failing licensecheck is a freedom issue in this context. None of the other packages I tried it on passed, so I don't see why we should hold Chromium to a higher standard in this regard.

As for first-party files, seems like that bug report is out-of-date. I can't find those file paths in the current Chromium source. I did find some files with the same name in other locations, but they had license headers.

Until it is confirmed that Chromium currently contains non-free first-party files, I'm going to work under the assumption that the Guix developers are correct that all known freedom issues are addressed by doing the following:

;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
;; *) Applies Debians Chromium patches, for their unbundling and GCC work.
;; *) Prunes all third_party directories that are not explicitly preserved.
;; *) Adjusts "GN" build files such that system libraries are preferred.

The second and fourth steps seem like packaging issues rather than freedom issues, so the only request that needs to be made upstream is to prune all third_party directories that are not explicitly preserved.

Does all of this sound correct? If so, that's what I'll submit to the issue tracker.

zigote
Offline
Joined: 03/04/2019

> Does all of this sound correct?

You seem to know what you are looking for. That is enough to open an issue on GitHub and thus bring it to the attention of the main developer and others there. You don't need anyone's clarification or approval here. Just please share a link to the issue.

chaosmonk

I am a member!

I am a translator!

Offline
Joined: 07/07/2017

> That is enough to open an issue on GitHub and thus bring it to the attention of the main developer and others there.

Done.

https://github.com/Eloston/ungoogled-chromium/issues/756

zigote
Offline
Joined: 03/04/2019

Thanks. I will keep an eye on it.

Masaru Suzuqi -under review-
Offline
Joined: 06/06/2018

It seems ripper bonza beauty. (*´∀`*)

ADFENO
Offline
Joined: 12/31/2012

Em 6 de maio de 2019 13:08:14 BRT, name at domain escreveu:
>ungoogled-chromium. I intend to file a Github issue when I am clear on
>what
>needs to be done. I had been waiting for Magic Banana to respond

See the review made by Magic Banana on Iridium Browser[1], which has similar notes/findings for Chromium[2], although I don't know about ungoogled-chromium yet.

Also, keep in mind that the issues presented are not exhaustive, but it would be best to report each problem, one issue tracker number at a time, than wait for complete review and run the risk of that one being outdated.

[1] https://directory.fsf.org/wiki/Talk:Iridium_Browser .
[2] https://directory.fsf.org/wiki/Review:Chromium-REV-ID-1 , which will probably be moved back to the original place: https://directory.fsf.org/wiki/Talk:Chromium .

--
- Página com formas de contato:
https://libreplanet.org/wiki/User:Adfeno#vCard
- Ativista do software livre (não confundir com o gratuito). Avaliador
da liberdade de software e de sites.
- Página com lista de contribuições:
https://libreplanet.org/wiki/User:Adfeno#Contribs
- Para uso em escritórios e trabalhos, favor enviar arquivos do padrão
internacional OpenDocument/ODF 1.2 (ISO/IEC 26300-1:2015 e
correlatos). São os .odt/.ods/.odp/odg. O LibreOffice é a suíte de
escritório recomendada para editar tais arquivos.
- Para outros formatos de arquivos, veja:
https://libreplanet.org/wiki/User:Adfeno#Arquivos
- Gosta do meu trabalho? Contrate-me ou doe algo para mim!
https://libreplanet.org/wiki/User:Adfeno#Suporte
- Use comunicações sociais federadas padronizadas, onde o "social"
permanece independente do fornecedor. #DeleteWhatsApp. Use #XMPP
(https://libreplanet.org/wiki/XMPP.pt), #DeleteFacebook
#DeleteInstagram #DeleteTwitter #DeleteYouTube. Use #ActivityPub via
#Mastodon (https://joinmastodon.org/).
- #DeleteNetflix #CancelNetflix. Evite #DRM:
https://www.defectivebydesign.org/