Software Licensing Model
This document describes an Application Programming Interface (API) within the larger software licensing environment. The basic abstract model of software licensing identifies the logical components of this environment, and identifies the scope of the API described in this specification.
The client/server separation illustrates a possible separation in a network environment. In a stand-alone environment, the server and client components may reside on the same machine.
The model identifies five components:
1. The application software that makes calls to the licensing system, thereby using the software licensing system to control its use.
2. The library of code containing the executable images of the functions described in the common License Service API. This interface may be dynamically or statically bound, depending upon the particular operating system platform.
3. The licensing system proper.
4. A mechanism to manage the licensing system.
5. Licenses that tell the licensing system what software may be used and under what terms and conditions.
The License Service API specified by this document is intended to address only the interface between the Software Product and the License Service API Library.
Some O/S platforms do not provide dynamic linking capabilities. In such a case, the License Service API can be used to provide source code level portability. Furthermore, the software publisher may be required to link to a specific licensing system at product compile time.
On other operating system platforms, the License Service API allows a single executable to be dynamically linked with any software licensing product that offers a compliant, dynamically-linkable API library.