MPL License and commercial use question

173 views
Skip to first unread message

Cameron Costa

unread,
Mar 10, 2023, 7:03:13 PM3/10/23
to libplctag
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

Jody Koplo

unread,
Mar 11, 2023, 12:22:40 AM3/11/23
to Cameron Costa, libplctag
Cameron-

I'm not a lawyer, but my basic understanding aligns with everything you said. 

We chose the MPL (or at least the reason I was in favor of it) is that it allows for exactly what you are doing. It can be used in a commercial offering as long as any improvements/changes/bug fixes to the library itself are shared back with the community. This is in contrast to MIT/BSD/Apache which would allow you to create your own improved, closed version. And in contrast to LGPL which is less permissive about static compilation and requires the library to be replaceable at runtime.

So at least from the spirit of what is intended (speaking for myself) you're doing exactly what's expected. However, I definitely can't confirm the legal intricacies.

Jody

--
You received this message because you are subscribed to the Google Groups "libplctag" group.
To unsubscribe from this group and stop receiving emails from it, send an email to libplctag+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/libplctag/a51b9d61-0b56-4ff8-8a7e-f044dd752f1bn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages