Software licensing and copy protection: answers to frequently asked questions on EasyLicenser license manager and Orion license server
  Software Licensing And Copy Protection Frequently Asked Questions: Answers
 
 
 
What is the EasyLicenser license manager?
Q.

What is the business problem being solved with software licensing and how does EasyLicenser help solve this problem?

A. As a software vendor, you would like to maximize your revenue from your products. There are three aspects to achieving this objective:
a) preventing a leakage of revenue by ensuring that users of your product are paying customers per the terms of your product license agreements
b) maximizing the conversion of users of your products from evaluators to paying customers
c) maximizing repeat business from your existing customers by maximizing customer retention and increasing opportunities for selling additional products and options to such customers.

EasyLicenser is designed to help you meet all the above objectives. EasyLicenser is a software license management product that:
-
Provides comprehensive, flexible and non-intrusive software license management capabilities that enable you to enforce the terms of your product license agreements for virtually any type of product.
-
Provides comprehensive customer contact management and sales opportunity management capabilities that help you proactively manage your customers and product sales.
-
Provides comprehensive automation features that enable you to integrate your license and customer databases with external systems.
-
Minimizes barriers to customer acceptance of your copy protected products, by being non-intrusive in your customer environments where your products are deployed.
   
Q.

What is the EasyLicenser License Manager specifically, and what does it consist of?

A. EasyLicenser is a software license management product that consists of:
-
A License Manager Graphical User Interface program that enables you to effortlessly generate and manage license keys as well as your customers and products for whom you generate the keys. The GUI includes online help.
-
Run time libraries for Java, C/C++ and Visual Basic6. You distribute the appropriate library with your product which interfaces with the library to achieve copy protection at your customer installations.
-
A license key generation API that you can use on your Java-based web site for automatic generation of keys in a web / application server, if you have purchased the eCommerce option.
-
A separately-packaged license key generation HTTP server that you can use on your web site for automatic generation of keys from any back office system implemented in any language or with a web browser for remote key generation over the Internet, if you have purchased the eCommerce option.
-
Example applications and application design notes that help you get started quickly with your back office for license management and application integration for software copy protection.

The EasyLicenser license management product packaging includes the SDKs for all supported platforms.

EasyLicenser's license key generation and management system is also used to manage floating license keys for use with applications protected with the Orion network license server.
   
Q.

In what environments and platforms can I use EasyLicenser for software copy protection?

A. EasyLicenser supports copy protection for hardware / software products based on
-
Java (1.3 and above) platform on any Unix, Linux, Windows or Macintosh operating system,
-
C/C++ on Windows 9X/NT 4.0/2000/XP, Linux Base 2.4 kernel on Intel Pentium-based hardware, Solaris 7+ on SPARC-based hardware, HPUX 11+ on PARISC-based hardware, or AIX 5.2 on RS6000-based hardware.
-
Visual Basic 6, .NET, C# and any other Windows programming language capable of calling ActiveX on Windows 9X/NT 4.0/2000/XP.
-
Any programming language that can call out to C or Java, for example Perl, Python, Php, Fortran, Powerbuilder.
   
Q.

What are the various software licensing models currently supported by EasyLicenser?

A. EasyLicenser supports single-user and server based product licensing.

The single-user licensing model, available with all editions of EasyLicenser, supports the following license types:
-
Named-user
-
Node-locked (explicit and deferred)
-
Floating (Professional Edition only, and in conjunction with the Orion network license server)

The server licensing model, available with the Professional Edition, supports the following license types in node-locked mode:
-
Concurrent-user limit
-
Named-role limit
-
CPU limit
-
CPU MHz limit

With all licensing models and types, you can control usage of your product copy with any combination of:
-
The product options available for use by your customer.
-
The length of time your customer can use the product.
-
The number of metered operations your customer can perform.

EasyLicenser Professional Edition also gives you the ability to customize the way you license your product, to match your unique environment. This capability allows you to embed custom cookies and custom license key information, for example OEM keys, into your license keys.
   
Q.

What is Orion, what is its relationship to EasyLicenser, what are its benefits, and how can I obtain further information on Orion?

A. Orion is an Internet protocol based network license server. The EasyLicenser license manager or key generation API is used to generate floating licenses for use at run time with an instance of an Orion service. Correspondingly, your floating-license-enabled application is copy protected with the Orion runtime libraries instead of with the EasyLicenser runtime libraries.

Orion's benefits include bulletproof licensing combined with flexibility to the end customer, unparallelled flexibility in deployability, and the ability to implement new business models not possible with conventional floating network license servers or any other license management technology including EasyLicenser itself.

