1. A method for composing licenses for programming modules, the method comprising: storing, by a processor, information associated with one or more service programming modules, the information associated with each service programming module of the one or more service programming modules respectively includes a description of function, and one or more of license terms and service properties; receiving, by the processor, an input identifying a set of service programming modules from the one or more service programming modules, based on the description of function included in the information associated with each service programming module of the one or more service programming modules, which is stored; comparing, by the processor, the one or more of the license terms and the service properties associated with each service programming module of the set of service programming modules that are identified; responsive to determining a conflict between the one or more of the license terms and the service properties associated with the set of service programming modules, applying, by the processor, a set of rules to resolve the conflict, wherein the set of rules includes rules and at least one logical operator that satisfies the one or more of the license terms and the service properties that are in conflict; and composing by the processor, a composite license for the set of service programming modules that satisfies the more stringent of the one or more of the license terms and the service properties that are in conflict, based on the one or more of the license terms and the service properties of the set of service programming modules, and the set of rules applied to resolve the conflict.