1. A method for controlling usage of one or more software programs on one or more mobile computing devices, the method comprising: monitoring an indication of a position of each mobile computing device to determine a location area of the mobile computing device, among a plurality of location areas; assigning each one of the software programs to a usage group, among a plurality of usage groups of a software program type of the software program for the location area of the corresponding mobile computing device, wherein for each location area the software programs of each software program type are assigned to the corresponding usage groups providing one or more usage characteristics that fulfill one or more usage requirements of each software program according to one or more optimization criteria depending on one or more usage weights of each usage group; and enabling usage of each software program according to the usage characteristics of the corresponding usage group.