The invention relates generally to software components such as objects, and more particularly to licensing such objects.
Software components have become an increasingly popular manner by which to develop computer programs. Rather than write code from scratch, a programmer instead is able to utilize preexisting components that provide common functionality. This saves time and money in the development of computer programs. Common software component architectures include Java objects, such as JavaBeans, within the Java programming language, and Microsoft""s Component Object Model (COM).
The use of software components means that developers may be able to sell or license their objects independent of computer programs. Thus, a developer may develop a given component, and then offer it for license or sale on the Internet, such that other developers may download the component and use it in their own programs. In addition, a given program may use components that are available from different sources, such that a user of the program may pay for the program itself, plus any third-party components utilized within the program.
A disadvantage to the creation of a marketplace for objects is that the prior art does not provide for a convenient manner by which to manage the selling or licensing of software components, particularly over the Internet. A developer may, for example, sell or license a component to another developer or an end user, but generally has little direct control over the use of that component once its code has been distributed. This means that the developer has to manage the distribution of his or her components, which may be a labor-intensive and cost-intensive endeavor. Furthermore, the lack of direct control means that there is great potential for piracy of the software component.
For these and other reasons, there is a need for the present invention.
The invention relates to the licensing of Java objects. In one embodiment, a computerized system includes a Java object, a license file, and a license manager. The license file is associated with the Java object. The license manager validates the Java object, based on the license file.
Thus, at least some embodiments of the invention provide for advantages not found in the prior art. The Java object is only utilizable in accordance with the terms specified in the license file, which in one embodiment may be encrypted. The license manager, running in one embodiment on a client computer, manages the use of the Java objects. Thus, the license manager may ensure that the Java object is utilized only in accordance with the terms specified in the license file. This mitigates the potential for piracy of the object, and also provides for management of the object in a non-cost-intensive and non-labor-intensive manner.
Besides the advantages, aspects and embodiments of the invention described in the summary, other advantages, aspects and embodiments of the invention will become apparent by reading the detailed description and referring to the drawings. Various embodiments of the invention include computerized systems, methods, computers, and computer-readable media of varying scope.