In one aspect of the disclosure, a computer program product, system and
method for maintaining and recycling software components is disclosed. A
first set of usage data for one or more software components is recorded.
At least one of the plurality of software components is automatically
removed if the first set of usage data for the at least one software
component meets usage criteria specified in an expiration policy. Access
is then provided to the removed software component through a remote
server. A second set of usage data is now recorded for the removed
software component. The removed software component is automatically
re-instated if the second set of usage data meets usage criteria
specified in a re-instatement policy.