Licensing

Mongoose OS is Open Source and dual-licensed under GPLv2 license and Commercial License (that removes GPLv2 restrictions).

GPLv2 vs. Commercial License

GPLv2 License Commercial License
Allows to close end-product's source code No Yes
Price Free Paid, see details
Source code & functionality Limited (see below) Full

Closed-source libraries

Several Mongoose OS parts, specifically libraries that are mainly used in the commercial setup, are closed-source. They are available for free usage under GPLv2 with restrictions only. The table below provides a summary of all such libraries.

Mongoose OS customers on Commercial License receive full access to the source code and all restrictions are removed.

Library Usage under GPLv2 (free) Usage under Commercial License
ota-http-client Binary only. OTA only from Mongoose OS dashboard service. Binary & sources. No restrictions.
ota-http-server Binary only. No restrictions. Binary & sources. No restrictions.
ota-aws-shadow Binary only. OTA only from Mongoose OS dashboard service. Binary & sources. No restrictions.
cron Binary only. 3 cron tasks max. Binary & sources. No restrictions.
crontab Binary only. 3 crontab entries max. Binary & sources. No restrictions.

Build instructions for Commercial License customers

After Commercial License acquisition, a customer gets access to the source code of the libraries listed above. In order to build an app with all restrictions removed, add --libs-dir flag to the app build command:

mos build --local --verbose --no-libs-update --libs-dir path/to/libs --repo path/to/mongoose-os