As the software industry moves toward the adoption of distributed object and component technologies it becomes less and less clear as to what constitutes (from the customer's point of view) a product, and what exactly is being licensed. A customer consumable product may be comprised of objects and components that themselves are licensed (from other software publishers) by the product developer.
When objects or components are statically bound into a single customer product entity, or shipped in their entirety as a single customer product, there is no real problem. However, when these components/objects are dynamically acquired by a product from a network of distributed object/component servers the product packages containing the objects and components themselves become individually licensable products. As a result a customer consumable product may in fact be comprised of several sub-products, each requiring its own license. These sub-licenses are, in a well-defined way, ultimately tied to the customer product license.
There is high customer value in being able to maintain a single copy of a given distributed component or object that can be shared by multiple products, potentially from multiple software publishers, across a single logical computing network. This fact when considered in conjunction with Java's promise of true binary portability across disparate computing platforms, would tend to indicate there is a reasonably high probability that the aforementioned multiple-license-to-one-product problem will become a very real licensing issue in the not too distant future.
Performance is always a key concern in a distributed computing network. Network distributable objects and components (including Java applets and beans) represent a formidable performance challenge to those who would like to individually license those entities. Questions such as when and how often these entities should interact with a software license use management system quickly arise.
When connected to the network a mobile user possesses all the attributes of a standard desktop computer user. However, when disconnected from the network a mobile user must be able to retain all non-network related application functionality in absence of a network connection. It is this basic difference that presents an interesting set of problems to software license use management systems.