[openal] Licensing questions

Chris Robinson chris.kcat at gmail.com
Wed Sep 9 21:08:29 EDT 2020

On Wed, 9 Sep 2020 18:22:02 +0300
Pavel Melnikov <pavel.v.melnikov at gmail.com> wrote:

> At first, Sorry for the long letter.

It's no problem. Hopefully I can give a satisfactory answer.

> MY PLANS and QUESTIONS (according to my understanding of the LGPL
> v2.1 license):
> 1. Upload all the source code written by me and Viktor to the GitHub
> under the MIT License. Also mention in the LICENSE.md file that “this
> software uses the OpenAL Soft library”, add all the copyrights of the
> authors and add a copy of the LGPL license.
> Questions:
>  1.a) May I distribute C# bindings to the OpenAL Soft library under
> the MIT License or the bindings must be considered as a derivative
> work and must be distributed under the same LGPL license?

I'm no lawyer or legal expert, but I see no reason bindings couldn't be
under the MIT license since they'd be separate from OpenAL Soft (which
is basically just implementing the OpenAL API, of which there's
multiple implementations with different licenses).

> 2. Create nugget packages for all the game engine libraries and
> upload them to the official nugget registry under the MIT License.
> Also create a separate multiplatform (Win, Mac, Linux-es, 64/32, ...)
> nugget package for the unmodified OpenAL Soft library that will
> contain binaries for each platform. This nugget will have LGPL
> license, all the copyrights, and a copy of the LGPL v2.1 license.
> Questions:
>  2.a) May I create a described below multi-platform nugget package
> and upload it to the nugget registry or should I ask you to create an
> official release to nugget repository by the authors?
>  2.b) if Yes, then must I add a copy of the all source code of the
> OpenAL Soft library to the nugget or a link to the original
> repository will be enough?

If you didn't make any changes to the code, I think linking to the
original repository is fine. If you do make changes, the changes need to
be published somewhere.

I don't know how exactly how nugget works or its policy on such things,
but I have no problem with you creating a package for OpenAL Soft for
your engine, as long as it's noted to not be official.

> 3. Pack all the libraries of the engine in binary form as well as the
> OpenAL Soft library in binary form to a downloadable archive. In the
> license text describe that all the engine libraries are distributed
> under the MIT License except OpenAL Soft. OpenAL Soft is
> redistributed under the LGPL license. Also add all the copyrights and
> a copy of the LGPL v2.1 license file to the archive.
> Questions:
>  3.a) Is it OK to redistribute the libraries as described below?
>  3.b) If yes, then must I include all the source code of the OpenAL
> Soft library along with the binaries or a link to the source code on
> GitHub will be enough?

Seems fine to me. As said above, providing a link to the source on
GitHub should be enough as long as the code isn't changed (and if it
is changed, those changes should be provided in some way).

> 4. Also as I understand, the games/apps written using the game engine
> may be distributed under almost any license (even closed-source)
> following the same rules as described in p.3 and allowing the end
> user to modify/replace the OpenAL Soft library if he/she wishes to.
> May be the best option will be to keep the library as a separate
> replaceable file and not including it to the resulting .exe file.
>  4.a) Is it right?

As a separate dll/so/dylib is the easiest to deal with, yeah. It can be
with the exe in one package, but static linking it into the executable
itself would add extra (relinking) requirements on the binary.

More information about the openal mailing list