1. A method for optimizing software license utilization, said method comprising: installing software interaction monitoring agents on a set of computing devices; using the installed software interaction monitoring agents to each monitor user interactions, of a respective user of a respective computing device of the set of computing devices, with an instance of a first software application installed on the respective computing device, said monitoring of user interactions including: (1) monitoring a foreground duration the first software application is active in a foreground of a display of the respective computing device, and (2) monitoring interactions of the respective user with the first software application using input devices of the respective computing device, while the first software application is active in the foreground of the display of the respective computing device; assessing, using the software interaction monitoring agents, a level of interaction of each of the respective users of the set of computing devices with the first software application, based on the foreground durations and interactions monitored by the software interaction monitoring agents; classifying each combination of the first software application and each of the respective users of the set of computing devices, as one of a list of usage types, based on the assessed levels of interaction; and using a central server to automatically determine, for each of the respective users of the set of computing devices, based on the classifications: (i) a software license type of the first software application for the respective user or (ii) a decision to transition the first software application to become a cloud application for the respective user.