You may obtain further information on Orion by visiting the Orion web site or by contacting us. Orion web site.
   
Q.

What are the flexibility and growth features of the EasyLicenser license management solution?

A. As your product sales volume grows, your effective subscription license fee as a percentage of protected revenue declines significantly. The extensibility mechanisms that are available with EasyLicenser and Orion also provide you with an insurance policy against feature lockin as your product licensing and platform requirements evolve.
   
Q.

How can I get full detailed information on the EasyLicenser license manager?

A. The EasyLicenser license manager product download includes documentation in html format, together with source code for demo applications, sample code, application notes and API references. To access the documentation, please see the README file that accompanies the download.
   
Why should I use EasyLicenser for software license management?
   
Q.

What will it cost me if I don't use EasyLicenser?

A. Software piracy is a "silent killer". Unlike viruses, its effects on lost revenue are not immediately traceable to the cause, and no early warning indicators are available to enable you to take corrective action. Therefore, your only realistic choice is to apply the best practice of proactively preventing piracy using a technology in which you have a healthy level of confidence.

If you use no copy protection system at all, you can expect to lose on average 36% and as much as 67% of your revenues to Piracy. If you build your own license management solution or utilize a third party solution, the extent of recaptured revenue will be a function of the effectiveness of the solution you adopt. Your level of confidence in the solution you adopt should not exceed its effectiveness, else complacency sets in, accompanied by revenue leakage. This factor alone is a case for adopting a license management system vendor's solution rather than attempting to build your own.
   
Q.

Won't my corporate / enterprise customers object to my using EasyLicenser for products installed at their site? Won't it be a sales inhibitor?

A. On the contrary, reputable companies would in fact welcome a non-intrusive license management system to be in place because they fully intend to comply with the terms of your product license agreement. Their chief concern is being audited for non-compliance with the license terms. EasyLicenser enables you to help your corporate customers be in compliance with your license agreement terms by virtue of its available (and optional) "soft enforcement" and "logical hard enforcement" options coupled with its license key tracking capabilities. At the same time, since EasyLicenser does not require an intrusive license server for most server and desktop applications, an administrative burden is not imposed on your customer environment. On the other hand, should both end-user flexibility and secure licensing be your primary concerns, you may utilize EasyLicenser's floating user license model in conjunction with the Internet protocol based Orion network license server, which imposes a minimal administrative overhead and can be hosted by you or a third party license service provider.
   
Q.

What is the unique value proposition of the EasyLicenser software licensing solution?


A.
In general, EasyLicenser provides unparalleled ease-of-use, non-intrusiveness in your customer environment, low cost per licensed copy of your product, unlimited versatility and flexibility, tight security, and customer relationship management features such as contact management, sales opportunity management and license key audit facilities that collectively serve to maximize your customer acquisition and retention rate.

EasyLicenser provides a unique solution to the problem of securing Java applications. The license manager that is used for generating and managing keys and customers is a 100%-pure Java license management solution that does not have any built-in platform-specific dependencies. Further, Java applications are ordinarily relatively easy to reverse-engineer and therefore edit out license key check calls. Our Java support includes unique anti-spoofing capabilities to combat this vulnerability.

In conjunction with the Orion network license server, EasyLicenser is the only commercially-available license management solution in existence that securely provides end-customer flexibility and supports Internet application environments.

From a pricing perspective, EasyLicenser offers you pay-as-you-go flexibility and a low entry cost.
   
Q.

License management looks pretty straightforward. Why shouldn't I just build my own license manager?

A.

We believe that so long as an effective and low-cost software licensing solution is available from a vendor whose focus is license management, it is safer and more time- and cost-effective to simply use it rather than attempt to reinvent the wheel at considerable expense, delay and (most important) risk. We also believe that license management is a sufficiently complex problem that warrants a dedicated and professional focus. Another benefit of working with us is our continuous focus on tracking and responding to new piracy threats and devising new approaches to software license management. Perhaps the biggest single reason you may want to consider using a professional license manager is the risk you run of your licensing scheme being compromised due to spoofing and hacking without being aware of the compromise, as has happened with leading license managers in the market.

As Software Development Times noted in their special report on software piracy on page 31 of their 2/15/08 issue:
"Some development shops are growing their own form of software protection, which could be a costly mistake. First, software protection is likely not the company's core competency, and there are not enough experts and in-house hackers to ensure that the software is adequately protected continually. Worse, some developers think they can cobble together their own software protection mechanisms in a few man-hours, which leads to low-quality protection and requires maintenance".

