1. A method for managing software license compliance for an entity, comprising: defining at least one device group, the device group including a plurality of devices each capable of running an instance of at least one software package and further assigning a group owner responsible for those instances running on those devices; obtaining discovery information for each of the devices of the device group, the discovery information including information about each device and any software package active on the device; obtaining asset information indicating the number of licenses available to the device group for each software package; comparing the discovery information and the asset information to determine any software packages where the number of instances of a software package exceeds the number of licenses for that software package and generating an exception in response thereto; and notifying the group owner of any generated exception.