Third-Party Libraries Licenses and Compliance Requirements

Third-Party Libraries Licenses and Compliance Requirements

The BSD 3-Clause License (BSD-3) is a permissive open-source license that allows you to use, modify, and distribute code with minimal restrictions. When including third-party libraries in this project without modifying their code, the following licenses are generally compatible:

✅ Compatible Licenses for Libraries in a BSD-3 Project

  • BSD (2-Clause, 3-Clause, 4-Clause)
  • MIT
  • ISC
  • Apache 2.0
  • Zlib/libpng
  • Boost Software License
  • Public Domain (CC0, Unlicense, etc.)
  • MPL 2.0 (Mozilla Public License)
  • LGPL (Lesser General Public License)
  • EPL (Eclipse Public License)

❌ Incompatible or Risky Licenses

  • GPL (General Public License, all versions) → Strong copyleft, requires project to be GPL if used as a library.
  • AGPL (Affero GPL) → Even stricter than GPL; should be avoided unless explicitly intended.
  • Proprietary Licenses → Only if explicitly permitted by the license terms.

📜 What We Need to Provide for Each License

License Requirements for Delivery
BSD (2-Clause, 3-Clause, 4-Clause) Include the original license file and copyright notice.
MIT Include the license file and copyright notice.
ISC Include the license file and copyright notice.
Apache 2.0 Include the license file, copyright notice, and a NOTICE file (if provided). If you modify the library, you must mark changes.
Zlib/libpng Include the license file.
Boost Software License Include the license file.
Public Domain (CC0, Unlicense, etc.) No legal requirements, but attribution is good practice.
MPL 2.0 Include the license file. If modified, provide source code for changes.
LGPL (Lesser GPL) Include the license file and inform users they can relink with a modified version of the library. You must provide a way to replace the LGPL library.
EPL (Eclipse Public License) Include the license file and, if modified, provide source code for changes.

If the project redistributes compiled binaries, make sure to provide the required license files inside the distribution package.

Updated: