Description:
The MySQL Shell source code contains the external library linenoise-ng, which contains the files ConvertUTF.h and ConvertUTF.cpp which are currently licensed under the nonfree 2001-2004 Unicode copyright. This version of the license does not allow for modification of the files and has since been updated by Unicode.
This is also an issue for Chromium in the past - https://bugs.chromium.org/p/google-breakpad/issues/detail?id=270
Likewise more similarly for projects such as NixOS - https://github.com/NixOS/nix/issues/2014
Here is the bug provided to the linenoise-ng project - https://github.com/arangodb/linenoise-ng/issues/20
How to repeat:
Check the copyright headers in ext/linenoise-ng/src/ConvertUTF.h and ext/linenoise-ng/src/ConvertUTF.h along with the LICENSE file at ext/linenoise-ng/LICENSE.
Also when building MySQL Shell as a Debian source package, then running lintian, it will return the error
E: mysql-shell source: license-problem-convert-utf-code [ext/linenoise-ng/src/ConvertUTF.cpp]
Suggested fix:
Since linenoise-ng has been out of support for a while now, it may be a good idea to swap to a different library. Alternatively, the ConvertUTF files could always be replaced with free versions, such as those provided by LLVM.