This directory contains scripts which download and install several third-party
dependencies of Kudu. Most of these dependencies are statically linked into
Kudu binaries, though a few are used only at build-time.

See LICENSE.txt in this file for information on the licensing of each of these
dependencies.