Should you nevertheless choose to build your own license manager, we will be happy to provide you with our complimentary guide titled "15 Factors To Consider When Building Your Own Software License Manager". Please contact us for details.

   
Working with EasyLicenser license manager
   
Q.

What is it like to use the EasyLicenser license management solution?

A. EasyLicenser is focused on ease-of-use for you and your customer. The entire interaction with us - license purchase and renewal - is available on-line. You are provided with a straightforward License Manager GUI for inputting and maintaining all your customer licenses. In addition, you can execute reports that alert you to customers' expiring licenses, identify your most valuable customers, discern customer buying patterns, and other valuable business intelligence reports. You can also export this information to an external relational database to run third party business intelligence and data mining applications.

From the perspective of application integration, our runtime libraries are accompanied with programming-language-specific application development guides, demo applications, sample code and application notes. Combined with our complimentary technical consultation, you can expect your application integration project to proceed smoothly and complete in as little as a day.
   
Q.

How do I get trained on the EasyLicenser license manager?

A. The License Manager GUI is sufficiently straightforward to enable you to use EasyLicenser immediately upon downloading the product. Sample code and demo applications are included to help you quickly integrate your application with the EasyLicenser run time library. If you do run into a question you can't readily answer in the documentation, contact our technical support center to receive prompt, practical assistance. You don't need to incur additional expenses in training classes.
 
Q.

How much work is it for me to integrate my application with the EasyLicenser run time library for copy protection? What assistance do you provide us so we're up and running quickly?

A. With our free initial consultation and the included sample code and demo applications, your application should be up and running within a few days at the most, as many of our customers have successfully done.
   
Q.

How is EasyLicenser packaged?

A. The EasyLicenser product distribution is packaged as a zip file that includes:
-
License Manager GUI program.
-
Run time library file.
-
License key generation API libraries for Java and C/C++.
-
C/C++ run time library DLL for Windows.
-
Visual Basic 6 Interface file for the C/C++ DLL.
-
Product documentation, sample license-protected application source code and application design notes.
In addition, separate downloads are available for platform and functionality support that follows an official product release. Currently, these include the EasyLicenser eCommerce server, .NET runtime libraries and a new Extended API that supports deferred time limited trial licenses and deferred node locked software licensing.
   
Q.

What do I have to do to install EasyLicenser?

A. There is no installation procedure, and there are no configuration files to set up. Simply download the evaluation copy, unzip it and start using EasyLicenser immediately. When you purchase a production license key, it is not necessary to download or install any additional software. There is also straightforward uninstall process that will remove all traces of EasyLicenser from your system.
   
Q.

My application is not written in Java or C/C++. Does that mean I can't use EasyLicenser?

A. You can use EasyLicenser to protect applications written in any programming language that is capable of calling out to C or Java, for example Perl, Python, .NET and Powerbuilder. Also note that virtually all programming languages are capable of calling out to C.
   
Q.

My application operates in evolving mobile platforms for which there is no clear standard. Does that mean I can't use EasyLicenser?

A. You can use our Orion network license server and either build your own client library in any language or arrange to have the Orion client library ported to that platform. The Orion communication protocol is published. This is applicable regardless of whether you require a floating or standalone license model. In this scenario, EasyLicenser is used to generate the floating license keys for Orion.
   
Q.

Do I need to distribute other software with my license protected application, and will it cost me extra?

A. It is sufficient to include the appropriate EasyLicenser run time library for your programming language with your product for non-floating license models or the Orion run time library for a floating license model. You may distribute unlimited copies of the run time with your product free of charge.
   
How is EasyLicenser used in practice for software licensing and copy protection?
   
Q.

What kinds of applications have been successfully copy protected with EasyLicenser, and in what industries?

A. We don't always know what our customers' products do as they often simply download our software and buy it over the web. Based on the customers we have directly worked with, the areas we know of include:
-
Business process management
-
Enterprise content management
-
Robotic systems
-
Complex systems
-
Semiconductor test equipment
-
Text intelligence and computational linguistics
-
Design tools
-
Business intelligence
-
RAID software
-
Disk device drivers
-
CAD/CAM/CAE
-
Medical software
-
Test lab software
-
Development tools
-
Product/project management
-
Legal software
-
Bio-informatics software
-
Java development tools
-
Telecom billing software
-
System configuration software
-
Chemical analysis software
-
Windows/Linux interoperability software
-
Network gateway hardware/software systems
-
Ecommerce software
-
Online gaming software
-
Security systems

