Mongoose OS is highly modular. It consists of the core and a large number of libraries. The core, and most of the libraries, are open source and released under the Apache 2.0 license as Mongoose OS Community Edition.
Some of the libraries are closed-source, and have certain restrictions. Those restrictions can be removed by purchasing a Mongoose OS Enterprise Edition license.
rpc-service-ota
library is used by your appmos license
mos --port DEVICE_ADDRESS license
Licenses are bound to devices, and they are permanent.
The mos license
command creates a unique license string specific
for a device,
and updates device.license
configuration parameter, which "unlocks"
the device and removes restrictions. The License Manager decreases
the number of available licenses and saves a unique
license string. The next time mos license
is run for the same device,
an old license string is returned by the License Manager
but the number of available licenses is not decreased.
Thus a device, once licensed, is licensed permanently.
curl --location --request POST 'https://license.mongoose-os.com/api/v1/license' \
--header 'Authorization: Bearer xxxxxxe2977b746c753e40b4599555' \
--header 'Content-Type: application/json' \
--data-raw '{
"type": "mos",
"device_id": "0fxxxxxxxxa6a555",
"app": "myappsname"
}'
Below is the list of closed-source libraries and their restrictions.
Library | Restriction |
---|---|
ota-common | OTA only from mDash |
ota-http-client | OTA only from mDash |
ota-http-server | No restrictions |
ota-shadow | OTA only from mDash |
cron | 3 cron tasks max |
crontab | 3 crontab entries max |