## The Licensing Problem: Background, Goals, Assumptions

In order to create a market for ActiveX Controls to proliferate on the World Wide Web, it's essential to standardize a method for licensing ActiveX Controls embedded in HTML documents. Before discussing proposed licensing schemes, we establish criteria and objectives for such schemes.

One must first understand the existing IClassFactory2 (ICF2) mechanism for licensing OLE Controls on the desktop-i.e. for use in Visual Basic. In the existing scheme, a VB programmer buys a design-time license for a control. When the programmer creates a VB form, the authoring tool embeds a free run-time license for the control inside the form, allowing anybody to use the form without paying for the control. The control itself participates in this process via the IClassFactory2 interface, which exposes two important methods. The first method, RequestLicKey, is used by the authoring tool (VB) for querying the run-time license at design-time. The second method, CreateInstanceLic, is used by the run-time application (VBRUN.DLL) for instantiating the control using this run-time license. For more information on the existing scheme for licensing of Controls, see OLE Reference documentation for the IClassFactory2 interface.

Having understood the desktop model for licensing controls, we specify objectives for online licensing of controls. The goals for online licensing make this model quite analogous to the desktop model:

- Business model: web authors purchase a design-time license to author HTML pages using a control. The run-time license for browsing the HTML page is typically free.
- Security: although a 100% foolproof mechanism would be great, it's not necessary. "Standard" online licensing need only be secure enough to prevent casual or unintentional copying of licensed controls. It's therefore not necessary to make piracy impossible-it's adequate to make piracy inconvenient. A control developer can always develop a private scheme that is more secure.
- Convenience for authors: licensing should not make things difficult for web authors. It's clear that the harder it is for web authors to use licensed controls, the less chance they will actually pay for such controls.
- Compatibility: the online model should accommodate existing controls that use the IClassFactory2 licensing mechanism. This means each HTML page should have some associated control licensing information that is created at design-time and recognized by web browsers at run-time. In this model an HTML page is analogous to a Visual Basic form.
- Versatility: the online model must be versatile enough to support other online ActiveX Control containers, such as the NCompass ActiveX plug-in.

© 1996 Microsoft Corporation