The languages and platforms that we know of include:
-
Java on Windows, Linux and Unix: desktop and server side
-
C/C++ on Windows, Linux and Unix: desktop and server side
-
Fortran on Windows and Unix
-
Python on server platforms
-
Visual Basic 6 on the desktop
   
Q.

I sell games / tools. How do I use your product?

A. The most appropriate licensing model for your product is one named user per product copy, with unlimited use for the production version and time limited use for the evaluation version. You will need to write a small amount of code in your product to interface with the EasyLicenser run time library, and include the run time library with your product distribution. When you generate keys with the License Manager GUI or (with the eCommerce option) license key generation API, indicate that you want user licensing and specify a unique user name. You have a choice of how you include a key with your product:
-
Make available a single copy of your product for download or physical distribution, and email to each customer a separate license key that they are required to store in an appropriate file, folder or registry entry, or
-
Customize each copy you distribute with an embedded key.

In either case, the key can be a limited, trial offer key that you upgrade by sending the customers a new key when they purchase your product. You may choose to lock your key to the user's machine parameters such as machine name or Ethernet MAC address, particularly if you sell to the consumer market.

Another approach you can take, particularly if you sell online games / tools, is to license-enable your application with Orion. The benefit of using Orion in this context is a high level of protection coupled with freedom and flexibility to your end-customer.
   
Q.

I sell server products accessed by multiple concurrent users. How do I use your product?

A. The most appropriate licensing model for your product is concurrent-user server licensing, for which you will require EasyLicenser Pro. You will need to write a small amount of code in your product to interface with the EasyLicenser run time library, and include the run time library with your product distribution. When you generate keys with the License Manager GUI or (with the eCommerce option) license key generation API, indicate that the copy will be run on a server, and how the server will be limited:
-
By number of concurrent users,
-
By number of named roles,
-
To a certain number of CPUs, or
-
To the total MHz of the CPUs.

Typically, you will issue the key to the customer via email or other communication medium, and require the customer to enter the key into a server configuration or property file.

The key can be a limited, trial offer key that you upgrade by sending the customers a new key when they purchase.

Another approach you can take, particularly if your server is not multithreaded and / or is required to operate in a clustered environment and / or has a unique architecture, is to protect your server application with Orion.
   
Q.

How can your scheme for locking a license to a user and host account possibly work in a multiuser operating system such as Unix? Any number of logins from any number of remote machines are allowed for the same user on the same machine.

A. You can do one of the following:
-
if appropriate, enforce a single-execution-within- an-authorization-space constraint in your application logic. Common techniques for doing this are to keep a file open for write in a well-known location, use a semaphore, or query the operating system for the count of processes executing the application.
-
if appropriate, apply operational procedures to ensure only one instance of a user is logged on. For example, suppose your application runs under the "root" account. Then if it is ensured that the root is a responsible and accountable individual, a procedure can be instituted where only one instance of root is allowed to run your application on a machine.
-
if multiple logins from the same user account are in fact a requirement, you have a different need: concurrent user server licensing, where your server is your host machine, and users are operating system login sessions. See the server licensing application notes in the "samples" directory for how to use EasyLicenser in this scenario. Alternatively, you can use a floating-license model in conjunction with Orion.
   
Q.

What will happen if I license protect my server product with a user license, if I don't care about the number of CPUs or concurrent users?

A. It may seem to work in your development environment for a while and under certain circumstances; however, when you deploy your product into production, it may not work and in any case we won't be able to provide support for such an installation. It is also not in conformance with the EasyLicenser product licensing terms. In a scenario where you have an embedded, server or batch processing application where you charge according to factors other than concurrent users / devices or the number of CPU's, you should use CPU-based licensing with a 1-CPU count.
   
Q.

How does your API enforce a CPU count for CPU-based licensing?

A. It doesn't. If you'd like the CPU count to be enforced, you can use our "custom key handler" extensibility mechanism. We will provide you with sample code to check the CPU count for a number of platforms including Windows, Linux and Solaris.
   
Q.

I want to distribute my EasyLicenser-protected product on CD-ROM. How do I do this?

A. The simplest means of accomplishing this objective is to build a single product distribution having an embedded evaluation key so that it is amenable to mass production of CD-ROM's, and separately distribute production license keys to customers when they register and pay.

A better approach is to distribute the CD-ROM's with unique customer code stickers representing user names instead of license keys, and require the customer to visit your web site and provide contact information in order to receive an evaluation key so you can track your product usage for the purposes of managing your sales pipeline.

