It is then up to the individual states to enact each statute. The result is a UCC that regulates the sale of goods, check clearing procedures, warehouse receipts, security interests in goods and, if Article 2B is enacted, licenses in software and information. The debate over Article 2B reveals a tension between the concept of a trade secret and the right to reverse engineer a lawfully owned product.
Most software publishers maintain their source code in secrecy.
However, a lawful owner of a product may take the product apart to see how it works and even reproduce the product if it is not otherwise protected by a patent or copyright. Software publishers sell their software as object code and require buyers to agree to a license that prohibits reverse engineering. To make a new program compatible with existing object code, the interface specification is needed. If the interface is unavailable, the object code must be reverse engineered to discover the interface. Even though an engineer would otherwise have a right to reverse engineer a software product, they can contract that right away in a license agreement.