Java Software Licensing – LicenseSpring

  • Control the state of your Java application with our cloud-based solution.
  • Node-lock licenses to a device using our Client SDK for Java.
  • Support concurrent instances through the use of our Java Floating Client SDK.
  • Manage new and existing licenses programmatically with the Management SDK for Java.

What Is LicenseSpring and How Is It Used for Applications Written in Java?

LicenseSpring is a software licensing service that enforces licensing agreements between developers and their customers. We handle the license enforcement through our own licensing server, so developers only need to focus on configuring their license through the LicenseSpring platform and incorporating our easy-to-use SDK into their Java applications. Adding the Java SDK will enable you to use our licensing software features in applications compiled for the JVM. These licensing features include: Online/Offline Activation, Node-Locking, Validity Periods, Concurrency, License Features, and more.

Using LicenseSpring’s Java API Is as Reliable as It Is Easy!

Adding LicenseSpring into your application is effortless, our SDK offers simplistic license handling methods for developers that requires minimal work to incorporate into a project. For an example of how easy it is to add our Java SDK to your code, take a look at our sample application.

  1. Open a vendor account on LicenseSpring and configure a product
  2. Import the appropriate SDK into your app, according to your goals
  3. Issue licenses for your Java app and distribute to your end users

Protecting Java code is a critical endeavor in today's digital landscape. As Java remains a popular and versatile programming language, the need to safeguard codebases from potential threats has never been greater. LicenseSpring provides a variety of methods for protecting Java code, seen on our Java Protector article.

Flexible Node-Locking Options for Your Licensed Java Application:

Different environments require different methods for generating a HardwareID. We can auto generate an Identifier, or it can be selected:

  • Device Identifier on bare metal machines.
  • Azure: Automatically detects and uses website instance ID.
  • Amazon Web Services: Automatically detects and uses AWS instance ID for EC2 instances.
  • Custom Identifier: If you have your own method of identifying different devices, you can set the hardware ID manually.

Implement Any License Model Within the Java Applications You Distribute:

Our license models offer flexibility through our license policies. This allows developers to issue different types of licenses, without having to alter their code for each license. 

  • Offline Licensing: For Java applications that run without internet connection, our SDK offers tools to activate, deactivate, and check your license validity without requiring an internet connection.
  • Features: Features allow you to limit certain capabilities within your Java application based on your license configuration. On your license, you can set up an activation feature, which will grant access to the feature when added to your license, or a consumption feature, which will monitor how many times a feature is used and limit access to that feature a set amount of times.
  • Custom Fields: Data being sent from the LicenseSpring platform to individual devices at the license level.
  • Validity Periods: Licenses for applications written in Java can have validity periods set. After the validity period expires, the license is no longer valid.
  • Usage Metering: Consumption-Licensing refers to a license model which allows a software vendor to implement a pay-per-use, or a metered model to their end users, akin to "credits" in an arcade game, processing cycles in a CGI rendering farm, or the generation of a number of reports.
  • Concurrency: The Java SDK offers floating license capabilities that allow you to monitor and restrict how many concurrent users are on a license at a given time.

Frameworks & Environments Supported:

  • Android
  • Java Virtual Machine, such as Kotlin.

Frequently Asked Questions:

What License Models Can I Use to License My Java Application With?

  • Trial
  • Perpetual
  • Time-Limited
  • Floating
  • Subscription
  • Node-Locked
  • Consumption
  • User-Based

What Open Source Libraries Do You Use in the Java SDKs?

  • SLF4J: The Simple Logging Facade for Java (SLF4J) provides a Java logging API by means of a simple facade pattern.
  • Feign: Feign is a declarative web service client that makes writing web service clients easier.
  • Gson: Gson is an open-source Java library to serialize and deserialize Java objects to JSON.
  • BouncyCastle: Bouncy Castle is a collection of APIs used in cryptography.
  • OSHI: OSHI is a free JNA-based (native) Operating System and Hardware Information library for Java.
  • Lombok: Lombok is an annotation-based Java library that allows you to reduce boilerplate code.