DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Coding
  3. Java
  4. Why Product Activation for Java Software is Becoming Widespread

Why Product Activation for Java Software is Becoming Widespread

Dominic Haigh user avatar by
Dominic Haigh
·
Jun. 09, 11 · Interview
Like (0)
Save
Tweet
Share
7.33K Views

Join the DZone community and get the full member experience.

Join For Free
Software vendors have used license management for many years. Older approaches, such as key-file-based licensing or dongles, do have a number of drawbacks for the vendor and their users. Product activation solves many of these problems, so is gaining broad acceptance in the software industry, as shown by the case studies cited below.

Product activation is widely used by software vendors to protect their applications and enforce license agreements. While some users object to any form of license management, modern product activation systems are superior to other techniques from both the vendor's and the end-user's perspectives (see a modern product activation system).

Software vendors use license management for a variety of reasons. They are often concerned about protection from piracy, and protection against users exceeding their agreed license terms (such as the number of installations that run in a customer company). License management also allows the software vendor to develop, distribute, and support one version of their application, but offer different license terms at different prices to different markets. For example, the vendor can use the licensing mechanism to provide trial licenses, perpetual licenses, subscription licenses, set limits on the product features or modules enabled, set usage limits, combinations of all of the above, and offer straightforward upgrades in capabilities, all with just one executable (some license management systems even allow the vendor to also offer floating licensing either over the end-customer's network or the Internet based on this same executable). Finally, license management can enable the vendor to automate fulfillment, management and reporting, so reducing operations costs and offering immediate delivery worldwide 24x7 to their customers.

A key concern for software vendors is ensuring users don't just give the software to unlicensed friends and colleagues, or even post it on the web for anyone to download. The standard solution is called node-locking, where each user's installation is locked to one or more parameters of their system, such as the MAC address. Each time the application runs, it reads, say, the MAC address of the computer where it is running, and will proceed only if the address it reads matches the one recorded for that license.

Older approaches for license enforcement include dongle-based licensing and key-file-based licensing. A dongle is a hardware device that plugs into the user's computer; when the application runs it checks for the presence of the dongle and will run only if it finds it. Dongles do therefore allow the user to move their license around, but only by physically relocating the dongle. With key-file-based licensing, the license limits and node-locking parameters are encrypted in a file, which is sent to the user and read by the application each time it runs.

These approaches have a number of disadvantages. Dongles require the distribution of the hardware, with all that entails in material cost, shipping cost, delivery times and management by the vendor. They are widely disliked by end-users, who don't want to wait for them to arrive, keep track of them, have them stick out of their computer and so on.

Key-based licensing improves on dongles as the encrypted key files can be delivered immediately by email, and impose no hardware burden. However, they do require the user to provide the names of the locking parameters (or run a utility to read them), and do not allow users to readily move their license from machine to machine, as such a move would require a new key file. An upgrade to a user's license, such as extending a subscription, also requires the generation and delivery of a new key file.

Product activation improves on these older approaches. Fulfillment is immediate as with key-file-based licensing, but the node-locking is accomplished automatically at activation time, so the user is not required to supply any information, and indeed is unaware of the specific parameters to which the license is locked. Modern activation systems also support the relocation of a license by the user, who can activate their license on one system, then perhaps months later deactivate their license on that first system and activate it on a second system. The activation system ensures only one copy of a given license is active at any one time, thus addressing the vendor's concerns, but the user can move their license from, say, their office machine to their laptop, then to their home machine, as they wish. The activation system can also automatically transfer user settings, so the newly-activated installation comes up exactly as the user had configured the old one.

If the user upgrades their license, perhaps by converting a trial license to a production license, extending a subscription, or purchasing additional features or modules, the vendor simply updates the record for that user in the hosted activation system, and the user clicks a menu command to update their license, causing the new limits to immediately take effect.

Product activation systems therefore meet the software vendors' need to protect against piracy, offer a range of license models, and automate operations, but remove many of the inconveniences and costs of older license management systems. Early product activation systems that didn't support such capabilities as activation on disconnected systems or license relocation did give the approach a bad name, but modern product activation systems have this flexibility so are gaining acceptance with vendors and users .

This case study shows how one vendor uses product activation to protect their business applications, and this case study describes how FICO is using product activation to offer usage-based licensing.

Software Java (programming language)

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Building the Next-Generation Data Lakehouse: 10X Performance
  • Steel Threads Are a Technique That Will Make You a Better Engineer
  • Tracking Software Architecture Decisions
  • Building a RESTful API With AWS Lambda and Express

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: