Answer to Question 1
Reverse engineering is the process of taking something apart in order to understand it, build a copy of it, or improve it. Using reverse engineering, the corporation can use the code of the current database programming language to recover the design of the information system application. Next, code-generation tools can be used to take the design and produce code in the new database programming language. This reverse-engineering and code-generating process greatly reduces the time and cost needed to migrate the organizations applications to the new database management system.
Decompilers and other reverse-engineering techniques can be used to reveal a competitors program code, which can then be used to develop a new program that either duplicates the original or interfaces with the program. Thus, reverse engineering provides a way to gain access to information that another organization may have copyrighted or classified as a trade secret.
Answer to Question 2
The courts have ruled in favor of using reverse engineering to enable interoperability. In the early 1990s, video game maker Sega developed a computerized lock so that only Sega video cartridges would work on its entertainment systems. This essentially shut out competitors from making software for the Sega systems. Sega Enterprises Ltd. v. Accolade, Inc. dealt with rival game maker Accolades use of a decompiler to read the Sega software source code. With the code, Accolade could create new software that circumvented the lock and ran on Sega machines. An appeals court ultimately ruled that if someone lacks access to the unprotected elements of an original work and has a legitimate reason for gaining access to those elements, disassembly of a copyrighted work is considered to be a fair use under section 107 of the Copyright Act. The unprotected element in this case was the code necessary to enable software to interoperate with the Sega equipment. The court reasoned that to refuse someone the opportunity to create an interoperable product would allow existing manufacturers to monopolize the market, making it impossible for others to compete.