Overview
Software Licensing technology is a relative newcomer to the computing industry. A number of software licensing products offering this technology have begun to enter the marketplace. Enough products currently exist to cause software publishers to become cautious about use of these products without the existence of a standard API that is supported by all conforming licensing systems. This caution, along with growing importance of software licensing technology and its ability to support a growing variety of software licensing policies, has produced a demand for the development of an industry standard in this area. Such a standard would describe the interface between the application software and a software licensing product. Standardizing the interface would allow software publishers to make the changes to their product's code only once, and would not lock them into using a specific software licensing product or policy.
This document describes such a standard. It describes an application programming interface, or API, that software publishers can use to include license verification into their products, in a manner independent of specific software licensing systems. Licensing systems provide management of the rights to use software. The API allows vendors to develop a single package that will cooperate with licensing systems across the different licensing systems that support this standard. Software licensing, in general, assists the managers of computer networks in tracking the number of applications in use within their companies -- a need identified by the Microcomputer Managers Association and the Netware Masters Group.
The License Service Application Program Interface (LSAPI) provides a simple interface to licensing systems, while hiding the complexities from the software developer. It has been designed to minimize the level of effort required to minimally incorporate licensing into application software, requiring as few as two function calls. By taking advantage of the LSAPI interface, an application does not need to know anything about the type of network in use, the types of computers in the enterprise, the licensing policies, or the types of back-end services available in order to enjoy seamless access to license data. As a result, even if the network, computers, or services should change, the desktop application doesn't need to be rewritten. In other words, LSAPI enables applications to connect to all the licensing services they need across multiple computing environments in a platform-independent manner.
Once the LSAPI calls have been incorporated into the application, the software publisher can choose to use any of the conforming software licensing products that support the LSAPI standard without changes to their program. Applications conforming to the specification may make a conformance statement such as:
"This license system product is
compliant with LSAPI 1.10"
The remainder of this document describes the LSAPI standard. First it describes both the goals and non-goals of the API. It then presents the detailed definition of the LSAPI. Next, it discusses the challenge/response mechanism and license policy circumvention protection issues. The document closes with a discussion of the license system service providers.
This API does not involve copy protection, hardware protection devices, or other methods to prevent software copying. These methods are independent of, and are not germane to, this API and this document. Rather, this API provides a standard software development approach to software license management.
Several benefits are obtained by use of the common License Service API as an industry standard:
Software publishers need to write to only one API to cooperate with conforming licensing systems.
New distribution methods can emerge. For example, several software packages could be distributed in demo versions on inexpensive CD-ROMs or diskettes. After trying the packages, a buyer could obtain documentation and a "key" that would unlock one of the packages, making it fully-functional.
Computer managers in companies with a variety of workstations, applications, and networks may eventually use licensing system software that supports this API to administer these various resources under a single front-end.
It is expected that there will be a period of evolution as software publishers incorporate licensing into their applications.