Blender OSS and Licenses

Blender 2.93 marks the second installment of the LTS program. This time around, the bar for sharing the builds was raised to a new level. Blender is now fully compliant with the highest standards required by third parties to redistribute it. “The Lone Blue Widebeest (GNU)” with changes, original credit: Ray in Manila – CC […]

Blender 2.93 marks the second installment of the LTS program. This time around, the bar for sharing the builds was raised to a new level. Blender is now fully compliant with the highest standards required by third parties to redistribute it.

"The Lone Blue Widebeest (GNU)" with changes, original credit: Ray in Manila - CC BY 2.0
The Lone Blue Widebeest (GNU)” with changes, original credit: Ray in Manila – CC BY 2.0

This all started in May 2020. At the time Blender’s license was explicitly mentioned in the website as well as in a single license document present in the code base. However this didn’t account for the components Blender depended on.

More specifically, while Blender itself is licensed as GPL 2.0 or later, Blender depends on multiple libraries that each have a different license. To quickly mitigate that, Blender 2.91 started to ship with a license folder that allows users to check the full licenses of all the components built with Blender.

With the release out of the way, the Blender team could revisit this topic again. After a second pass on the state of the licenses, and …

This was not enough.

Some licenses require the full license copyright to be present with the distribution of the software, not only the license text. Usually the copyright refers to the original author of the library or the project maintaining it. For that, in Blender 2.92 an Attribution Document was built using OSS Attribution Builder.

The attribution document is now part of the release checklist and updated every release. While the license folder contains all the licenses of the internal components of Blender, the attribution document covers all the external libraries.

Another Blender release was also another opportunity to assess the requirements for its distribution, and …

This was still not good enough.

One of Blender’s long-standing issues is that a lot of the libraries it depends on are scattered around the web. What happens if the servers are down? Or if the library version needed for an old version of Blender vanishes from their backup?

Add to this that some of those libraries have licenses that require Blender to either host a copy of the source code, or to provide an “offer for source”. For years, third parties distributing Blender had simply trusted Blender to keep this in check — either by making sure the links to other projects are working or that there are local copies hanging around.

To solve this once and for all, Blender 2.93 source code will be distributed with all the libraries used for that version. For incremental versions and LTS updates only the main Blender source code package will be distributed. This was also retroactively implemented for the current stable releases of 2.83 LTS and 2.92 (see links below).

Blender is now shipped with even higher standards. This was a year long endeavour but worth it. Hopefully this journey inspires and assists other open source projects to give licenses the attention they deserve.


This is part of the ongoing effort to professionalize Blender’s infrastructure. A big thanks to the team at Amazon’s Open Source Programs Office for bringing up this topic originally and providing guidance.

Timeline:

Links:

Source: Blender