A source upgrade is the improvement of a computer program’s source code, or the code from which the program is created. The most common source upgrade changes are new features, bug corrections and stability improvements. Patches are created by software developers and are released to the public; these are usually free, though some developers may charge for the patch. If a program is open source, then the user can perform his own source upgrades by modifying the source code. When a source port is made, an old program or game is modified so it can work on modern equipment, but the program or game remains relatively the same.
After a program is developed, the development team will typically work on creating source upgrade packages. Reasons for doing this include releasing a new version of the software and upgrading the original product. The most common changes resulting from source upgrades are new functions, the creation of bugs or glitches and the repair of problems; the program’s power and stability also may be enhanced. Typically, when a source upgrade is released, the user will just download it and the upgrade will change the original source code; the user has to perform very little work to upgrade the program.
When a source upgrade is made, it is typically called a patch. The developer makes a patch, and the user downloads the patch to activate it. For example, when a computer automatically downloads an upgrade or a dialog box pops up saying an upgrade is available, a patch is what the computer downloads and applies. Most patches are free, though the developer may charge for a patch that completely changes the program.
Open source programs' patches are typically made by the user. This means the source code can be modified without the user having to wait for the official developer to upgrade the programming. Most open source programs also are upgraded by the official developer.
Source ports are different from the other two source upgrades, because they typically result in very little change in the program, and this upgrade typically addresses old games or programs. Modern computers may have certain requirements that old games or programs cannot satisfy but, if a source port is made, then the game is upgraded to fill the requirements. For example, if the game needs better rendering support, then a programmer just adds this support and the game can be ported to modern computers.