The best solution is to copy protect your application with Orion: integrate your application with Orion's client library, use the Orion server as a product activation server. Distribute a single image of your application on CD-ROM with a unique product serial number sticker on each CD-ROM, and require the customer to activate their license directly with an Orion activation server hosted by you. This solution eliminates the logistics of license key generation and distribution altogether, and also permits your users to non-intrusively rehost their licenses among multiple machines without having to contact you.

   
Q.

I would like to generate trial license keys for my product such that my prospects that convert to customers won't need to reinstall their software. Can I use EasyLicenser to meet this objective?

A. As one of its ease-of-use features, EasyLicenser allows you to issue new keys for existing customer product installations such that your customers don't need to reinstall your product in order to avail of upgraded functionality. One use of this capability is management of the product evaluation process. You can make your product available for unrestricted downloads, and initially provide your customer with an evaluation key. Your customer can later replace the evaluation key with a production license key that they obtain from you when they make a product purchase. The built-in sales opportunity management features in the license manager allow you to produce reports on customers whose keys are about to expire in order to manage the conversion from prospects to paying customers.
   
Q.

I would like to eCommerce-enable my software sales so that license keys are automatically generated and provided to my customers when they make online payments at my web site. Will EasyLicenser allow me to accomplish this objective?

A. The eCommerce option allows you to programmatically generate license keys from a web site, either directly via Java API's, or from any programming language via an HTTP-based API in conjuction with the EasyLicenser eCommerce server.
   
Q.

I know I should license-protect my product, but I don't want to risk alienating my customers by appearing to mistrust them by forcing them to comply with complex procedures just to use my product.

A. The combination of EasyLicenser and Orion enables you to achieve this happy medium.
   
Q.

Can EasyLicenser be used to license-enable an existing application without my having to write code to integrate with your API's? That is, does EasyLicenser provide "wrapper" functionality?

A. EasyLicenser cannot be used to create a shell or wrapper for an existing application, although nothing stops you from developing an EasyLicenser-protected wrapper. We do not recommend this approach as such an approach is a stop-gap measure that limits licensing functionality and is either not secure or highly platform-specific and unstable. It is far preferable to integrate your application with a license management API. And our license management API's are particularly simple to use.
   
Q.

Your product expressly does not use a license server. What are the implications for our application if we need to track usage for our server-based application?

A. For a properly architected multithreaded server application, a license server is not required for copy protection. Your server application will typically have access to a simple variable that counts the number of concurrent user sessions. It is sufficient to supply the count as a parameter to the license key checking API. For a detailed discussion on how to secure your server application in a variety of server architecture environments, please refer to the application note titled "How to license-enable a server application with EasyLicenser" in the samples directory of the product download.

Note that EasyLicenser does support a traditional floating license model that can be used in conjunction with our Orion network license server to address the above scenario among others.
   
Q.

We want to be able to license individual modules of our application such that different individual modules or groups of modules may have different license parameters such as usage limits and expiration dates. Can we accomplish this objective with EasyLicenser without excessive programming?

A. Yes, using the "custom key" extensibility mechanism available with EasyLicenser Pro, you can effortlessly implement a "key hierarchy" of arbitrary breadth and depth subject to the overall key size limits.
   
Q.

Do you support license reporting ?

A. Yes. Reporting mechanisms pertaining to customers, products and generated / distributed license keys are built into the License Manager GUI, as is a license key audit capability. In addition, all the customer, product and license key information can be exported in a variety of convenient formats (including csv and XML) that are amenable to importing into relational databases for the purposes of using third party business intelligence and data mining tools.
   
Q.

We need to be able to generate time-limited licenses, where the end date depends on when the customer first installs the application. Can EasyLicenser handle this situation?

A. Yes - we now have available an extended API that enables you to distribute a single perpetual license key together with a time-limited trial license generator key that we provide you and that is locked to your product. When your application enters an activation sequence at an end customer installation, the time limited license automatically locks into the current system clock and machine parameters of the target machine. This capability is currently available in Java, with planned support for all languages and platforms for which EasyLicenser is available. To obtain the extended API, please contact us. However, we recommend that you instead automatically generate and issue a trial key at the time of network-based product activation so that you can better track your customers for the purposes of marketing and also to prevent repeated trials. Better yet, use Orion as a software activation server to eliminate the key distribution and management problem altogether.
   

How effective is EasyLicenser in preventing software piracy?
   
Q.

How can "soft locking" possibly make sense? We might as well not use license management at all if we're going to trust our customer.

A. Soft locking is appropriate when your end-customer is an enterprise, where a responsible system administrator is charged with the responsibility of ensuring compliance with licensing terms, and where hard-locking imposes an unreasonable burden whenever licenses need to be reassigned to new employees and / or different machines as a result of corporate or system reorganizations. In our experience, hard enforcement is a sales inhibitor. In this context, soft-locking with EasyLicenser adds value even though keys can technically be used in multiple installations within the end-customer's company because:
1.
It helps the system administrator track product usage by associating keys with specific product installations, enabling him to do his job of ensuring compliance.
2.
Accidental violation of license terms are automatically prevented. For example, a time-limited evaluation edition of a product automatically stops functioning, and a user cannot use a product without a valid key.
3.
It is easier to detect abuse of license terms during an audit, because duplicate keys are easily detected. EasyLicenser's auditing capabilities assist you in analyzing the origins and composition of suspect keys.
4.
Violation of the license terms requires a proactive act of dishonesty, which is not tolerated in most large corporations.

Notwithstanding the above, we do allow hard-enforcement of your license keys because soft locking is not necessarily appropriate for a number of software products that operate in ethically-challenged environments, for example consumer products.
   
Q.

I don't buy the "soft locking" argument, and I would like to make sure that my product cannot be used on systems they are not authorized for, or by users who are not authorized. How easy is it to achieve 'hard-locking' of my products with EasyLicenser?

A. EasyLicenser can provide automatic hard-locking against machine name and /or logged-on user name. At the time of key composition, you can select a "Enforce Operating System Check" checkbox. No application coding is required in order to perform the enforcement at run time. At the same time, you have the option of implementing any hard enforcement policy you want, by providing the appropriate information into the custom key or cookie at the time of key composition and providing a custom key handler to the run time library. We provide source code for custom key handlers to address commonly-requested hard enforcement needs such as binding a key to an Ethernet MAC address.
   
Q.

I'm used to hardware dongles, which I feel are more secure than software-based solutions. Dongles are also more tangible and acceptable to my hardware-oriented customers such as hardware testing labs. At the same time, I acknowledge the down side of dongles: the inability to realize sophisticated licensing models, the proprietary nature and cost of hardware dongles, and the inconvenience to end customers arising from the "cascading dongle syndrome" for products having multiple individually-licensed options or modules. Is there no happy medium for a dongle-lover?

A. Actually, you can realize the benefits of dongles without their down side when you use EasyLicenser and lock your key to an Ethernet MAC address. Your end customers can use the most economical, non-proprietary and off-the-shelf dongle available: a detachable landline or wireless Ethernet card based on USB or PC Card technology. One card is used per machine regardless of the sophistication of your licensing requirements, because the EasyLicenser software provides the licensing flexibility while the role of the "dongle" is limited to what it is best at: locking the license to a specific machine. Your end customer also realizes the flexibility of having multiple installations of your product on multiple machines: at any given point in time, however, only the installation where the "dongle" is plugged in can actually be used, ensuring compliance with license terms.
   
Q.

Are these my only choices: soft-locking with its attendant risk of piracy, and hard-locking with its unpleasant side effects on customer satisfaction and adverse impact on product sales?

A. Actually, there is a third and optimal choice. With our Orion network license server, you can provide a high degree of freedom and flexiblity to your customer without requiring a detachable Ethernet card or other physical device, while achieving virtually bulletproof protection from piracy, in virtually any network topology including secure-network and non-networked ("sneakernet") environments. There is a minor down side: the need to administer a server by the vendor. Orion has several deployability features that virtually eliminate this down side.
   
Q.

Do you prevent a user from reusing a time limited license by resetting the system clock?

A. Yes. The EasyLicenser run time library implicitly enforces three ( four, if you use the "secure" API) types of checks against the system clock. You also have the option of augmenting these with your own implementation using our extensibility mechanism.

The above are applicable to environments where it is infeasible for users to reformat their hard drives and reinstall their operating systems. When your software is extremely high-valued and you need to prevent this scenario as well, you can utilize the Orion network license server to achieve this objective in any environment including one having no network connectivity.
   
Q.

I've noticed that when generated keys are published, sensitive information such as usage quota is displayed and is easily editable by an end-customer. What's to prevent someone from simply editing the license parameters in the file?

A. This is essentially a read-only report, for publish formats that provide it (CSV, TXT and XML formats). The information is already encoded in the key, and changing the report will not change the key. Further, any changes to the key automatically invalidate it. It should also be noted that when information is disseminated in a format that displays such information, it is intended for use by a system administrator at an end-customer site. If you are distributing keys directly to end customers, you will be providing them with just the keys. In such a case, you will be publishing the key in a "raw key" publish format.
   
Q.

I've noticed that your API exports public methods to set license attributes in the license key context. What's to prevent a rogue programmer from reverse engineering my application, setting higher quota and usage values than what's in the key, and then performing the license key check?

