.. _licensing:

Licensing 
=========

Licence for Industrial Data Collector.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Licensing terms to use Industrial Data Collector depend on the edition:

- **Community Edition**.
  
  - Free forever;
  - Can be used in commercial, personal, educational or other projects;
  - Have limits on number of OPC UA Servers to connect to (maximum 5), number of variables to log (up to 64) and number of variable groups (up to 5).

- **Standard Edition**.
  
  - Number variables is limited to 1024, and no limits on number of OPC UA Server and variable groups.

- **Enterprise Edition**.
  
  - All features are enabled;
  - No limits on number of OPC UA Server nor number of variables nor number of variable groups.

- **Academic Edition**.

  - Same as Enterprise Edition.
  - Requires connection to Internet for periodic license validation.
  - Provided for free to use in scientific-research and academic projects by universities and other government funded education and research organizations. If your project qualifies, contact :ref:`support` to get the license activation key. Please use your work email adress to send emails.

.. note:: Features and limitations of the Community Edition might change over time. Anyhow, once you download Community Edition distribution package of the Industrial Data Collector, you can continue to use that version according to licensing terms included into that specific package. Next versions of Community Edition might have some features disabled or limited comparing to the Standard or Enterprise Editions or previous versions of Community Edition.

.. note:: Detailed licensing terms applicable for specific installation are available from the configuration GUI via menu ``License/License Agreement``.

.. _amul:

Annual Maintenance and Upgrades License.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Starting from version 2.2.0, additionally to the main, regular license, described in the section above, valid ``Annual Maintenance and Upgrades License`` is required (furhter below referred as ``AMU License``, or ``AMUL``). Regular licenses include AMU License for one year period after the first activation of the application with that regular license's activation code. New versions of the application released before expiration of the AMU License will run normally. Later releases will have disabled functionlity. Therefore, before upgrading to new versions please check if your installation has valid AMU License allowing to run that version of the application. History of releases can be found in Relase Notes document accessible from configuration GUI, menu ``Help and Links / Release Notes``. 

Expiration day is determined as the latest day defined in all installed AMU License files, 

For more details about licensing, and to purchase AMU Licenses please contact :ref:`support`.

For information about how to install the AMU License please refer section :ref:`uploadamul`.

Licenses of open source dependencies.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The SDK uses and depends on the following open source libraries according to their license terms:

- `Boost <https://www.boost.org/>`_. License: `Boost Software License <https://www.boost.org/users/license.html>`_;

- `Botan crypto library <https://github.com/randombit/botan>`_. License: `BSD 2-Clause "Simplified" License <https://github.com/randombit/botan/blob/master/license.txt>`_;

- `rapidjson <https://github.com/Tencent/rapidjson>`_, fast JSON parser/generator for C++ with both SAX/DOM style API. License is `here <https://github.com/Tencent/rapidjson/blob/master/license.txt>`_;

- `spdlog <https://github.com/gabime/spdlog>`_, very fast, header-only/compiled, C++ logging library. License: `MIT <https://github.com/gabime/spdlog/blob/v1.x/LICENSE>`_;

- `sqlite3 <https://www.sqlite.org/index.html>`_. License: `Public Domain <https://www.sqlite.org/copyright.html>`_;

- `OpenSSL <https://www.openssl.org/>`_. Apache style license;

- `restc-cpp (Modern C++ REST Client library) <https://github.com/jgaa/restc-cpp>`_. MIT License.  

- `librdkafka - the Apache Kafka C/C++ client library <https://github.com/edenhill/librdkafka>`_. License: https://github.com/edenhill/librdkafka/blob/master/LICENSE

- `cppkafka: high level C++ wrapper for rdkafka <https://github.com/mfontanini/cppkafka>`_. BSD 2-Clause "Simplified" License: https://github.com/mfontanini/cppkafka/blob/master/LICENSE

- `UTF-8: A simple, portable and lightweight generic library for handling UTF-8 encoded strings <https://sourceforge.net/projects/utfcpp/>`_.

- `CPython ("traditional" implementation of Python): <https://github.com/python/cpython/blob/main/LICENSE>`_.

- `paho-mqtt-c (Eclipse Paho C Client Library for the MQTT Protocol): <https://github.com/eclipse/paho.mqtt.c/blob/master/LICENSE>`_

- `paho-mqtt-c++ (Eclipse Paho C++ Client Library for the MQTT Protocol): <https://github.com/eclipse/paho.mqtt.c/blob/master/LICENSE>`_ 