An unofficial patch, sometimes alternatively called a community patch, is a
patch for a piece of software, created by a third party such as a
user community without the involvement of the original
developer. Similar to an ordinary patch, it alleviates
bugs or shortcomings. Unofficial patches do not usually change the intended usage of the software, in contrast to other third-party software adaptions such as
mods or
cracks.
Motivation
A common motivation for the creation of unofficial patches is missing
technical support
Technical support, commonly shortened as tech support, is a customer service provided to customers to resolve issues, commonly with consumer electronics. This is commonly provided via call centers, online chat and email. Many companies provid ...
by the original software developer or provider. Reasons may include:
*the software product reached its defined
end-of-life and/or was superseded by a successor product (
planned obsolescence)
* the software was originally designed to operate in a substantially different environment and may require improvement/optimization (
porting)
* the developer has gone out of business and is not available anymore
*support is not economically viable (e.g. localization for small markets)
*a fast solution for a time critical problem (e.g.
security holes) when an official one takes too long
* the official developer is unable to cope with the problems
Types
Unofficial patches are also sometimes called ''fan patches'' or ''community patches'', and are typically intended to repair unresolved bugs and provide technical compatibility fixes, e.g. for newer
operating systems, increased display resolutions
or new display formats.
While unofficial patches are most common for the PC platform, they can also be found for console games e.g. in context of the emulation community.
Translations
Unofficial patches are not limited to technical fixes;
fan translations of software, especially games, are often created if the software has not been released locally.
Fan translations are most common for
Japanese role-playing games which are often not localized for Western markets.
https://web.archive.org/web/20110716024241/http://img128.imageshack.us/img128/1900/tra26ba.jp
https://web.archive.org/web/20110718200429/http://img145.imageshack.us/img145/7259/tra42bl.jpg]
Another variant of unofficial patches are
Slipstream (computing), slipstream like patches which combine official patches together, when individual patches are only available online or as small incremental updates.
Methods
The most common case is that the
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
and the original development tools are not available for the software. Therefore, the faulty software's binary must be analyzed at
run time by
reverse engineering and
debugging. If the problem is found, a fix to the program must be applied. Sometimes only small changes in
configuration file
A configuration file, a.k.a. config file, is a computer file, file that stores computer data, data used to configure a software system such as an application software, application, a server (computing), server or an operating system.
Some applic ...
s or the
registry are required, sometimes binary hacks on the
executable
In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), in ...
itself are required to fix bugs. If a
software development kit (e.g. for modding) is available, fixes to the content can be easily produced, otherwise the community would need to create their own tools. These found fixes are typically packed to user deployable patches (e.g. with
NSIS,
Innosetup).
If the source code is available, support can by provided most effectively. Sometimes the source code is released intentionally,
sometimes by
leaking
or mistake,
such as what happened with the
game engine of the ''
Thief'' series.
Sometimes fans even
completely reverse-engineer source code from the original program binary.
With the source code available even the support of completely different but recent
platforms with
source ports becomes possible.
Law
While no court cases have directly addressed the legal ramifications of unofficial patches, similar cases have been tried on related issues. The case of ''
Galoob v. Nintendo'' found that it was not
copyright infringement by a user to apply an unauthorized
patch to a system (while the scope was very specific to the
Game Genie). On the other hand, the case
Micro Star v. FormGen Inc. found that user-generated maps were
derivative works of the original game. In ''
Sega v. Accolade'', the
9th Circuit held that making copies in the course of
reverse engineering is a fair use, when it is the only way to get access to the "ideas and functional elements" in the copyrighted code, and when "there is a legitimate reason for seeking such access". According to
Copyright law of the United States 17 U.S. Code ยง 117, the owner of a copy of a program can modify it as necessary for "Maintenance or Repair", without permission from the copyright holder; an argumentation also raised by
Daniel J. Bernstein professor at the
University of Illinois at Chicago.
Similar user rights are given also according to European copyright laws. The question of whether unauthorized changes of lawfully obtained copyright-protected software qualify as
fair use
Fair use is a Legal doctrine, doctrine in United States law that permits limited use of copyrighted material without having to first acquire permission from the copyright holder. Fair use is one of the limitations to copyright intended to bal ...
is an unsettled area of law. An article of Helbraun law firm remarks, in the context of fan translations, that while redistributing complete games with adaptions most likely does ''not'' fall under fair use, distributing the modifications as a patch might be legally permissible; however, that conclusion has not been tested in court.
Reception
Reception of unofficial patches is mixed, but by large, copyright holders are ambivalent. When the software is not considered commercially viable unofficial patches are ignored by the copyright holder as it is not seen as a source of lost revenue.
There have been seldom cases of
cease and desist
A cease and desist letter is a document sent by one party, often a business, to warn another party that they believe the other party is committing an unlawful act, such as copyright infringement, and that they will take legal action if the oth ...
letters to unofficial patch and fan translation projects.
Sometimes the copyright holder actively support the patching and fixing efforts of a software community,
[Community-based update to GalCiv 2 Ultimate Edition](_blank)
by MarvinKosh on 25 September 2014 sometimes even by releasing the
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
under a
software license which allows the software community the continued software support by themselves.
Blue Saga's Source Code Has Been Released
by Matt Chelen on mmos.com (30 July 2016) Examples for such software are in the List of commercial video games with later released source code.
The free and open source software movement was founded in the 1980s to solve the underlying problem of unofficial patches, the limited possibility for user self-support in binary only distributed software due to missing source code. Free and open source software demands from distributed software the availability of source code, which prevents the technical problems and legal uncertainties of binary only user patching of proprietary software.
Examples in video games
Examples in general software
See also
* Fan labor
* Server emulator
* Source port
* Right to repair
References
{{Independent production
Software maintenance
Software release
Unofficial adaptations
Video game development
Fan labor