1. A computer program product comprising a computer useable medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to: record a first set of usage data for one or more of a plurality of software components; and automatically remove at least one of the plurality of software components if the first set of usage data for the at least one software component meets usage criteria specified in an expiration policy; provide access to the removed software component through a remote server; record a second set of usage data for the removed software component; and automatically re-instate the removed software component if the second set of usage data meets usage criteria specified in a reinstatement policy.