Replies: 7 comments 1 reply
-
First off, I'm not a lawyer, so you have to take my opinion with a grain of salt 😉 I do have developer experience with both Apple's AppStore and Google's PlayStore for an app I developed, https://apps.apple.com/us/app/easycockpit/id542957397, although with no LGPL code involved. https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html Now with regards to a shared library (.dll, .so, .dylib) section 6b mentions Now having said that, although section 6a talks about statically linking in the LGPL library into your app I think it's 'spirit' would potentially apply for your case. My thinking is that the idea being captured in section 6 is that a user should be able to make modifications to the LGPL library you're using, JSBSim in this case, and be able to relink (statically or dynamically) their modified version with the rest of your app and have your app run, assuming they don't make any breaking changes to the API. In terms of iOS, Android etc. and their code signing requirements etc. the only way I see this working is that you go with section 6a. So provide a binary version of your app in terms of object files, lib files etc. compiled for the relevant platform, such that a user could then bring them into their iOS/Android development environment and rebuild against their modified JSBSim library. They would then code sign this with their developer credentials they have with Apple/Google etc., and get it onto their device using Apple/Google's development tools and potentially via the respective app store. |
Beta Was this translation helpful? Give feedback.
-
If I understand well, for iOS for instance, I've to release an Xcode solution ready to compile with instructions on how to replace the lib. How other are using JSBSim? |
Beta Was this translation helpful? Give feedback.
-
Just to be clear, I'm not saying you have to release your source code with the XCode solution. Just the object/lib files, so that a user can link your binaries (object/lib) files to generate an executable that they then dynamically link with their own modified JSBSim. |
Beta Was this translation helpful? Give feedback.
-
The user can't generate an executable without xcode, so I don't see how I can do otherwise. |
Beta Was this translation helpful? Give feedback.
-
You're not understanding my suggestion. Sure they need to use XCode, but that doesn't mean you have to provide them with the source code to your application. You can provide them with a compiled library of your code, and then in XCode they can link your compiled library with their modified version of JSBSim etc. to generate an application. |
Beta Was this translation helpful? Give feedback.
-
Looks like very obscure for me :) The thing is, with Unreal you don't have a lot of choices. You've an xcode solution attached to your project and that's all. There is no way to create a library from the Unreal code. The only thing I can do is to provide source code access to my fork of JSBSim/Unreal plugin |
Beta Was this translation helpful? Give feedback.
-
Yep, that's a given in terms of the requirements of the LGPL.
So leave say just the main entry point code in this project and supply that, then move all your source code files with the code you had to write to interact with Unreal etc. into a separate XCode solution and build that as a library, static library or a dynamic library, and just add it to the list of libraries to link against in the main XCode solution. Then also supply a copy of your built library to end users. |
Beta Was this translation helpful? Give feedback.
-
Hello,
I'm working on a flight simulator for many platforms, one of them is iOS, but also Android.
I'm using the Unreal plugin which is released under the MIT licence and my libraries are compiled dynamically. So on Android I've an .so file and .dylib on iOS. On that side, everything looks fine.
However, the licence requires that the user can replace the library by another one. It's hard on Android and definitly not possible on iOS.
So my question is simple: Am I allowed to use the JSBSim plugin on a commercial app on the AppStore or not?
It seems to be a big no, but maybe there are some flexibility with the LGPL 2.1 (3.0 seems worse).
Beta Was this translation helpful? Give feedback.
All reactions