Hi all,
I recently have completed two projects that use libplctag. One is a .NET app that uses the wrapper and the other an android app that includes the libplctag library as native code and I created an interface to the library through the JNI. This is all because we needed both apps to communicate with Micrologix PLCs. The company that I work for plans to release these products to customers in the near future. I think I have a handle on how the licensing works, but I want to be extra sure, so I thought I would turn here to ask before things move further along.
Essentially, I wrote both of these apps, but used your library's (for which we're extremely thankful!) functionality for the communications. In the .NET app, that meant using the wrapper and included functions, and in the android app using the native code to do essentially the same, after writing my own C file and using the JNI to call some of your methods to read and write tags, which allows it to interact with my Kotlin code.
As I understand it, under the MPL 2.0, we shouldn't have to open-source the projects that I worked on because I didn't make any modifications to libplctag itself (other than a small addition to your provided CMakelists.txt file to include the C file that I wrote that calls some of the provided functions from libplctag and uses the JNI). Therefore, what I should do is include the MPL with these apps, and also include a readme that describes the usage of libplctag, and points any interested parties to your repository.
But, like I said, I wanted to post here to make sure that I wasn't mistaken about this or missed anything. This is my first time writing a commercial application in general that will be distributed to our customers, and thus my first time including an open-source library as part of a project like this as well, so I want to make absolutely sure that I'm not doing anything wrong here. If I am misunderstanding or in the wrong here, I would appreciate correction, so please let me know.
As a side note, thanks to the fine people who have helped me sort out some important questions I've had about using libplctag in recent months!
Thanks and best,
Cameron