List icon Contents

Licensing

JxBrowser is a commercial library that requires a valid license key in order to work. This guide focuses on technical aspects of working with the licenses.

For pricing information and details on terms and conditions please see the Licensing and Pricing section at the product page of our main website.

See also our video tutorial that shows how to get and install a license key:

Adding the license to a project

JxBrowser needs a license key to run. The license key is a string of capital letters and numbers that you can set in two ways.

Using the jxbrowser.license.key system property:

Java
Kotlin

System.setProperty("jxbrowser.license.key", "your_license_key");

System.setProperty("jxbrowser.license.key", "your_license_key")

Another way is to use the licenseKey(String) engine option. Setting the key this way allows you to use different licenses for different Engine instances:

Java
Kotlin

var engine = Engine.newInstance(
        EngineOptions.newBuilder(HARDWARE_ACCELERATED)
                .licenseKey("your_license_key")
                .build());

val engine = Engine(RenderingMode.HARDWARE_ACCELERATED) {
    license = JxBrowserLicense("your_license_key")
}

Setting the license key as the engine option allows you to override the license key set in the jxbrowser.license.key system property.

Protecting the license key

Our license keys are always in plain sight. It’s important to note that since the key is just a string literal, complete concealment is not feasible.

To enhance security, you can use techniques such as obfuscation or fetching the license key at runtime. There is no single recommended method. If you choose to protect your license key, you can decide which technique works best for you.

Avoid setting the key through the -Djxbrowser.license.key command line argument, because its value can be unintentionally exposed in the process monitor, test reports, crash dumps, and other artifacts.

If you discover your key in public access, please contact customer-care@teamdev.com. We will block that key and generate a new one for you.

Commercial licenses

When you purchase a commercial license, we will send you an email with a license key.

You can use this license key both for development of your application with JxBrowser, and for distribution of our library as part of your software.

Indie license

This license is issued to a person.

It includes a 1 year of Standard Support subscription which includes product updates and technical support.

The technical support is provided via allocated account at JxBrowser Help Center. We will create one account for the license holder.

Only the license holder has rights to use JxBrowser, receive free updates including minor and major versions, and contact technical support during active Standard Support subscription.

JxBrowser Individual License Agreement

Project license

The license is issued to a company.

The license is tied to a Java package of your project. When you purchase a Project license we will ask you to provide the name of the package where you will be creating an Engine instance. You can work with the created Engine instance and make calls to the library’s API in other packages without any restrictions.

Here’s an example:

Java
Kotlin

// Give us this package name.
package com.mycompany.app;
*/

import static com.teamdev.jxbrowser.engine.RenderingMode.HARDWARE_ACCELERATED;
import com.teamdev.jxbrowser.engine.Engine;

public class JxBrowserFactory {
    public Engine createJxBrowser() {
        // You can use the created instance from outside this package.
        return Engine.newInstance(HARDWARE_ACCELERATED);
    }
}

// Give us this package name.
package com.mycompany.app
*/

import com.teamdev.jxbrowser.engine.Engine
import com.teamdev.jxbrowser.engine.RenderingMode

class JxBrowserFactory {
    // You can use the created instance from outside this package.
    fun createJxBrowser(): Engine = Engine.newInstance(RenderingMode.HARDWARE_ACCELERATED)
}

The license includes a 1 year of Standard Support subscription which includes product updates and technical support.

The technical support is provided via allocated account at JxBrowser Help Center. We will create 2 accounts for the license holder.

JxBrowser Project License Agreement

Enterprise license

The license is issued to a company.

It grants you an unlimited number of developers for any number of projects in your company.

It includes a 1 year of Standard Support subscription which includes product updates and technical support.

The technical support is provided via allocated account at JxBrowser Help Center. We will create 4 accounts for the license holder.

Trial period

You can try JxBrowser for free for a 30-day trial period.

To start your free trial, please fill web form. You will receive an email message with your personal trial license key and a quick start guide.

Your free 30-day trial period is over.
When your trial period is over, JxBrowser stops working. If you request one more 30-day trial key, it will not work in the environments where you already tried JxBrowser for more than 30 days.

Please consider buying a commercial license to continue using JxBrowser in this case.

Extended trial period

There might be cases when your company’s procurement procedures take longer than 30 days. If you need more time to finalize the purchase formalities, please contact our Sales team at sales@teamdev.com with brief details of your situation.

Chromium open-source components’ licenses

JxBrowser is based on the open-source Chromium project that includes the source code and libraries written by developers in the Chromium community. The project also includes a number of open-source third-party libraries.

JxBrowser is using Blink, FFmpeg, libsecret, and Wayland Protocols KDE components, supplied under LGPL. Learn more about JxBrowser Compliance with LGPL.

One of the key questions arising when an open-source code is used in commercial products, is the permitted use of the open-source code, and possible restrictions of use and distribution of the works based on this open-source code.

We are performing a regular review of the licenses, associated with the Chromium components used by JxBrowser, to make sure that there are no terms that would restrict the commercial distribution of JxBrowser or the customer applications using it. We also make sure that licenses requiring disclosure of the source code (like GPL) do not apply to JxBrowser or applications based on it.

Please see below the links to Chromium components’ licenses associated with JxBrowser releases:



If you have any questions, not covered by this article, please email us at sales@teamdev.com.