【免费下载链接】blender
Official mirror of Blender
本文以 release/license/license.md 为核心,系统解读 Blender 的第三方依赖合规体系:涵盖 Blender 自身的 GPL-3.0-or-later 许可、随附字体栈、22 类许可证下数十个第三方库的版本与版权清单,并深入剖析该清单由 tools/utils_maintenance/make_license.py 驱动的自动化生成流程。读完本文,你将掌握 Blender 许可证清单的完整数据结构、每类许可证的合规要点,以及如何在更新依赖后通过一条 make license 命令重新生成并校验这份合规文档。
一、这份文档是什么:Blender 的第三方合规总账
release/license/license.md 是 Blender 官方发布的 Third-Party Licenses 汇总文件,其作用是回答一个发行版必须回答的问题:Blender 本体是什么许可?它携带的字体、渲染库、编解码器、物理引擎、GPU 驱动组件各自又是什么许可?
文档开篇即明确了基本事实:
While Blender itself is released under GPU-GPL 3.0 or later,
© 2011-2026 Blender Foundation,it contains dependencies which have different licenses.
即:Blender 本体以 GPL-3.0-or-later 发布,但其内含的依赖组件适用各不相同甚至相互冲突的许可证,因此必须以结构化清单逐一声明。整份文档由三大部分构成:
- Blender 自身许可全文(GPL v3 完整条文,以
<details>折叠块收纳); - 随附字体栈清单(Inter、Noto、Last Resort、DejaVu Sans Mono,以及 Arev / Bitstream Vera / SIL OFL 三份字体许可证全文);
- 22 类许可证分类下的依赖库总表(每类含"库名 / 版本 / 版权声明"三列表格,随后附带该许可证全文的
<details>折叠块)。
此外,文档头部注释明确声明:本文件由 make license 自动生成,手工编辑会被后续生成覆盖,任何更新都应通过修改数据源完成。这正是 Blender 合规治理的核心思想——"清单是生成的,数据源才是事实"。
二、Blender 自身许可:GPL-3.0-or-later
文档的第一块内容即是完整的 GNU General Public License v3.0(2007 年 6 月 29 日版本)条文。其核心要点包括:
- 自由软件定义:GPL 保障的是"自由"而非"价格"——你可以免费或收费分发副本,但必须向接收者传递同等的自由:提供源代码、允许修改、展示许可条款。
- Copyleft 机制:任何基于程序的修改作品,必须整体以本许可证向所有第三方授权(Section 5),不得附加进一步限制(Section 10)。
- 专利授权:每个贡献者对其"essential patent claims"授予全球、非独占、免版税的专利许可(Section 11)。
- 无担保与责任限制:程序按"AS IS"提供,不承担任何明示或暗示担保,仅在适用法律要求时承担责任(Section 15/16)。
- 与 AGPL 的组合:允许将本许可作品与 AGPL v3 作品链接或组合为单一作品(Section 13)。
许可证全文同时存放于仓库的 release/license/spdx/GPL-3.0-or-later.txt,license.md 中的折叠块即由此文件内容渲染而来。
三、随附字体栈:四款字体、三种许可证、一个回退体系
Blender 随安装包分发多款字体以支持不同语言与场景,它们以"字体栈"(font stack)的形式协同工作——当某一字体缺少字形时回退到下一款:
| Font | License | Copyright |
|---|---|---|
| Inter | SIL Open Font License 1.1 | Copyright 2020 The Inter Project Authors |
| Noto Fonts | SIL Open Font License 1.1 | Copyright 2018 The Noto Project Authors |
| Last Resort | SIL Open Font License 1.1 | Copyright © 1998-2024 Unicode, Inc. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the United States and other countries. |
| DejaVu Sans Mono | Arev Fonts License + Bitstream Vera Font License | 2003 Bitstream, Inc. (Bitstream font glyphs). 2006 Tavmjong Bah (Arev font glyphs). DejaVu changes are in public domain |
关键合规要点:
- SIL Open Font License 1.1:允许字体被使用、研究、修改和自由再分发,只要字体本身不被单独出售;衍生作品必须保留保留字体名(Reserved Font Name)的使用限制,且修改版不得使用版权持有者或作者的名义进行推广。OFL 全文见 release/license/spdx/OFL-1.1.txt。
- Arev Fonts License:以 Bitstream Vera 字体为基底修改而来,要求修改后的字体改名(不得包含 "Tavmjong Bah" 或 "Arev" 字样),字体字形不得单独出售。全文见 release/license/others/Arev-Fonts.txt。
- Bitstream Vera Font License:同样要求修改版改名(不得含 "Bitstream" 或 "Vera"),全文见 release/license/spdx/Bitstream-Vera.txt。
- 注意 DejaVu Sans Mono 是双许可叠加:Bitstream 字形(2003)+ Arev 字形(2006),DejaVu 自身的改动落入公共领域。
四、许可证分类总表:22 类许可证下的依赖库
文档按许可证类型将全部第三方库分门别类。以下按文档顺序完整列出各类清单(Version 与 Copyright 均以当前仓库文档为准)。
1. Apache License 2.0
Apache 2.0 授予永久、全球、非独占、免版税的版权与专利许可,核心义务包括随分发提供许可证副本、标记修改文件、保留来源声明(Section 4)。下表库中带 ¹ 上标者适用 LLVM Exception,即编译期嵌入目标文件时可豁免 Section 4(a)/(b)/(d) 的部分义务。
| Library | Version | Copyright |
|---|---|---|
| Abseil | 20250814.1 | Copyright 2023 The Abseil Authors. |
| Audaspace | 1.6.0 (cb49 | Copyright © 2009-2025 Jörg Müller. All rights reserved. |
| Cuda Wrangler | cbf465b | Copyright 2011-2014 Blender Foundation |
| Cython | 3.0.11 | Copyright Contributors to the Cython Project |
| DPC++ | v6.3.0 | Copyright (C) 2021-2026 Intel Corporation |
| Draco | 1.5.7 | Copyright 2022 The Draco Authors. |
| Embree | 4.4.1 | Copyright 2009-2024 Intel Corporation |
| HIP Extension Wrangler Library (HIPEW) | N/A | Copyright 2011-2023 Blender Foundation |
| Icdloader | ddf6c70230a | Copyright (c) 2020 The Khronos Group Inc. |
| Igc Llvm ¹ | llvmorg-16. | Copyright (c) 2003-2019 University of Illinois at Urbana-Champaign. All rights reserved. |
| Igc Opencl Clang ¹ | v16.0.10 | Copyright (c) Intel Corporation (2009-2017). |
| LLVM ¹ | 20.1.8 | Copyright (c) 2003-2019 University of Illinois at Urbana-Champaign. All rights reserved. |
| Manifold | v3.5.2 | Copyright 2021-2026 The Manifold Authors. |
| Mantaflow | 0.13 | Copyright 2011 Tobias Pfaff, Nils Thuerey |
| MaterialX | 1.39.4 | Copyright Contributors to the MaterialX Project |
| oneTBB | v2022.3.0 | Copyright (c) 2005-2020 Intel Corporation |
| Open PGL | v0.7.1 | Copyright 2020 Intel Corporation. |
| OpenCL-Headers | 6eabe90aa7b | Copyright (c) 2023 The Khronos Group Inc. |
| OpenImageDenoise | 2.5.0 | Copyright 2018-2026 Intel Corporation |
| OpenImageIO | v3.1.13.1 | Copyright Contributors to the OpenImageIO project. |
| OpenSSL | 3.5.6 | Copyright (c) 1998-2026 The OpenSSL Project Authors. Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson; All rights reserved. |
| OpenXR | 1.1.53 | Copyright (c) 2017-2025 The Khronos Group Inc. Copyright (c) 2017-2019 Valve Corporation. Copyright (c) 2017-2019 LunarG, Inc. Copyright (c) 2019 Collabora, Ltd. |
| Parallel Hashmap | 8a889d3699b | Copyright (c) 2019, Gregory Popovitch - greg7mdp@gmail.com |
| Pthreads | 3.0.0 | Copyright 1998 John E. Bossom; Copyright 1999-2018, Pthreads4w contributors |
| RangeTree | 40ebed8aa20 | Copyright (c) 2016, Campbell Barton |
| ShaderC | v2025.4 | Copyright 2015 The Shaderc Authors. All rights reserved. |
| Shaderc Glslang | d213562e355 | Copyright 2020 The Khronos Group Inc. Copyright (C) 2015-2018 Google, Inc. |
| SPIR-V Headers | 1.4.341 | Copyright (c) 2015-2014 The Khronos Group Inc. |
| SPIR-V Tools | 28a883ba4c6 | Copyright (c) 2015-2016 The Khronos Group Inc. |
| SPIR-V Tools | v2026.1 | Copyright (c) 2015-2016 The Khronos Group Inc. |
| SPIRV-Reflect | 1.4.341 | Copyright 2017-2018 Google Inc. |
| Unified Memory Framework ¹ | v1.0.0-rc2 | Copyright (C) 2023-2024 Intel Corporation |
| Vulkan Utility Libraries | 1.4.341 | Copyright 2015-2025 The Khronos Group Inc. |
| Vulkan-Headers | 1.4.341 | Copyright 2015-2023 The Khronos Group Inc. |
| Vulkan-Loader | 1.4.341 | Copyright (c) 2019 The Khronos Group Inc. Copyright (c) 2019 Valve Corporation. Copyright (c) 2019 LunarG, Inc. Copyright (c) 2019 Google Inc. |
Apache 2.0 全文见 release/license/spdx/Apache-2.0.txt。
2. BSD 2-Clause "Simplified" License
| Library | Version | Copyright |
|---|---|---|
| Aom | 3.13.1 | Copyright (c) 2016, Alliance for Open Media. All rights reserved. |
| OpenJPEG | 2.5.3 | Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium. Copyright (c) 2002-2014, Professor Benoit Macq. Copyright (c) 2003-2014, Antonin Descampe. Copyright (c) 2003-2009, Francois-Olivier Devaux. Copyright (c) 2005, Herve Drolon, FreeImage Team. Copyright (c) 2002-2003, Yannick Verschueren. Copyright (c) 2001-2003, David Janssens. Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France. Copyright (c) 2012, CS Systemes d'Information, France. |
| OpenJPH | 0.25.2 | Copyright (c) 2019, Aous Naman; Copyright (c) 2019, Kakadu Software Pty Ltd, Australia; Copyright (c) 2019, The University of New South Wales, Australia |
| Pybind11 | 3.0.1 | Copyright (c) 2016 Wenzel Jakob <wenzel.jakob@epfl.ch>, All rights reserved. |
| xxHash Library | v0.8.2 (202 | Copyright (c) 2012-2021 Yann Collet |
3. BSD 3-Clause "New" or "Revised" License
| Library | Version | Copyright |
|---|---|---|
| Alembic | 1.8.3 | TM & © 2009-2015 Lucasfilm Entertainment Company Ltd. or Lucasfilm Ltd. All rights reserved. ... © 2009-2015 Sony Pictures Imageworks Inc. All rights reserved. |
| Blosc | 1.21.1 | Copyright (C) 2009-2018 Francesc Alted. Copyright (C) 2019-present Blosc Development team. Copyright (C) 2006 by Rob Landley. |
| Ceres | 0c70ed3a1a2 | Copyright 2023 Google Inc. All rights reserved. |
| Curve-Fit-nD | 5d75a7adbc2 | Copyright (c) 2016, DWANGO Co., Ltd.; Copyright (c) 2016, Campbell Barton; All rights reserved. |
| FreeSpacenav | 1.1 | Copyright (C) 2007-2022 John Tsiombikas nuclear@member.fsf.org |
| Google Flags | 2.2.1 (46f7 | Copyright (c) 1999, Google Inc. All rights reserved. |
| Google Logging | 0.4.0, 96a2 | Copyright (c) 2006, Google Inc. All rights reserved. |
| GoogleTest (GoogleMock) | 1.15.2 (b51 | Copyright 2007, Google Inc. All rights reserved. |
| GoogleTest (GoogleTest) | 1.15.2 (b51 | Copyright 2007, Google Inc. All rights reserved. |
| Imath | 3.2.2 | Copyright Contributors to the OpenEXR Project. All rights reserved. |
| libjpeg-turbo | 2.1.3 | Copyright (C)2009-2020 D. R. Commander. All Rights Reserved. Copyright (C)2015 Viktor Szathmáry. All Rights Reserved. |
| NanoBind | v2.1.0 | 2023, Wenzel Jakob |
| Numpy | 2.3.4 | Copyright (c) 2005-2022, NumPy Developers. All rights reserved. |
| Ogg | 1.3.5 | COPYRIGHT (C) 1994-2019 by the Xiph.Org Foundation |
| Open Shading Language | 1.15.3.0 | Copyright (c) 2009-present Contributors to the Open Shading Language project. |
| OpenColorIO | 2.5.0 | Copyright Contributors to the OpenColorIO Project. |
| Openexr | 3.4.10 | Copyright Contributors to the OpenEXR Project. All rights reserved. |
| OpenGL Extension Wrangler Library | 2.0.0 | Copyright (C) 2008-2015, Nigel Stewart; Copyright (C) 2002-2008, Milan Ikits; Copyright (C) 2002-2008, Marcelo E. Magallon; Copyright (C) 2002, Lev Povalahev; All rights reserved. |
| Opus | 1.3.1 | Copyright 2001-2023 Xiph.Org, Skype Limited, Octasic, Jean-Marc Valin, Timothy B. Terriberry, CSIRO, Gregory Maxwell, Mark Borgerding, Erik de Castro Lopo, Mozilla, Amazon |
| Pystring | v1.1.3 | Copyright (c) 2008-2010, Sony Pictures Imageworks Inc; All rights reserved. |
| Theora | 1.1.1 | Copyright (C) 2002-2009 Xiph.org Foundation |
| Tracy | a64b9a20294 | Copyright (c) 2017-2026, Bartosz Taudul <wolf@nereid.pl> |
| Tracy Frame Profiler | cb84ba76ffd | Copyright (c) 2017-2025, Bartosz Taudul <wolf@nereid.pl> |
| Vorbis | 1.3.7 | Copyright (c) 2002-2020 Xiph.org Foundation |
| Vpx | 1.15.2 | Copyright (c) 2010, The WebM Project authors. All rights reserved. |
| Webp | 1.6.0 | Copyright (c) 2010, Google Inc. All rights reserved. |
| Zstandard | 0.25.0 | Copyright (c) 2016, Gregory Szorc. All rights reserved. |
| Zstd | 1.5.7 | Copyright (c) 2016-present, Facebook, Inc. All rights reserved. |
4. BSD Zero Clause License(0BSD)
| Library | Version | Copyright |
|---|---|---|
| XZ (LZMA) | 5.2.5 | Copyright (C) The XZ Utils authors and contributors |
5. bzip2 and libbzip2 License v1.0.6
| Library | Version | Copyright |
|---|---|---|
| Bzip2 | 1.0.8 | Copyright (C) 1996-2019 Julian R Seward. All rights reserved. |
6. Freetype Project License(FTL)
| Library | Version | Copyright |
|---|---|---|
| FreeType | 2.13.3 | Copyright 1996-2002, 2006 by David Turner, Robert Wilhelm, and Werner Lemberg |
FTL 的关键特征:以 "as is" 方式分发、可免版税用于任何目的(含商业产品)、但必须在使用 FreeType 代码的产品文档中致谢,且不得谎称自己编写了该软件。
7. GNU General Public License v2.0 or later
| Library | Version | Copyright |
|---|---|---|
| FFTW | 3.3.10 | Copyright (c) 2003, 2007-14 Matteo Frigo. Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology |
| Flac | 1.4.2 | Copyright (C) 2001-2009 Josh Coalson. Copyright (C) 2011-2016 Xiph.Org Foundation. |
| GMP | 6.3.0 | Copyright 1996-2020 Free Software Foundation, Inc. |
| Potrace | 1.16 | Copyright © 2001-2019 Peter Selinger. |
| Rubber Band Library | 4.0.0 | Copyright (c) 2025 Particular Programs Ltd |
| X Drag and Drop | 2000-08-08 | Copyright (C) 1996-2000 Paul Sheer |
| X264 | 35fe20d1ba4 | Copyright (C) 2003-2021 x264 project |
| X265 | 4.1 | Copyright (C) 2013-2020 MulticoreWare, Inc |
8. GNU Lesser General Public License v2.1 or later
| Library | Version | Copyright |
|---|---|---|
| FFmpeg | 8.1 | Copyright (c) 2000-2017 the FFMPEG developers |
| Fribidi | v1.0.12 | Copyright (c) 2004-2012 Behdad Esfahbod, Dov Grobgeld, Roozbeh Pournader |
| LAME | 3.100 | Copyrights (c) 1999-2011 by The LAME Project. Copyrights (c) 1999,2000,2001 by Mark Taylor. Copyrights (c) 1998 by Michael Cheng. Copyrights (c) 1995,1996,1997 by Michael Hipp: mpglib. |
| libsndfile | 1.2.2 | Copyright (C) 2011-2016 Erik de Castro Lopo |
| OpenAL | 1.23.1 | Copyright (c) 2015, Archontis Politis. Copyright (c) 2019, Christopher Robinson. |
9. GNU Lesser General Public License v3.0 or later
| Library | Version | Copyright |
|---|---|---|
| Libheif | 1.20.2 | Copyright (c) 2017-2020 Struktur AG; Copyright (c) 2017-2025 Dirk Farin |
10. libpng 2.0 License
| Library | Version | Copyright |
|---|---|---|
| libpng | 1.6.58 | Copyright (c) 1995-2026 The PNG Reference Library Authors. Copyright (c) 2018-2026 Cosmin Truta. Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. Copyright (c) 1996-1997 Andreas Dilger. Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. |
11. libtiff License
| Library | Version | Copyright |
|---|---|---|
| LibTIFF | 4.7.1 | Copyright © 1988-1997 Sam Leffler. Copyright © 1991-1997 Silicon Graphics, Inc. |
12. MIT
| Library | Version | Copyright |
|---|---|---|
| Brotli | 1.0.9 | Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. |
| Deflate | 1.18 | Copyright 2016 Eric Biggers |
| Emhash | 3ba9abdfdc2 | Copyright (c) 2019 hyb |
| Epoxy | 1.5.10 | Copyright © 2013-2014 Intel Corporation. Copyright © 2013 The Khronos Group Inc. |
| Expat | 2_7_5 | Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper. Copyright (c) 2001-2025 Expat maintainers. |
| fast_float | 5.0.0 (f5a3 | Copyright 2023 The Wuffs Authors; Copyright (c) 2021 The fast_float authors |
| Fmt | 12.1.0 | Copyright (c) 2012 - present, Victor Zverovich and {fmt} contributors |
| Hiprt | 606b4886efa | Copyright (C) 2024 Advanced Micro Devices, Inc. All Rights Reserved. |
| IGC | 2.30.1 | Copyright (C) 2019-2026 Intel Corporation |
| Intel(R) Graphics Memory Management Library | intel-gmmli | Copyright (c) 2017 Intel Corporation. Copyright (c) 2016 Gabi Melman. Copyright 2008, Google Inc. All rights reserved. |
| JSON | 3.11.3 | Copyright (c) 2013-2021 Niels Lohmann |
| libffi | 3.5.2 | Copyright (c) 1996-2025 Anthony Green, Red Hat, Inc and others. |
| libxml2 | 2.14.6 | Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved. |
| Meshoptimizer | 1.1 | Copyright (c) 2016-2026 Arseny Kapoulkine |
| Ocloc | 25.31.34666 | Copyright (C) 2018-2023 Intel Corporation |
| oneAPI Level Zero | 35c037cdf4a | Copyright (C) 2019-2024 Intel Corporation |
| Pugixml | 1.10 | Copyright (c) 2006-2020 Arseny Kapoulkine |
| QuadriFlow | 27a6867 | Copyright (c) 2018 Jingwei Huang, Yichao Zhou, Matthias Niessner, Jonathan Shewchuk and Leonidas Guibas. All rights reserved. |
| RenderDoc | d47e79ae079 | Copyright (c) 2015-2024 Baldur Karlsson; Copyright (c) 2014 Crytek |
| Robinmap | v1.3.0 | Copyright (c) 2017 Thibaut Goetghebuer-Planchon |
| sse2neon | 227cc413fb2 | Copyright sse2neon contributors |
| Thorvg | v1.0.3 | Copyright (c) 2020 - 2026 ThorVG Project |
| TinyGLTF | 2.8.21, 4bf | Copyright (c) 2017 Syoyo Fujita, Aurélien Chatelain and many contributors |
| ufbx - Single source file FBX loader | v0.20.0 (a6 | Copyright (c) 2020 Samuli Raivio |
| VC Intrinsics | 0.25.0 | Copyright (C) 2020-2021 Intel Corporation |
| Vcintrinsics | 60cea7590bd | Copyright (c) 2019-2024 Intel Corporation |
| volk | 3ca312a4f38 | Copyright (c) 2018-2026 Arseny Kapoulkine |
| Vulkan Memory Allocator | 1d8f600 | Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. |
| Vulkan-Memory-Allocator | 3.2.1 | Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. |
| Wayland | 1.24.0 | Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved. Copyright © 2011 Kristian Høgsberg. Copyright © 2011 Benjamin Franzke. Copyright © 2010-2012 Intel Corporation. Copyright © 2012 Collabora, Ltd. Copyright © 2015 Giulio Camuffo. Copyright © 2016 Klarälvdalens Datakonsult AB, a KDAB Group company. Copyright © 2012 Jason Ekstrand. Copyright (c) 2014 Red Hat, Inc. Copyright © 2013 Marek Chalupa. Copyright © 2014 Jonas Ådahl. Copyright © 2016 Yong Bakos. Copyright © 2017 Samsung Electronics Co., Ltd. Copyright © 2002 Keith Packard. Copyright 1999 SuSE, Inc. Copyright © 2012 Philipp Brüschweiler. Copyright (c) 2020 Simon Ser. Copyright (c) 2006, 2008 Junio C Hamano. |
| Wayland Weston | 14.0.2 | Copyright © 2008-2012 Kristian Høgsberg. Copyright © 2010-2012 Intel Corporation. Copyright © 2010-2011 Benjamin Franzke. Copyright © 2011-2012 Collabora, Ltd. Copyright © 2010 Red Hat. |
| Wayland-Protocols | 1.44 | Copyright © 2008-2013 Kristian Høgsberg. Copyright © 2010-2013 Intel Corporation. Copyright © 2013 Rafael Antognolli. Copyright © 2013 Jasper St. Pierre. Copyright © 2014 Jonas Ådahl. Copyright © 2014 Jason Ekstrand. Copyright © 2014-2015 Collabora, Ltd. Copyright © 2015 Red Hat Inc. |
| Yamlcpp | 0.8.0 | Copyright (c) 2008-2015 Jesse Beder |
13. MIT Khronos - old variant
| Library | Version | Copyright |
|---|---|---|
| Dpcpp Spirv Headers | c9aad99f927 | Copyright (c) 2015-2024 The Khronos Group Inc. |
| SPIR-V Headers | 9268f305735 | Copyright (c) 2015-2024 The Khronos Group Inc. |
14. Mozilla Public License 2.0
| Library | Version | Copyright |
|---|---|---|
| Eigen | 8a1083e9bf4 | Copyright (C) 2008-2010 Gael Guennebaud. Copyright (C) 2006-2008 Benoit Jacob |
| OpenVDB | 13.0.0 | Copyright Contributors to the OpenVDB Project |
MPL 2.0 是文件级(file-level)copyleft 许可:以源代码形式分发必须保持 MPL,但允许与次级许可(如 GPL/LGPL/AGPL)组合为 Larger Work(Section 3.3)。全文见 release/license/spdx/MPL-2.0.txt。
15. Public Domain(公共领域)
Public domain projects have no specific license or requirements in regards to copyright enforcement.
| Library | Version |
|---|---|
| AutoPackage | Unknown |
| Sqlite | 3.51.3 |
| Wintab | Unknown |
这是清单中唯一不要求版权声明的类别——对应生成脚本中的 copyright_exemption 机制(见下文源码分析)。
16. Python License 2.0
| Library | Version | Copyright |
|---|---|---|
| Python | 3.13.13 | Copyright © 2001 Python Software Foundation. All rights reserved. Copyright © 2000 BeOpen.com. All rights reserved. Copyright © 1995-2000 Corporation for National Research Initiatives. All rights reserved. Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved. |
17. Tomorrow Open Source Technology License 1.0(TOST-1.0)
| Library | Version | Copyright |
|---|---|---|
| OpenSubdiv | v3_7_0 | OpenSubdiv Copyright 2013 Pixar All rights reserved. This product includes software developed at: Pixar, Dreamworks Animation, Autodesk, Inc., Google, Inc., DigitalFish. |
| USD | 26.03 | Universal Scene Description Copyright 2016 Pixar All rights reserved. This product includes software developed at: Pixar. |
TOST-1.0 与 Apache 2.0 的差异仅在 Section 6(商标条款)上:TOST 明确不授予使用许可方及其关联方商标的权利,仅允许在符合 Section 4(c)(保留商标声明)的范围内使用。全文见 release/license/others/TOST-1.0.txt。
18. University of Illinois/NCSA Open Source License
| Library | Version | Copyright |
|---|---|---|
| LLVM/SPIR-V Bi-Directional Translator | v16.0.10 | Copyright (c) 2003-2014 University of Illinois at Urbana-Champaign. All rights reserved. Developed by: LLVM Team University of Illinois at Urbana-Champaign |
19. WC Width License
| Library | Version | Copyright |
|---|---|---|
| WC Width | 2007-05-26 | Markus Kuhn -- 2007-05-26 (Unicode 5.0) |
20. Zlib License
| Library | Version | Copyright |
|---|---|---|
| Bullet Continuous Collision Detection and Physics Library | 3.07 | Copyright (c) 2003-2006 Erwin Coumans |
| Haru | 2.4.5 | Copyright (C) 1999-2006 Takeshi Kanno. Copyright (C) 2007-2009 Antony Dovgal. |
| minizip-ng | 4.0.10 | Copyright (C) Nathan Moinvaziri. Copyright (C) 1998-2010 Gilles Vollant. |
| NanoSVG | - | Copyright (c) 2013-14 Mikko Mononen memon@inside.org |
| SDL | 3.4.2 | Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> |
| Zlib | 1.3.1 | Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler |
五、例外条款与豁免机制:上标与版权豁免
清单中存在两类"元机制",它们揭示了这份文档如何表达复杂的许可叠加关系:
-
许可例外(exception)上标:如 Apache 2.0 表中 LLVM、Igc Llvm、Igc Opencl Clang、Unified Memory Framework 名称后的
¹,指向 release/license/others/LLVM-exception.txt。LLVM Exception 允许:当你编译自己的源代码并将其嵌入目标文件时,可豁免 Apache 2.0 Section 4(a)/(b)/(d) 的条件;若与 GPLv2 软件组合且法院认定 Apache 的专利(Section 3)、赔偿(Section 9)等条款与 GPLv2 冲突,可整体放弃这些条款。生成脚本用 Unicode 上标(¹、²…)自动编号并在文档末尾追加对应例外全文。 -
版权豁免(copyright exemption):Public Domain 类不要求版权声明,因此其表格只有
| Library | Version |两列——脚本对声明了copyright_exemption的许可证跳过版权列输出。
六、make license:许可证清单的自动化生成机制
license.md 头部注释给出了完整的维护入口:修改数据源后运行 make license 并提交生成的 license.md。在仓库根目录 GNUmakefile 中,该目标被定义为调用 Python 脚本:
license: .FORCE
@$(PYTHON) tools/utils_maintenance/make_license.py
从 tools/utils_maintenance/make_license.py 的源码结构看,生成流程由 main() → fetch_libraries_licenses() → generate_license_file() 三级构成,数据流如下:
6.1 三类数据源
| 数据源 | 路径 | 内容 | 解析函数 |
|---|---|---|---|
| 许可证注册表 | release/license/licenses.json | 每个许可证的标识符、显示名、SPDX 链接 URL、copyright_exemption 标记 | initialize_licenses() |
| 外部依赖版本表 | build_files/build_environment/cmake/versions.cmake | 每个依赖的 HOMEPAGE / LICENSE / COPYRIGHT / VERSION / HASH | process_versions_cmake() |
| 内部库 README | extern/ 下各子目录的 README.blender | 内部维护库的 Project / URL / License / Upstream version / Copyright | process_readme_blender() |
6.2 versions.cmake 解析:变量名约定即数据结构
process_versions_cmake() 通过正则解析 CMake 文件中的 set(...) 语句。以 build_files/build_environment/cmake/versions.cmake 中真实内容为例:
set(ZLIB_HOMEPAGE https://zlib.net)
set(ZLIB_LICENSE SPDX:Zlib)
set(ZLIB_COPYRIGHT "Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler")
脚本用 key.rpartition("_") 将 ZLIB_LICENSE 拆成库名前缀 ZLIB 与字段后缀 LICENSE,再按后缀映射到结构化字段(NAME/HOMEPAGE/VERSION/LICENSE/COPYRIGHT/HASH/DEPSBUILDTIMEONLY)。这解释了清单中所有条目版本号精确到 commit 哈希的原因——它们来自 versions.cmake 中的 *_HASH 变量。
两个重要的过滤规则(源码注释明确说明):
- 无 HASH 的条目被丢弃:
set()中未提供_HASH的被视为"非真实库",不进入清单; - 仅构建期依赖被排除:标记了
DEPSBUILDTIMEONLY的库不会出现在最终 Blender 二进制中,因此也不进入合规清单。
此外,许可证字符串支持 WITH 例外语法:get_license_exception() 用正则 ^(.*)\swith\s(.+)$ 将 SPDX:Apache-2.0 WITH LLVM-exception 拆分为主许可与例外。
6.3 README.blender 解析:内部库的合规声明
对 extern 下未纳入 versions.cmake 的内部维护库,合规信息记录在各自的 README.blender 中,脚本按 key: value 行解析。以 extern/rangetree/README.blender 为例:
Project: RangeTree
URL: https://github.com/ideasman42/rangetree-c
License: SPDX:Apache-2.0
Upstream version: 40ebed8aa209
Local modifications: None
Copyright: Copyright (c) 2016, Campbell Barton
这也解释了清单中 RangeTree 条目(Apache-2.0 / 40ebed8aa20 / Campbell Barton 版权)的来源。扫描 extern 目录时,缺少 README.blender 的子目录会产生警告。
6.4 输出生成:排序、折叠与校验
generate_license_file() 负责最终排版:
- 许可证按名称排序,仅输出有库归属的类别,每类先写
## 许可证名标题,再写| Library | Version | Copyright |表格; - 库按名称排序,版本号截取前 11 个字符(
version[:11]),这正是清单中版本号常带截断痕迹的原因; - 许可证全文从 release/license/spdx/ 与 release/license/others/ 目录读取,去除行尾空格后包进
<details><summary>...</summary>...</details>折叠块,避免许可证原文的尾部空格干扰 Markdown 渲染; - 异常即失败:某许可证被库引用但找不到全文文件时,脚本打印
Error: Could not find license file for ...并以sys.exit(1)终止——保证生成的清单永远自洽; - 缺失版权即警告:对要求版权声明的许可证,若某库未提供版权信息,打印
Warning: ... missing copyright notice; - 注册表外的许可证会被拦截:数据源中出现
licenses.json未注册的许可标识时打印错误并跳过,防止静默遗漏。
七、合规维护实践:如何新增或更新一个依赖
结合文档与生成脚本,Blender 的合规维护流程可以总结为以下步骤(无需手工编辑 license.md):
- 新增外部依赖:在 build_files/build_environment/cmake/versions.cmake 中为库名添加
_HOMEPAGE、_LICENSE、_COPYRIGHT、_VERSION、_HASH等set()变量;许可标识符必须是 release/license/licenses.json 中已注册的键(SPDX:*或自定义键如TOST-1.0),若为全新许可则先在licenses.json注册并在 release/license/spdx/ 或 release/license/others/ 放置全文文件; - 更新内部库:编辑对应 extern/ 子目录的
README.blender,保证Project / URL / License / Upstream version / Copyright字段完整; - 更新字体:字体表及字体许可证内嵌在 tools/utils_maintenance/make_license.py 的
INTRODUCTION常量中,改动需修改脚本本身; - 重新生成:在仓库根目录执行
make license,脚本会输出License file successfully generated: "release/license/license.md"并提示提交该文件; - 提交产物:将重新生成的 release/license/license.md 连同数据源改动一并提交。
这套机制保证了"数据源单一、产物可复现":任何许可证信息的变更都会在下一次生成时统一反映到文档中,且生成过程内置了缺失文件、缺失版权、未注册许可三类校验,从工程层面避免合规遗漏。
八、从源码视角的补充:SPDX 标识与许可证检查
license.md 的自动生成机制与仓库内另一条合规流水线相互配合——GNUmakefile 中的 check_licenses 目标调用 tools/check_source/check_licenses.py,按 doc/license/SPDX-license-identifiers.txt 中收录的许可标识校验源码文件的 SPDX 头(如 SPDX-License-Identifier: GPL-2.0-or-later)。make_license.py 自身也以标准 SPDX 头声明 GPL-2.0-or-later,而 licenses.json 中的键大量采用 SPDX: 前缀直接映射 SPDX 标识符——两条流水线共享同一套 SPDX 词汇表,从"源码头声明"与"发行版依赖清单"两个维度共同构成 Blender 的许可合规体系。
需要说明的是,本文描述的清单版本、依赖版本号与版权声明均以当前仓库 release/license/license.md 为准;由于文档标注 © 2011-2026 Blender Foundation 且依赖版本持续演进(如 LLVM 20.1.8、Python 3.13.13、OpenSSL 3.5.6 等),实际发布版本的具体条目会随 make license 的重新生成而更新。
【免费下载链接】blender
Official mirror of Blender
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



