Skip to content

Third Party Licenses

An important part of the release process is to make sure Blender is shipped with the complete license for all its dependencies.

Those dependencies come from a few places:

  • ./extern/
  • ./intern/
  • ./lib/: pre-compiled libraries from GIT-LFS.

It is not enough to list the licenses (MIT, GPL, ...). Often times the license also require its copyright holders to me mentioned.

A python script is used to compile a license.md document based on the dependency information available in the source code. This document is shipped together with Blender. It lists all dependencies, sorted by their license and offers copyright and project information.

Updating the license document

The make_license.py script can be run from the root source folder by running make license. Warnings are shown if license or copyright information are missing.

Verify the result

Even though the script is taking all license information from the source, always double check with the ground truth based on git history and the Libraries Changes for Blender X.X issue (linked from the milestones).

Commit the updated file to the repository.

Script internals

The script takes its data mostly from versions.cmake for libraries in ./intern and ./lib and from README.blender files in ./extern/.

Each dependency should have the following variables:

Value cmake.versions README.blender Notes
Name [LIB]_NAME Project: A human readable name of the dependency
Link [LIB]_HOMEPAGE URL: Link to the project website or repository
License [LIB]_LICENSE License: A license identifier. Check licenses.json for a list of available ones
Copyright [LIB]_COPYRIGHT Copyright: Copyright information