Introduction
- JS7 is available with dual licensing: 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 of clustering the JS7 products 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 products.
- Users who intend to evaluate the JS7 high availability capabilities can apply for a trial license key by sending a mail to sales@sos-berlin.com
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 for applying 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 for:
- the perpetual license model are valid without an expiration date.
- the subscription license model are valid for the subscription period - e.g. one year.
- the pay-per-use license model are valid for a maximum of two years.
License keys are not subject to an open source license. Modification of license keys and the use of license keys outside of the licensee's organization is not permitted.
Trial License Key
SOS grants trial license keys to individuals and organizations that intend to evaluate the software.
- Grant of a license key:
- is limited to 30 days.
- is limited to the individual or organization that has applied for the trial license key.
- Trial license keys will become invalid on the expiration date.
Licensed Binary Code
The license key allows binary code for the clustering capabilities of JS7 products to be used.
- The binary code for clustering is not open source - it is copyrighted by SOS. The binary code for clustering is published with a commercial license issued by SOS.
- Users may not modify, decompile or reverse engineer the binary code for clustering.
The binary code for clustering is available in the js7-license.jar
file which is available from JS7 - Download. 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 following sections make use of specific terms:
- Terms used for JOC Cockpit
- For Linux environments
JETTY_BASE
points by default to:/var/sos-berlin.com/js7/joc
- For Windows environments
JETTY_BASE
points by default to:C:\ProgramData\sos-berlin.com\js7\joc
JETTY_BASE
is specified during installation.
- For Linux environments
- Terms used for a Controller
- For Linux environments
JS7_CONTROLLER_DATA
points by default to:/var/sos-berlin.com/js7/controller
- For Windows environments
JS7_CONTROLLER_DATA
points by default to:C:\ProgramData\sos-berlin.com\js7\controller
JS7_CONTROLLER_DATA
is specified during installation.
- For Linux environments
- Terms used for a Director Agent
- For Linux environments
JS7_AGENT_DATA
points by default to:/var/sos-berlin.com/js7/agent
- For Windows environments
JS7_AGENT_DATA
points by default to:C:\ProgramData\sos-berlin.com\js7\agent
JS7_AGENT_DATA
is specified during installation.
- For Linux environments
The license key ships as an X.509 certificate file (*.pem) which is added to the following directories:
- JOC Cockpit:
- For Linux and Windows:
JETTY_BASE/resources/joc/license
- The certificate has to be added to all JOC Cockpit cluster members.
- For Linux and Windows:
- Controller:
- For Linux and Windows:
JS7_CONTROLLER_DATA/config/license
- The license key has to be applied to all Controller cluster members.
- For Linux and Windows:
- Director Agent:
- For Linux and Windows:
JS7_AGENT_DATA/config/license
- The license key has to be applied to all Director Agent cluster members. It is not applied to Subagents in an Agent Cluster and not to Standalone Agents.
- For Linux and Windows:
Licensed Binary Code
The licensed binary code is provided in the js7-license.jar
file which has to be added to the following locations:
- JOC Cockpit:
JETTY_BASE/lib/ext/joc
- The
js7-license.jar
file has to be added for all JOC Cockpit cluster members.
- Controller:
JS7_CONTROLLER_HOME/lib/user_lib
- The
js7-license.jar
file has to be added for all Controller cluster members.
- Director Agent:
JS7_AGENT_HOME/lib/user_lib
- The
js7-license.jar
file has to be added for all Director Agent cluster members. It is not applied to Subagents in an Agent Cluster and not to Standalone Agents.
License Check
A license check is performed if a cluster of JOC Cockpit instances, Controller instances or Agent instances is operated.
Positive License Check
Related messages are available from the JOC Cockpit's ./jetty_base/logs/joc.log
file and the Controller's ./logs/watchdog.log
file.
- JOC Cockpit:
- The positive license check indicates that a valid license is available, this check works silently without further logging.
- The GUI offers the information about the license in use when clicking the JS7 logo:
- Controller:
- The license check will log two lines to the
watchdog.log
file on start-up of the Controller. The entries look like this:Product Name: js7.controller.cluster
using Commercial License. Expiration Date: 2026-05-04 12:22:41
- The license check will log two lines to the
- Director Agent:
- The license check will log two lines to the
watchdog.log
file on start-up of the Director Agent. The entries look like this:Product Name: js7.controller.cluster
using Commercial License. Expiration Date: 2026-05-04 12:22:41
- The license check will log two lines to the
Negative License Checks
Logging examples for negative license checks which indicate the absence of a license: Related messages are available from the JOC Cockpit's ./jetty_base/logs/joc.log
file, the Controller's ./logs/controller.log
file and the Director Agent's ./logs/agent.log
file.
- The
license
folder cannot 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 license certificates found.
- Controller:
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 license 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 license certificates found.
- Controller:
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 license certificates found.
- JOC Cockpit:
- Files are present in the
license
folder, but do not represent valid 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 license certificates found.
- Controller:
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 license certificates found.
- JOC Cockpit:
- Cases of invalid certificates:
- Certificate is not a License X.509 certificate issued by SOS.
- 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,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 validity period of the 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,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 License X.509 certificate issued by SOS.
License Usage
License Counting
- License keys do not implement technical license counting. SOS estimates there to be a risk that license counting could fail when used in restricted environments and could prevent the software from running.
- You can technically use the same license key for any number of JobScheduler instances. However, this might not comply with the commercial license terms that are agreed on for the license model that is applicable to your environment.
License Measurement
- SOS reserves the right to perform license measurement activities, e.g. to request that you report job executions if a pay-per-use license model is in place.
- The license measurement procedure verifies the number of software instances and licenses in use.
- The license measurement procedure can be performed on a regular basis depending on individual agreements for the license model that applies to your environment.