IBM Support

Floating license behavior when multiple Rational products are installed in the same Eclipse shell

Question & Answer


Question

If an individual installs multiple Rational products in the same Eclipse shell, and if the floating license for one of them is not available, can the other products, or the base Eclipse, or both another product and the base Eclipse be used?

Answer

No, all licenses need to be available at product launch for both Eclipse and the products to be used. This document explains the basic current behavior, along with the workaround if the user prefers the old behavior (that is, running a disabled product without a license).

There is a common misunderstanding about the licensing behavior when multiple products are installed into the same Eclipse shell. It is wrongly believed that only when a product is used will it consume a license.

For example, a customer reported when Rational Software Architect v7.0 and Rational Data Architect v7.0 are installed in the same shell, they see licensing errors when starting Rational Data Architect 7.0 by clicking on the shortcut to run Rational Data Architect v7.0. The customer is running Rational Software Architect v7.0 and Rational Data Architect v7.0 and does not have a license for Rational Software Architect. So Rational Software Architect plugins will not run. This is by design for all products and why there is licensing enforcement in the first place. There are multiple reasons it could be requiring a Software Architect license, such as startup plugins, builders, etc. It is incorrect to believe that a product in a shell sharing situation can be completely separate and you cannot load it by loading "knowing" plugins which are product specific. So the Rational Software Architect license failures should be no surprise.

The key to this is the following statement by the customer, "Since no Rational Software Architect specific functionality is apparently being invoked this surprised me." This implies the assumption that Rational Software Architect functionality is somehow separate enough and partitioned to specific perspectives and views. This is a false assumption and is not how Eclipse works. Eclipse loads plugins as needed. If a request for a Software Architect plugin happens underneath the covers (for example Rational Data Architect having an optional plugin dependency on Rational Software Architect to provide enhanced function and Data Architect proceeding to request that plugin get loaded since it was installed) then a Rational Software Architect license will get consumed.

The particular set of errors in version 7.0 prompted a change to the startup behavior in products such as Rational Software Architect v7.5 and Rational Performance Tester v8.0, based on the following four points:

1. If there is no license for one product in the shell then the choice is to remove the product or license it.

2. It is impossible to have two products sharing the same shell and being able to know that licensed content will not be loaded and what will.

3. IMPORTANT: Customers can install two products into the same shell and only when a product is used will it consume a license. This is correct in the sense that only when a product is used will it consume a license. It is incorrect to think running one product in the shell will not consume a license of the other product in the same shell, because once products are installed in the same shell, there is no guarantee it will not consume a license because what action in the user interface or build or gesture could trigger a license to be needed cannot be guaranteed. Shell sharing products are intimately connected. It will require all the products to change their architecture in order to enable this behavior. That kind of architecture will remove the seamless nature of the product integrations that now occur since it requires that products be logically separate and not integrate with each other.

4. Shell sharing products are basically running as a single unified product from the perspective of Eclipse. In order to not have continual errors and random dialogs asking for licenses to pop up all the required licenses to run, the content in that shell needs to be available upon product start.

Thus, in products releases since v7.0, the launch of a product, including Eclipse, will be blocked if it cannot acquire a license for all the products running in the shell.

Most of the issues around the added complexity are related to customers not wanting to consume a license when two products are installed together. The products are not architected for that scenario. They are architected to install two products together to get the combined function of the two products in a seamless scenario. Therefore you need two licenses for two products running in the same shell.



Licensing block workaround

Note: this is not recommended; use it only as last resort.

A product such as Rational Software Architect 7.5 or Rational Performance Tester v8.0 will block the launch of a product if it cannot acquire a license for all the products running in the shell. To work around this blocking behavior:

Add a line to existing <eclipse_install_dir>\configuration\config.ini:

com.ibm.cic.unlicensed.execution.allowed=true


These changes were made

In the presence of this system property, the "License Cannot Be Found" error dialog now provides an "Ignore" button which will allow users to continue execution of the product.

Before:




After:

Licensed plugins will still fail to load and potentially display further error dialogs (that is, if they load sometime after startup).

There is now a "Done" button in the "Manage Licenses" dialog (when there is a license error and where Exit Workbench formerly was the only choice):

Before:




After:



There now is a "Manage Licenses" toolbar button with an error icon when executing in unlicensed mode (similar to Manage Licenses toolbar button with warning icon added during last 14 days of a trial license, except this uses an error icon):

[{"Product":{"code":"SSTMW6","label":"Rational License Key Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Configuration","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"7.0;7.1;7.5;8.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
03 February 2020

UID

swg21389513