New FOS license for the YafaRay project

Hi there

At the beginning of the YafRay project in 2001, the Lesser GPL 2.1 license was chosen because it allowed for a flexible integration of our rendering libraries in both FOS and propietary software.

However, we are at a point where we need a license upgrade to stay compatible with the latest open source releases made by big studios and chip makers, particularly open source libraries released by Pixar and Disney and optimisation kernels released by Intel and AMD. These releases are usually made under the liberal Apache 2.0 license, which is not compatible with our LGPL 2.1 license because of patent litigation issues.

However, there is not a clear path for the license upgrade and anyway we would like to have input from as many people as possible to make the jump, paticularly from users and maintainers of YafaRay exporters. The main issues are:

  • There are two FOS options for a license upgrade, which are GPL 3 and Apache 2.0. While we can upgrade automatically to GPL 3, for an upgrade to Apache 2.0 we would need to reach every present and past developer of the YafaRay project to ask for permission. It is not clear that we will find Mathias Wein for instance.
  • The general public license 3.0 in its two versions GPL ad LGPL poses a tricky issue on dynamic linking. Dynamic linking consist in loading rendering libraries in runtime by a 3D package, by copying the content of libraries from persistent storage to RAM etc. Dynamic linking is considered as a derivative work by the GPL 3 license thus it wouldn’t make it possible for using YafaRay in a propietary software using our Render API.
  • The YafaRay Render API is currently used by the Blender exporter. It allows for direct rendering of a 3D scene without creating an intermediary XML scene description file. Edificius still uses XML files and we don’t know about pCon-planner and other packages using YafaRay and not listed in our site. For instance, there is at least one kitchen modeller software that uses YafaRay and more packackes could integrate YafaRay in the future, like Sketchup. If we upgrade to GPL3, propietary software won’t be able to use dynamic linking with YafaRay rendering libraries.
  • In fact the FSF recommends Apache 2.0 for big libraries like YafaRay.
  • We can improve our scene description XML file (binary files, compression, etc) to make it faster for writing and loading in propietary applications anyway, but it won’t never be as fast as dynamic linking.
  • Apache 2.0 code is compatible with GPL 3 but not the other way around. We could use Apache 2.0 if we release under GPL 3 license, but no Apache 2.0 project can use GPL3 code

We would like to have your input in these matters to make a good decision with all downsides considered and foreseen. We a looking forward to input from developers of host applications and maintainers of exporters. Thanks in advance.