Introduction
- JS7 is available for dual licensing with an Open Source License and a Commercial License.
- The same source code and therefore the same feature functionality is available with both license models.
- The one exception is the operational feature to cluster the JS7 components for high availability which is a commercially available feature for enterprise customers.
- Customers applying for a commercial license receive both a license key from SOS and the binary code that allows clustering of JS7 components.
License Key
The license key is an X.509 certificate that is issued and signed by SOS.
- SOS forwards the license key to the customer.
- The customer is responsible to apply the license key in compliance with the license terms forwarded by SOS to the customer.
License keys include information about the
- license owner: company name
- license model: perpetual license, subscription license, pay-per-use license
- license package: the number of Controller and Agent instances that are covered by the license.
- license limit: licenses are valid starting from the date of issuing. Licenses are valid
- with the perpetual license model without expiration date.
- with the subscription license model for the subscription period, e.g. one year.
- with the pay-per-use license model for a maximum of two years.
License keys are not subject to an open source license. Modification of license keys and use of license keys outside of the licensee's organization is not permitted.
Licensed Binary Code
The license key allows to use binary code for the clustering capabilities of JS7 components.
- Binary code for clustering is not open source, it is copyrighted. Binary code for clustering is published with a commercial license issued by SOS.
- Users may not modify, decompile, or reverse engineer binary code for clustering.
Binary code for clustering is available from the js7-license.jar
file that is offered for download from the SOS web site. By downloading the binary code for clustering you consent with the license terms for a commercial license of JS7.
Applying License Key and Licensed Binary Code
License Key
The license key ships as an X.509 certificate file (*.crt) that is added to the following directories:
- JOC Cockpit:
JETTY_BASE/resources/joc/license
JETTY_BASE
will be specified during installation.- The certificate has to be added to all cluster members.
- Controller:
JS7_CONTROLLER_DATA/config/license
JS7_CONTROLLER_DATA
will be specified during installation.- The license key has to be applied to all cluster members.
Licensed Binary Code
The licensed binary code is available from the js7-license.jar
file that is added to the following directories:
- JOC Cockpit:
JETTY_BASE/lib/ext/joc
JETTY_BASE
will be specified during installation.- The jar file has to be added to all cluster members.
- Controller:
JS7_CONTROLLER_DATA/lib/user_lib
JS7_CONTROLLER_DATA
will be specified during installation.- The jar file has to be added to all cluster members.
License Check
Positive License Check
- JOC Cockpit:
- The positiv license check is silent, without any further logging messages.
- Controller:
- The positiv license check will log a single entry to the controller.log. The entry looks like this:
2021-05-28T06:14:33,196 info com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: js7.controller.cluster
- The positiv license check will log a single entry to the controller.log. The entry looks like this:
Negative License Checks
Logging examples for negative license checks:
- The complete
/license
folder can not be found.- JOC Cockpit:
2021-05-28T11:37:02,797 INFO main c.s.j.l.c.LicenseChecker - Could not read directory: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license
2021-05-28T11:37:02,801 INFO main c.s.j.l.c.LicenseChecker - No licence certificates found.
- Controller:
2021-05-18T08:12:31,370 info com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
2021-05-18T08:12:31,372 info com.sos.js7.license.check.LicenseChecker - Could not read directory: /var/sos-berlin.com/js7/controller/var/config/license
2021-05-18T08:12:31,372 info com.sos.js7.license.check.LicenseChecker - No licence certificates found.
- JOC Cockpit:
- No files are present in the
/license
folder.- JOC Cockpit:
2021-05-28T11:04:23,651 INFO main c.s.j.l.c.LicenseChecker - No file(s) present in: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license
2021-05-28T11:04:23,656 INFO main c.s.j.l.c.LicenseChecker - No licence certificates found.
- Controller:
2021-05-18T08:17:17,412 info com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
2021-05-18T08:17:17,429 info com.sos.js7.license.check.LicenseChecker - No file(s) present in: /var/sos-berlin.com/js7/controller/var/config/license
2021-05-18T08:17:17,429 info com.sos.js7.license.check.LicenseChecker - No licence certificates found.
- JOC Cockpit:
- Files are present in the
/license
folder, but those files are not acknowledged as X.509 certificates.- JOC Cockpit:
2021-05-28T11:48:07,057 INFO main c.s.j.l.c.LicenseChecker - Could not parse certificate from file: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license\test.txt
2021-05-28T11:48:07,061 INFO main c.s.j.l.c.LicenseChecker - No certificate(s) present in: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license
2021-05-28T11:48:07,061 INFO main c.s.j.l.c.LicenseChecker - No licence certificates found.
- Controller:
2021-05-18T08:27:43,110 info com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
2021-05-18T08:27:43,126 info com.sos.js7.license.check.LicenseChecker - Could not parse certificate from file: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license\test.txt
2021-05-18T08:27:43,127 info com.sos.js7.license.check.LicenseChecker - No certificate(s) present in: C:\sp\devel\js7\testing\installations\joc\jetty_base\resources\joc\license2021-05-18T08:27:43,127 info com.sos.js7.license.check.LicenseChecker - No licence certificates found.
- JOC Cockpit:
- Cases of invalid certificates:
- Certificate is not a SOS License X.509 certificate.
- JOC Cockpit:
2021-05-28T11:40:01,694 INFO main c.s.j.l.c.LicenseChecker - License not a JS7 license.
2021-05-28T11:40:01,699 INFO main c.s.j.l.c.LicenseChecker - DN: DNQ=SOS CA, CN=sp, OU=IT, O=SOS, L=Berlin, ST=Berlin, C=DE
- Controller:
2021-05-18T08:21:22,322 info com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
2021-05-18T08:21:22,395 info com.sos.js7.license.check.LicenseChecker - License not a JS7 license.
2021-05-18T08:21:22,396 info com.sos.js7.license.check.LicenseChecker - DN: DNQ=SOS CA, CN=sp, OU=IT, O=SOS, L=Berlin, ST=Berlin, C=DE
- JOC Cockpit:
- The validiy period of the SOS License X.509 certificate has expired.
- JOC Cockpit:
2021-05-28T11:44:38,921 INFO main c.s.j.l.c.LicenseChecker - license has expired on: Wed May 19 09:33:42 UTC 2021
2021-05-28T11:44:38,926 INFO main c.s.j.l.c.LicenseChecker - License validity period failed.
- Controller:
2021-05-19T12:15:56,502 info com.sos.js7.license.controller.ClusterLicenseCheck - Product Name: JS7 Controller Cluster
2021-05-19T12:15:56,647 info com.sos.js7.license.check.LicenseChecker - license has expired on: Wed May 19 09:33:42 GMT 2021
2021-05-19T12:15:56,647 info com.sos.js7.license.check.LicenseChecker - License validity period failed.
- JOC Cockpit:
- Certificate is not a SOS License X.509 certificate.