Patches, in terms of computer software, are a set of modifications made to supporting data of a computer program with the intention to improve, fix, or update the program. Typically, the developers intend to address issues of security vulnerabilities by releasing patches for software programs.
Also, they use them to fix bugs in released software. Typically, we call such patches bugfixes. Generally, they help to improve the overall performance, functionality, and usability of computer programs. These programs could either be video games, operating systems, etc.
Usually, their installation is either by a human programmer or under program control. If a human installs your patch, it will be with an editing tool, otherwise called a debugger. Generally speaking, patches could either be temporal or permanent.
According to history, software companies used punched cards or paper tapes to distribute patches. In this case, users had to manually cut out the specific section of the original deck or tape. Then, use the new tape to patch the empty section in the old tape. Hence, the name “patch.”
Prior to the invention disk drives that allowed ejection, software supplies had to innovate on the punched cards. By so doing, they used magnetics tapes in places of paper tapes and cards. Hence, developers would send out patches to software users on diskettes, and compact disks that arrived in the mail.
Since there different types of computer programs out there, patches designed to work on them also differ in many aspects. As such, there are three main types of them. Namely:
These are patches distributed using executable files rather than source code. Primarily, they are used for proprietary software.
Apart from distribution as executable files, they also go around as changes to the source codes of programs. These are the source code patches.
Unlike the usual small modifications, these modify a considerable portion of a program. They go by names like software updates or service packs.