The software license restrictions clause lists the uses and activities prohibited by the vendor. Typically the clause will prescribe: copying; distributing, modifying, or reverse engineering the software. It may also prevent the licensee from using the software to operate a nuclear facility. (e.g. Apple iPhone License, Macromedia EULA)
1. Reservation of Rights
Many license agreements will specifically reserve all rights that are not expressly granted with language, such as “Licensor reserves all rights not expressly granted herein."
2. Additional Restrictions
Proprietary Notices: “You may not remove, alter or obscure any proprietary notice that appears on the Software or on any copies made in accordance with this Agreement.”
Notify Others: “You agree to notify your employees and agents with access to the Software of the limitations set forth in this Agreement.”
Competition: “You may not use the Licensed Products for the purposes of competing with the licensor, including without limitation competitive intelligence.”
Confidentiality: "You may not publish or disclose the results of any benchmarking of the Software, or use such results for any other software development activities.”
Personal or Specified Use: “You may not use the Software or the Software Content for any purpose other than your personal, noncommercial use.”
Restrictions on Export: “You may not use the Software, or allow the transfer, transmission, export or re-export of all or any part of the Software or any product thereof, in violation of any export control laws or regulations of the United States or any other relevant jurisdiction.”
Compliance with Laws: “You may not use the Software in a manner that violates any applicable local, state, national or international law or governmental regulation, policy procedure or ordinance, or any rights of a third party.”
Terminated License: “You may not use the Software if this license has been terminated by licensor;
Dangerous Use: “THE IPHONE SOFTWARE AND IPHONE SOFTWARE UPDATES ARE NOT INTENDED FOR USE IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL SYSTEMS, LIFE SUPPORT MACHINES OR OTHER EQUIPMENT IN WHICH THE FAILURE OF THE IPHONE SOFTWARE OR IPHONE SOFTWARE UPDATES COULD LEAD TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE.”
Note: to find the original agreement for each of these agreement, copy the quoted text into an Internet search engine with the surrounding quotes.
1. Reverse Engineering
Reverse engineering is “the process of discovering the technological principles of a human made device, object or system through analysis of its structure, function and operation.” (http://en.wikipedia.org/wiki/Reverse_engineering).
Software is typically distributed in machine code. However, disassembly tools can read the raw machine language; analyze the code and using interactive tools, and step-by-step convert sections of code to data. More sophisticated decompilers seek to recreate the code in a high-level language by attempting to reverse the operation of the compiler.
2. Fair Use
According to Saga vs. Accolade (977 F.2d 1510), decompiling copyrighted object code is "fair use," but only under very specific conditions: “where disassembly is the only way to gain access to the ideas and functional elements embodied in a copyrighted computer program and where there is legitimate reason for seeking such access, disassembly is a fair use of the copyrighted work, as a matter of law."
European Laws also permit decompilation under specific circumstances: (a) the person or entity must own a license to the software; (b) the decompoilation must be necessary to achieve interoperability with other application; and (c) the decompilation must be limited, if possible, to the source code sections needed to achieve interoperability. 1991 Software Directive.