OpenAL android static/dynamic linking and LGPL license


#1

From what I understand and from last time I tried openfl, OpenAL on Android was statically linked (and bundled) with the main .so binary of an OpenFL app.

This is AFAIK making every closed-source game/app using OpenFL violating the LGPL license of OpenAL-soft. In order to be as compliant as possible with the license on Android, OpenAL on android should be a separated libopenal.so that gets linked dynamically in the final APK. That option is not perfect but is already better than linking statically as it would allow an Android user who rooted is phone to replace libopenal.so with another one and thus make the app kind of compliant with OpenAL soft LGPL license.

I am interested to know if this issue has been addressed in latest versions of OpenFL/Lime or not, or is this considered a non-issue?


#2

Yep, OpenAL-Soft is LGPL licensed, which means the user is required to be able to replace the shared library.

The good news for you as an OpenFL developer is that our binary (lime.so) is “tainted” by the LGPL, but your code is not. Although we statically link, it means that we are forced to keep the rest of our Lime native binary open-source… but it’s already open-source.

I’d be concerned if you used -static when building your project, which will link your code with ours, but we disable OpenAL-Soft when you use -static with Lime (to prevent you from accidentally tainting your source code) so no problem there (other than no sound). I agree that a separate OpenAL library would be a little nicer, but you should be safe! :slight_smile:


#3

Thanks for the clarification!