A. The rogue programmer can set all the attributes he/she wants; however, the ultimate truth is in the license key, which is decoded and verified by the EasyLicenser API call. The setter methods are provided for internal use by Agilis and their use is access-controlled.
   
Q.

How do I license protect my enterprise database applications? Can't a savvy customer easily bypass the application and use SQL against the database to realize capabilities for which they would otherwise have to purchase software modules from us?

A. If you are using as the back end database Oracle, DB2 or any other DBMS that supports Java stored procedures, then you can attach triggers owned by a privileged schema against relevant tables as part of your product installation. The implementation of the triggers call out to Java stored procedures that perform necessary database queries, for example to obtain an active session count, and perform license key checks with the EasyLicenser Java run time library. This has the added benefit of eliminating application programming language and platform issues - your application can be implemented in any language regardless of whether we provide direct support for the language.
   
Q.

I want to do metered licensing. Do I have to track metered usage in my application, or will the EasyLicenser run time do it for me? If I have to do it myself, is it not a security hole since anyone can change the saved state?

A. Beginning with EasyLicenser 2.0, the secure API has been enhanced to automatically track metered usage as well as manage arbitrary application license state in encrypted tokens. Your sole responsibility is to manage the secure and redundant storage of the tokens in persistent store such as files, registries and databases. The optimal location is an access-controlled database that is shared with user data: the only way to roll back the token state is to roll back the user database state as well.
   
Q.

What's to prevent someone from bypassing my license protection by simply creating a fake EasyLicenser library that okays all license key checks and substituting it for the actual EasyLicenser run time library?

A. EasyLicenser provides a number of mechanisms for both Java and C++ that help foil attempts at spoofing of our libraries as well as calls to our libraries:
-
Digital signatures based on our proprietary algorithms, to detect modifications in libraries - yours or ours.
-
Secure API's to obfuscate flow control for license key checks from your code.
-
Three-way shared secrets to detect discrepancies between your application, your license key and the EasyLicenser runtime library.

In addition, for Java, code is provided to enable you to perform dynamic invocation of the license key checks, for additional obfuscation.
   
Q.

Why are you providing a proprietary signature mechanism? Why can't I use jar signing in Java?

A. Signed jars don't work for detecting changes to binary code, and they themselves aren't exactly tamper-proof. Equally important, they are available only for Java and their primary suitability is as an access control mechanism in networked environments rather than as an integrity checking mechanism in environments where the application is trusted but the user is not. EasyLicenser's digital signature mechanism is designed to work uniformly across all binaries. Its sole purpose is tamper-proof detection of tampered files.

That having been said, you are certainly free to use signed jars with your application - EasyLicenser won't get in the way.
   
Q.

My application is written in Java, and I'm not confident of the effectiveness of obfuscators. What's to prevent someone from bypassing my license protection by simply reverse-engineering my application and altering it to bypass the (easily identifiable) license checking calls to the EasyLicenser run time library?

A. In addition to our digital signature and extensibility mechanisms, we provide a "secure" API call that provides a number of mechanisms to make this extra difficult. The anti-spoofing mechanism includes a proprietary dynamic handshake protocol, exception-based flow control and reflection. As part of our product packaging, we include a "jdemosecure" demo application that illustrates the use of the secure API.

You can also use EasyLicenser's digital signature mechanism to detect changes to your own libraries.

A Jar Encryption facility is also planned.
   
Q.

What's to prevent one of my customers from taking one of my hard-enforced keys, decomposing it using the EasyLicenser audit facilities, and then proceeding to build equivalent keys for other machines / hosts / users without paying for them? After all, anyone can download and / or purchase EasyLicenser, including my customers.

A. The EasyLicenser audit facility and the corresponding underlying API available with the eCommerce option are access-controlled: only the creator of a key can view its details. Therefore, your customers cannot decompose your keys.
   
Q.

But what if my rogue customer is a savvy programmer?

A. There is an even stronger underlying mechanism that will prevent such an attack: the new access controlled key mechanism introduced in EasyLicenser 2.0. You define a secret password for your product, take the public key that is fed back to you, and embed it into your application to pass into the license key checking API call. The second line of defense is the public key: if it is compromised, a programmer can dissect your key but cannot create a clone since he doesn't have direct or indirect access to the private key because the secret password is not available to your application.
   
Q.

Can hackers use keys from another EasyLicenser-enabled product to make unlicensed use of my product?

A. The same access-controlled key mechanism prevents such an attack: at the time of a license key check, your application provides the product name (possibly well-known) together with the application password public key. Both values have to indirectly match what is encoded in the key in order for the rest of the license key check to proceed.
   
