Clone (computing)

From Infogalactic: the planetary knowledge core
(Redirected from Remake (software))
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

In computing, a clone is a hardware or software system that is designed to function in the same way as another system.[1] A specific subset of clones are Remakes (or Remades), which are revivals of old, obsolete, or discontinued products.

Motivation

Clones and remakes are created for various reasons, including competition, standardization, availability across platforms, and even as homage. Compatibility with the original system is usually the explicit purpose of cloning hardware or low-level software such as operating systems (e.g. AROS and MorphOS are intended to be compatible with AmigaOS). Application software can be cloned simply by providing similar functionality (all word processors have the same basic purpose), but may also be designed to support specific file formats (e.g. OpenOffice.org is intended to supplant Microsoft Office).

Commercially motivated clones are made often during a competitor product's initial successful commercial run, intentionally competing with the original and trying to participate on their success.

Hardware

The FC Twin famiclone designed to look like a SNS-101. This unit plays both NES and SNES cartridges.

Hardware clones

When IBM announced the IBM PC in 1981, other companies such as Compaq decided to offer clones of the PC as a legal reimplementation from the PC's documentation or reverse engineering. Because most of the components, except the PC's BIOS, were publicly available, all Compaq had to do was reverse-engineer the BIOS. The result was a machine with better value than the archetypes that the machines resembled. The use of the term "PC clone" to describe IBM PC compatible computers fell out of use in the 1990s; the class of machines it now describes are simply called PCs.

While the term has fallen mostly into commercial disuse, the term clone for PCs still applies to a PC made to entry-level or above standard (at the time it was made) which bears no commercial branding (e.g., Acer, IBM, HP, Dell). This includes, but is not limited to, PCs assembled by home users or Corporate IT Departments. (See also White box (computer hardware).)

There were many Nintendo Entertainment System hardware clones due to the popularity and longevity of the Nintendo Entertainment System.

Hardware remakes

Examples for hardware remakes are e.g. recent home computer remakes.

A special kind of hardware remakes are emulators which implement the hardware functionality completely in software. For instance the WinUAE emulator software tries to behave exactly like a physical Amiga.

Software

Software can be cloned by reverse engineering or legal reimplementation from documentation or other sources, or by observing a program's appearance and behavior. The reasons for software cloning may include circumventing undesirable licensing fees, acquiring knowledge about the features of the system or creating a interoperable alternative for an unsupported platform.

In the United States, the case of Lotus v. Borland allows programmers to clone the public functionality of a program without infringing its copyright.

A comparison of in-game screenshots, published in EA's legal filings, of EA's The Sims Social (left) and Zynga's The Ville, demonstrating the similarities in the games' art assets.

Yet the public interface may also be subject to copyright to the extent that it contains expression (such as the appearance of an icon). For example, in August 2012, Electronic Arts, via its Maxis division, put forth a lawsuit against Zynga, claiming that its Facebook game, The Ville was a direct clone of EA's own Facebook game, The Sims Social. The lawsuit challenges that The Ville not only copies the gameplay mechanics of The Sims Social, but also uses art and visual interface aspects that appear to be inspired by The Sims Social.[2][3][4] The two companies settled out of court on undisclosed terms in February 2013.[5]

An example for software cloning is the ReactOS project which tries to clone Microsoft Windows; another example is GNU Octave, which treats incompatibility with MathWorks MATLAB as a bug.[6]

Video games

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Since the existence of video games, clones of successful concepts and brands were common. For instance, the influential first person shooter Doom lead in 1990s to the creation of a new genre dubbed as Doom clones. In the 2000s the open world action-adventure Grand theft auto inspired the creation of many Grand Theft Auto clones.

Software remakes

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Remakes of software are revivals of old, obsolete, or discontinued software (e.g. Abandonware).

A good share of software remakes are Fangames of computer games and Game engine recreation made by the fan community as part of retrogaming, to address e.g. compatibility issues or non-availability of the original.

Since the 2000s there has been an increasing number of commercial remakes of classical games by the original developer or publisher for current platforms as the digital distribution lowers the investment risk for niche releases.[7] When enhanced in some way (audio, graphics, etc.) new releases might be called "High definition" release or "Special edition", an example is The Secret of Monkey Island: Special Edition.[8][9]

Other uses of the term

Lua error in package.lua at line 80: module 'strict' not found.

Desktop

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Since 2010 clone computing, in the sense of replicating a session on a host computer in a virtual instance in the cloud, has been introduced. This allows the user to have access to a copy of their PC's desktop on any other computing device such as a tablet computer, a personal computer running any operating system, WebOS, smartphones, etc.

The clone computer replicates, runs, and is always available through a series of cloud servers. Unlike remote management software, clone computing has no dependency on the host computer.

Disk cloning software

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Disk cloning is the process of copying the contents of one computer hard drive to another disk or to an "image" file. Typically, the contents of the first disk are written to an image file as an intermediate step, and the second disk is loaded with the contents of the image. A cloned drive can replace the original, rather than simply containing backup copies of files.

Cloning software replicates the operating system, drives, software and patches of one computer for a variety of purposes, including setting up multiple computers, hard drive upgrades, and system recovery in the event of disk failure or corruption.

Programming

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

In computer programming, particularly object-oriented programming, cloning refers to object copying by a method or copy factory function, often called clone or copy, as opposed to by a copy constructor. Cloning is polymorphic, in that the type of the object being cloned need not be specified, in contrast to using a copy constructor, which requires specifying the type (in the constructor call).

See also

References

  1. clone /n./ "An exact duplicate: "Our product is a clone of their product." Implies a legal reimplementation from documentation or by reverse-engineering" from the Jargon File
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. 11. Porting programs from MATLAB to Octave "There are still a number of differences between Octave and MATLAB, however in general differences between the two are considered as bugs."
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.