[openal] Licensing questions
pavel.v.melnikov at gmail.com
Wed Sep 9 11:22:02 EDT 2020
Me and my friend Viktor are writing a simple C# game engine and we would like to incorporate the OpenAL Soft library in the engine. The library is amazing in all aspects and it looks as a best fit to the engine.
But I have some doubts about licensing the work. I’m not a lawyer, LGPL license text looks complicated to me, but I want to make everything legal and give all the credits and acknowledges to the Authors of OpenAL Soft and meet all the requirements of the LGPL..
I’ve read the LGPL license a few times, searched some forums and asked my questions on StackOverflow but even after that I’m not sure that my understanding is full and correct. So I decided to contact the authors/community and ask my questions directly to avoid legal issues caused by misunderstanding of the LGPL license. I suppose this mail-list is the right place.
At first, Sorry for the long letter.
The game engine is written in C# and will consist of separate libraries for each subsystem (Graphics, Audio, Input, math, etc…). The sound system will consist of two (maybe more in future) libraries. One of them will contain C# binding to access the native OpenAL Soft library. Another one will contain more high level code to produce game sounds easier.
The game engine will be distributed in three forms: as a source code, as nugget packages, and as a downloadable archive that contains all the binary files needed to create a game. I want everything to be as free as possible. So I plan to distribute code written by me under the permissible MIT License. The MIT License looks the best choice for me. I plan to redistribute the OpenAL Soft library as part of the engine under the LGPL license.
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.
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?
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.
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?
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.
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?
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?
Sorry one more time for the very long letter, but I just want to make everything the right way.
Thank you very much in advance!
pavel.v.melnikov at gmail.com
More information about the openal