Clean-room design (also known as the Chinese wall technique) is the method of copying a design by reverse engineering and then recreating it without infringing any of the copyrights associated with the original design. Clean-room design is useful as a defense against copyright infringement because it relies on independent creation. However, because independent invention is not a defense against patents, clean-room designs typically cannot be used to circumvent patent restrictions.
The term implies that the design team works in an environment that is "clean" or demonstrably uncontaminated by any knowledge of the proprietary techniques used by the competitor.
Typically, a clean-room design is done by having someone examine the system to be reimplemented and having this person write a specification. This specification is then reviewed by a lawyer to ensure that no copyrighted material is included. The specification is then implemented by a team with no connection to the original examiners.
Phoenix Technologies sold its clean-room implementation of the IBM-compatible BIOS to various PC clone manufacturers.
Several other PC clone companies, including Corona Data Systems, Eagle Computer, and Handwell Corporation, were successfully sued by IBM for copyright infringement in 1984, and were forced to re-implement their BIOS in a way which did not infringe IBM's copyrights.
These three settlements happened before Phoenix announced in July of that year that they were licensing their own BIOS code, expressly emphasizing the clean-room process through which Phoenix's BIOS code had been written by a programmer who did not even have prior exposure to Intel microprocessors, himself having been a TMS9900 programmer beforehand.As late as the early 1990s, IBM was winning millions of dollars from settling BIOS copyright infringement lawsuits against some other PC clone manufacturers like Matsushita/Panasonic (1987) and Kyocera (1993–1994), although the latter suit was for infringements between 1985 and 1990.
Another clean-room design example is VTech's successful clones of the Apple II ROMs for the Laser 128, the only computer model among dozens of Apple II compatibles which survived litigation brought by Apple Computer.[ citation needed ]
Other examples include ReactOS, an open source operating system made from clean-room reverse-engineered components of Windows,[ citation needed ] and Coherent operating system, a clean room re-implementation of version 7 Unix. In the early years of its existence, Coherent's developer Mark Williams Company received a visit from an AT&T delegation looking to determine whether MWC was infringing on AT&T Unix property. It has been released as open source.
Clean room design is usually employed as best practice, but not strictly required by law. In NEC Corp. v Intel Corp. (1990), NEC sought declaratory judgment against Intel's charges that NEC's engineers simply copied the microcode of the 8086 processor in their NEC V20 clone. A US judge ruled that while the early, internal revisions of NEC's microcode were indeed a copyright violation, the later one, which actually went into NEC's product, although derived from the former, were sufficiently different from the Intel microcode it could be considered free of copyright violations. While NEC themselves did not follow a strict clean room approach in the development of their clone's microcode, during the trial, they hired an independent contractor who was only given access to specifications but ended up writing code that had certain similarities to both NEC's and Intel's code. From this evidence, the judge concluded that similarity in certain routines was a matter of functional constraints resulting from the compatibility requirements, and thus were likely free of a creative element.Although the clean room approach had been used as preventative measure in view of possible litigation before (e.g. in the Phoenix BIOS case), the NEC v. Intel case was the first time that the clean room argument was accepted in a US court trial. A related aspect worth mentioning here is that NEC did have a license for Intel's patents governing the 8086 processor.
Sony Computer Entertainment, Inc. v. Connectix Corporation was a 1999 lawsuit which established an important precedent in regard to reverse engineering.Sony sought damages for copyright infringement over Connectix's Virtual Game Station emulator, alleging that its proprietary BIOS code had been copied into Connectix's product without permission. Sony won the initial judgment, but the ruling was overturned on appeal. Sony eventually purchased the rights to Virtual Game Station to prevent its further sale and development. This established a precedent addressing the legal implications of commercial reverse engineering efforts.
During production, Connectix unsuccessfully attempted a Chinese wall approach to reverse engineer the BIOS, so its engineers disassembled the object code directly. Connectix's successful appeal maintained that the direct disassembly and observation of proprietary code was necessary because there was no other way to determine its behavior. From the ruling:
Some works are closer to the core of intended copyright protection than others. Sony's BIOS lay at a distance from the core because it contains unprotected aspects that cannot be examined without copying. The court of appeal therefore accorded it a lower degree of protection than more traditional literary works.
BIOS is firmware used to perform hardware initialization during the booting process, and to provide runtime services for operating systems and programs. The BIOS firmware comes pre-installed on a personal computer's system board, and it is the first software to run when powered on. The name originates from the Basic Input/Output System used in the CP/M operating system in 1975. The BIOS originally proprietary to the IBM PC has been reverse engineered by companies looking to create compatible systems. The interface of that original system serves as a de facto standard.
The Intel 80286 is a 16-bit microprocessor that was introduced on February 1, 1982. It was the first 8086-based CPU with separate, non-multiplexed address and data buses and also the first with memory management and wide protection abilities. The 80286 used approximately 134,000 transistors in its original nMOS (HMOS) incarnation and, just like the contemporary 80186, it could correctly execute most software written for the earlier Intel 8086 and 8088 processors.
The 8086 is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus, and is notable as the processor used in the original IBM PC design.
IBM PC compatible computers are similar to the original IBM PC, XT, and AT that are able to use the same software and expansion cards. It was developed by Business Machine and PC corporation IBM. Such computers were referred to as PC clones, or IBM clones. The term "IBM PC compatible" is now a historical description only, since IBM no longer sells personal computers. The industry jargon "PC" sometimes doesn't mean "personal computer" generally, but rather a computer running Microsoft's Windows operating system, in contrast to Apple's macOS, which usually gives the computer the designation of "Mac".
Wintel is the partnership of Microsoft Windows and Intel producing personal computers using Intel x86-compatible processors running Microsoft Windows. The word Wintel is a portmanteau of Windows and Intel.
Coherent is a clone of the Unix operating system for IBM PC compatibles and other microcomputers, developed and sold by the now-defunct Mark Williams Company (MWC). Historically, the operating system was a proprietary product, but it became open source in 2015, released under a 3-clause BSD License.
The IBM Personal Computer AT, more commonly known as the IBM AT and also sometimes called the PC AT or PC/AT, was IBM's second-generation PC, designed around the 6 MHz Intel 80286 microprocessor and released in 1984 as System Unit 5170. The name AT stood for "Advanced Technology," and was chosen because the AT offered various technologies that were then new in personal computers; one such advancement was that the 80286 processor supported protected mode. IBM later released an 8 MHz version of the AT.
Chinese wall is a business term describing an information barrier within an organization that was erected to prevent exchanges or communication that could lead to conflicts of interest. For example, a Chinese wall may be erected to separate and isolate people who make investments from those who are privy to confidential information that could improperly influence the investment decisions. Firms are generally required by law to safeguard insider information and ensure that improper trading does not occur.
Columbia Data Products (CDP) was a company which produced some of the first IBM PC clones. It faltered in that market after only a few years, and later reinvented itself as a software development company.
In computing, a clone is hardware or software that is designed to function in exactly the same way as another system. A specific subset of clones are remakes, which are revivals of old, obsolete, or discontinued products.
Apple Computer, Inc. v. Franklin Computer Corp., 714 F.2d 1240, was the first time an appellate level court in the United States held that a computer's operating system could be protected by copyright. As second impact, this ruling clarified that binary code, the machine readable form of software, was copyrightable too and not only the human-readable source code form of software.
A Macintosh clone is a computer running the Mac OS operating system that was not produced by Apple Inc. The earliest Mac clones were based on emulators and reverse-engineered Macintosh ROMs. During Apple's short lived Mac OS 7 licensing program authorized Mac clone makers were able to either purchase 100% compatible motherboards or build their own hardware using licensed Mac reference designs.
The PC-9800 series, commonly shortened to PC-98 or 98, is a lineup of Japanese 16-bit and 32-bit personal computers manufactured by NEC from 1982 to 2000. The platform established NEC's dominance in the Japanese personal computer market and by 1999, more than 18 million units were sold.
Phoenix Technologies Ltd is an American company that designs, develops and supports core system software for personal computers and other computing devices. The company's products – commonly referred to as BIOS or firmware – support and enable the compatibility, connectivity, security and management of the various components and technologies used in such devices. Phoenix Technologies and IBM developed the El Torito standard.
Eagle Computer of Los Gatos, California, was an early microcomputer manufacturing company. Spun off from Audio-Visual Laboratories (AVL), it first sold a line of popular CP/M computers which were highly praised in the computer magazines of the day. After the IBM PC was launched, Eagle produced the Eagle 1600 series, which ran MS-DOS but were not true clones. When it became evident that the buying public wanted actual clones of the IBM PC, even if a non-clone had better features, Eagle responded with a line of clones, including a portable. The Eagle PCs were always rated highly in computer magazines.
AX was a Japanese computing initiative starting in around 1986 to allow PCs to handle double-byte (DBCS) Japanese text via special hardware chips, whilst allowing compatibility with software written for foreign IBM PCs. It was developed by a consortium including ASCII Corporation, Sony, Hitachi, Sharp, Oki, Casio, Canon, Kyocera, Sanyo, Mitsubishi Electric, etc. with cooperation of Microsoft. but notably excluding Toshiba and Fujitsu. At that time, NEC PC-9801 was the dominant PC architecture in the Japanese PC market because IBM PC/AT and its clone PCs could not display Japanese text. However, NEC did not tolerate PC-9801 compatible machines and was fighting court battles with Epson which was the only PC-9801 compatible machine vendor. Therefore other vendors desperately needed a standard specification for Japanese capable PCs.
Following the introduction of the IBM Personal Computer, or IBM PC, many other personal computer architectures became extinct within just a few years.
In computing, an emulator is hardware or software that enables one computer system to behave like another computer system. An emulator typically enables the host system to run software or use peripheral devices designed for the guest system. Emulation refers to the ability of a computer program in an electronic device to emulate another program or device. Many printers, for example, are designed to emulate HP LaserJet printers because so much software is written for HP printers. If a non-HP printer emulates an HP printer, any software written for a real HP printer will also run in the non-HP printer emulation and produce equivalent printing. Since at least the 1990s, many video game enthusiasts have used emulators to play classic arcade games from the 1980s using the games' original 1980s machine code and data, which is interpreted by a current-era system.
Sony Computer Entertainment v. Connectix Corporation, 203 F.3d 596 (2000), is a decision by the Ninth Circuit Court of Appeals which ruled that the copying of a copyrighted BIOS software during the development of an emulator software does not constitute copyright infringement, but is covered by fair use. The court also ruled that Sony's PlayStation trademark had not been tarnished by Connectix Corp.'s sale of its emulator software, the Virtual Game Station.
Intel microcode is microcode that runs inside x86 processors made by Intel. Since the P6 microarchitecture introduced in the mid-1990s, the microcode programs can be patched by the operating system or BIOS firmware to workaround bugs found in the CPU after release. Intel had originally designed microcode updates for processor debugging under its design for testing (DFT) initiative.
To protect against charges of having simply (and illegally) copied IBM's BIOS, Phoenix reverse-engineered it using what's called a "clean room," or "Chinese wall," approach. First, a team of engineers studied the IBM BIOS—about 8KB of code—and described everything it did as completely as possible without using or referencing any actual code. Then Phoenix brought in a second team of programmers who had no prior knowledge of the IBM BIOS and had never seen its code. Working only from the first team's functional specifications, the second team wrote a new BIOS that operated as specified.