1. A method for providing due diligence of software using a license description syntax, wherein the license description syntax includes a plurality of attributes for describing software licenses, the method comprising: creating a license database that includes a plurality of entries, wherein each of the plurality of entries in the license database uniquely describes permissions and obligations associated with one version of an authoritative text for a respective software license; associating each of the plurality of entries in the license database with one or more of the plurality of attributes of the license description syntax, wherein the one or more attributes associated with at least one of the plurality of entries is arranged to uniquely describe said permissions and obligations of said version of authoritative text; combining the one or more of the plurality of entries by Boolean operators to form a complex entry for describing an applicable software license, wherein the complex entry comprises the one or more attributes of one or more of the plurality of entries and the relationships among the entries indicated b the Boolean operators; analyzing the software under due diligence to identify one or more software licenses as being applicable to said software, said analyzing comprising comparing a fingerprint of the software under due diligence with other fingerprints of other known software having known applicable software licenses to determine a match between the software under due diligence and the other known software; and identifying, upon determining a match, one or more entries in said license database that describe said known applicable software licenses.