==========================================================
License information for Doris third-party dependencies
==========================================================

This directory contains scripts which download and install several third-party
dependencies of Doris. And for producation builds, most of these dependencies
are statically linked into the Doris binaries. Some of dependencies are optional
for Doris build.

Most of these dependencies' licenses are compatible with Apache License Version 2.0.
But serverl dependencies are under imcompatible licenses.

This file will give an interpretation of these licenses.

============================================================================================
LZ4
source: https://github.com/lz4/lz4

This repository uses 2 different licenses :
- all files in the `lib` directory use a BSD 2-Clause license
- all other files use a GPLv2 license, unless explicitly stated otherwise

Doris only dependents on features implemented in the `lib` directory, which are under BSD 2-Clause license.

============================================================================================
RapidJSON
source: https://github.com/Tencent/rapidjson/

RapidJSON source code is licensed under the MIT License, except for the third-party components listed below
which are subject to different license terms. Your integration of RapidJSON into your own projects may require
compliance with the MIT License, as well as the other licenses applicable to the third-party components included
within RapidJSON. To avoid the problematic JSON license in your own projects, it's sufficient to exclude the
bin/jsonchecker/ directory, as it's the only code under the JSON license.

Doris only dependents on the source files in `include/rapidjson` directory, which are under MIT License.

============================================================================================
RocksDB
source: https://github.com/facebook/rocksdb

RocksDB is dual-licensed under both the GPLv2 (found in the COPYING file in the root directory) and
Apache 2.0 License (found in the LICENSE.Apache file in the root directory)

Doris selects Apache 2.0 License of RocksDB.

============================================================================================
LZO
source: https://github.com/nemequ/lzo

LZO is under GNU General Public License Version 2(GPL-2), which is not compatible with Apache 2.0 License.

So LZO is an optional feature when building Doris from source. And default is disabled.
You can also enable the LZO support by adding env variable:

`WITH_LZO=1 sh build.sh`.

Disable LZO support does not affect normal use of Doris.

============================================================================================
MySQL
source: https://github.com/mysql/mysql-server

MySQL is under GNU General Public License Version 2(GPL-2), which is not compatible with Apache 2.0 License. 

So MySQL is an optional feature when building Doris from source. And default is disabled.
You can also enable the MySQL support by adding env variable:

`WITH_MYSQL=1 sh build.sh`

Disable MySQL support with disable the feature of visiting a MySQL table as an external table in Doris.
But you can visit MySQL external table via ODBC.
