A method of limiting the use of software determines, before the software
is executed on hardware, whether or not the hardware has a specific
configuration inherent in a specific kind of hardware. If it is
determined that the hardware has the specific configuration, then the
method allows the software to be executed on that hardware. Otherwise,
the method runs the software with a penalty incorporated therein such as
to substantially be unusable. This allows the software to be correctly
executed only by the specific kind of hardware.