This directory contains license appendices for binary distributions. The main LICENSE.txt covers the ADBC project and any vendored sources. The files here are specific to binary distributions, including the Python wheels, which statically link their dependencies, and thus must propagate the licenses of their (transitive) dependencies.
For the Flight SQL driver, which is written in Go, we use
go-licenses to assemble the
licenses of the transitive dependencies and generate a combined file. First,
install the tool:
go install github.com/google/go-licenses@latest
Then generate the license:
cd go/adbc
go-licenses report ./... \
--ignore github.com/apache/arrow-adbc/go/adbc \
--ignore github.com/apache/arrow/go/v18 \
--template ../../ci/licenses/flightsql.tpl > ../../ci/licenses/flightsql.txt 2> /dev/null
You may have to manually fix up the license, since some packages do not fill out their metadata correctly and things like READMEs may end up in the license. Then check in the result.
There is not a separate file for the driver manager, as all of its dependencies are vendored, and hence covered by the root LICENSE.txt.
After updating, copy the combined license files to the Python wheel directories and update the Debian copyright file, then commit the result:
cat LICENSE.txt ci/licenses/flightsql.txt > python/adbc_driver_flightsql/LICENSE.txt
cat LICENSE.txt ci/licenses/postgresql.txt > python/adbc_driver_postgresql/LICENSE.txt
cat LICENSE.txt ci/licenses/sqlite.txt > python/adbc_driver_sqlite/LICENSE.txt
cat LICENSE.txt ci/licenses/flightsql.txt > ci/linux-packages/debian/copyright