Q.

What's to prevent a determined rogue customer from patiently analyzing a large number of my keys obtained over the Internet for patterns and then applying the patterns towards modifying a valid key to produce equivalent valid keys for other machines / hosts / users?

  The EasyLicenser key generation algorithms are designed to thwart such attempts at reverse engineering keys.
   
Software licensing financial, legal and risk considerations.
   
Q.

What is the EasyLicenser pricing model?

A. Currently, EasyLicenser is offered both as an OEM subscription license with term subscription fees that are based on a percentage of protected revenue, and a pay-as-you-go model based on the purchase of license units from our web site. After we introduce the EasyLicenser 2.5 release, we will be offering only the OEM subscription pricing model for new customers; however, we will continue to support license unit purchases for current customers for 6 months from the date of release.
   
Q.

What additional costs will I incur by using EasyLicenser?

A. None, unless you opt out of a support contract. There are no additional fees, besides the term maintenance fee, for:
-
Updates and new versions. All updates are available to subscription customers who have a maintenance contract in effect.
-
Multiple platform support (within the scope of standard supported platforms).
-
Multiple language support (within the scope of standard supported languages).
   
Q.

What is my return on investment with EasyLicenser? How can I financially justify using it?

A. The way to view the cost of license protection is as a cost-of-sale. Our pricing model is designed to limit your cost of sales due to license protection to a few percentage points of your product sales price. You can increase your revenue by over 33% through effective copy protection with EasyLicenser. Further revenue increases are possible by effectively utilizing EasyLicenser's customer relationship management and sales opportunity management capabilities. Crudely speaking, your return on investment is of the order of 1000% or better, assuming a 33% increase in effective sale price vs a pessimistic 3% cost of sale. This does not factor in the increased sales due to improved customer acceptance of your products, especially when you protect your applications with Orion.
   
Q.

How do I manage my risk, in case I determine that EasyLicenser does not meet my requirements?

A. You can download and evaluate EasyLicenser for 30 days at no cost.
   
Q.

Is EasyLicenser subject to any U.S. Government export restrictions?

A. Our encryption software is not subject to export control laws per U.S. Department of Commerce Bureau of Industry and Security's Export Administration Regulations publication "Commerce Control List Category 5 - Information Security" published March 5, 2003. Per the applicable ECCN 5D992, EasyLicenser is exempt because of its use of encryption exclusively for the purpose of software copy protection. Also, for that reason, we are not allowed to make our internal encryption API's available to you. For further details, please see http://www.access.gpo.gov/bis/ear/ear_data.html and also see the complete description of export regulations at http://www.bis.doc.gov.
   
Growing with EasyLicenser as your software licensing requirements evolve.
   
Q.

I'm launching a new product with an uncertain sales volume and I want to manage my risk. At the same time, if my product is a success, I would like to be able to purchase EasyLicenser on attractive terms. How does the EasyLicenser pricing model fit with my requirements?

A. EasyLicenser's low-cost subscription licensing model enables you to contain your capital risk - you can purchase a subscription for zero or low projected annual revenue. As your sales volume grows, you automatically benefit from our tiered subscription pricing model.
   
Q.

Over time, my product will grow in sophistication and incorporate many OEM products, each of which will have its own license management requirements. I wish to shield my customers from the complexity of managing a large number of unrelated license keys. How will EasyLicenser accommodate my needs?

A. The customization capabilities of the Professional Edition enable you to embed all your OEM keys into your license key, enabling you to distribute a single key for each copy of your product and at the same time meet your obligations to license protect your OEMs' products.
   
Trial License Manager Version
   
Q.

How does the trial version of EasyLicenser license manager work?

A. The evaluation edition of EasyLicenser license manager enables you to develop and test your complete software licensing lifecycle. You can download a fully functional version of EasyLicenser license manager that allows you to evaluate the product for 30 days. During the evaluation period, you can use the License Manager GUI or key generation API's to generate keys with a built-in usage limit, integrate the run time library to copy protect your product, and use the generated keys to test license protection of your product distribution. Upon a successful evaluation, you can sign an OEM subscription license agreement with Agilis and obtain an EasyLicenser production license key and use it to upgrade your installation to production.
   
Q.

Can I offer my customers free trials of my product? Will it cost me anything?

A. Unlimited-trial-license generator keys are included with your subscription license.
 
 
We take your security and privacy concerns seriously. Please see our policy statement

Site map 
Copyright © Agilis Software LLC 2004++. All rights reserved.