Mongoose License Clarification GPL/Apache

  1. My goal is: Understanding to what extent Mongoose is Apache Licensed or whether I need to release under GPL when using libmongoose

  2. My actions are:

  • Read: MGOS Homepage which states “Open source under Apache 2.0 license”
  • Read the bits about commercial licensing and understand that part of OTA and Cron can only be used if licensed commercially
  • My understanding is that Mongoose the networking library is released as GPL.
  • It used to be released in binary form under an Apache license (whatever Apache licensed binary means), but this was changed in Oct. 2020 in this commit

From what I can tell, libmongoose is a necessary requirement for mongoose-os, as it is required via core for (from what I can tell) any non-trivial functionality.

For me it follows that any firmware I build using Mongoose > 2.18.0 (the last release Apache-licensed libmongoose in binary form) necessarily has to be GPL’ed because while mongoose-os is Apache, linking in libmongoose requires me to release my code under the GPL as well.

Of course, Cesanta, owning the copyright to mongoose-os and mongoose can do whatever they please …

  1. The result I see is:
    I’m very confused :slight_smile:

  2. My expectation & question is:

Is my understanding correct? It seems to me that the intention of Cesanta is to provided Mongoose under the Apache license. Yet libmongoose is required for all ( not 100% sure, but at least all no trivial ) use of mongoose-os and being GPL, would require me to make my application GPL as well. At least if using a release >2.18.0

(This would be fine for my use case, but I want to make sure I understand correctly as we’re currently in the process of upgrading and want to know if we need to change licenses for the release …)

Why don’t you contant Cesanta and clear all your doubts ?

I was under the impression that Cesanta operates this forum. After all, any questions here could be answered with “Why don’t you ask Cesanta?”, what good would the forum be if that was the answer to every question? Especially as this forum caters to the open source community, I though that any clarification would be of interest to the community.

You seem to be fairly active here, do you have the feeling that Cesanta would not be interested in clarifying the matter?

Well, this forum is not fully moderated and licensing details will be precisely answered by the people in charge of those matters. We are mostly techies here.

Mongoose is a separate product and it is GPL for non-commercial purposes Mongoose :: Licensing .
Mongoose-OS does not use Mongoose but a specific release of it, when you are using Mongoose-OS, you are not using Mongoose per se, you can’t upgrade to Mongoose 7.x, you use what is delivered with Mongoose-OS

Now, I’m not a lawyer nor a business man, so take this with a grain of salt (or two) and please ask Cesanta.

This is my understanding as well. Furthermore, that particular version is a necessary prerequisite to using Mongoose OS at all. The release used to be Apache licensed, but was changed to GPL in the release I linked to above. The viral nature of the GPL would imply that this makes any code I link against it (i.e. my Mongoose Application) GPL as. These requirements obviously do not apply to Cesanta, because they own all the IP, but it seems strange they advertise Mongoose OS as “Open source under Apache 2.0 license”, when it’s only useable under GPL or commercial.

It would seem that it would be in the interest of Cesanta to be clear about licensing terms, but I guess I’ll have to follow your advice and contact them out of channel. I’ll report back here in case I find anything out. Anyway, thanks very much for your response so far, you’ve been very helpful!