A software patch is a revision to a software program that can involve major changes in how it functions or minor cosmetic additions to its look and feel. Though software development companies encourage their customers to install any available software patch they issue, it is really only necessary if the patch is designated to solve critical software problems or security issues with the program. Program compatibility with a current computer's operating system and state can change dramatically with the installation of a software patch, and, if a software program is already performing as desired, there is no immediate need to update it with a available patch.
Software patch quality can also vary considerably if a company is undergoing a transition, or has recently been bought out by another firm and replaced its development team for the program. Often, when a software patch becomes available for a program that hasn't shown any changes in months or years, it can indicate that further major patches are on the way. This might make it prudent to just wait out the development process until the software problems have been completely resolved.
Computer software follows a general convention for naming revisions, and the significance of a software patch can be determined by this convention. If a software program is labeled as version 3.0, then a change to version 4.0 is a major change in the program, and usually one that requires purchase of the new software version. If the program patch were to be listed as 3.1, then that indicates that it is a minor though significant upgrade to the program. As the numbers extend beyond the original version number, software patch significance becomes more and more minor, with a program update of 3.1.1 possibly entailing nothing more than a slight change in the graphic layout of the software or slight rewording of help files. Version numbers don't have any official format, however, so it is important to check with the software producer's documentation as to what the patch actually updates.
One of the widely accepted methods in programming for revision numbers follows the format of "Major.Minor.VMinor.Build". VMinor indicates a very small change to the program. Build indicates a method of inventory control so that the software company is aware of how many times they have rewritten the program, but it is of little use to consumers.
Large software programs such as operating systems can entail the issuing of hundreds of patches over their supported lifespan. The most critical of these that should be downloaded and installed are security patches to protect against weaknesses in the code that hackers could exploit and viruses could damage. These often involve updates to a particular version of web browser, email program, or interactive online software, such as games, banking, and other financial transaction programs. Some software and operating systems have the option of automatically downloading and installing all available patches without user intervention, but this can contribute to security vulnerabilities and unnecessary compatibility errors, and should only be allowed if the computer owner completely trusts the software vendor.