Software Release Versions
Major or Feature Version
A major or feature version of software or firmware is either about adding newer functionality to the software. It can also be to redesign the software to integrate all the changes that were written in during its lifetime or to revise its user interface.
Minor Version or Point Version
A minor version of software or firmware is primarily about improving the way the software runs. This is mostly to rectify software bugs or security exploits or simply to “tune” the software for improved performance. In some cases it may be to improve the software’s compatibility with an online service or a device.
In some cases, a software author or device manufacturer may issue a “point version” of the software or a software patch simply to rectify a newly-discovered weakness in the software.
Increasingly, we are seeing the rise of software or firmware modifications being rolled out to end-users on a monthly basis. It is part of a stronger software quality-control cycle which is being mandated in the name of data security, but also is allowing the software developer to fine-tune how the software should work whether that be for performance or useability.
A software port occurs when a piece of software that existed for another hardware platform or operating system is written to work on a particular hardware platform or operating system. This term is used as a verb when someone undertakes this practice to adapt the software for another hardware platform or operating system.
Initially this practice was used to make a popular game title available on different computing platforms or operating systems. But it is used to have a popular or respected program across all hardware platforms or operating systems.
Some software developers describe adapting a program, especially a game, written for an older operating system to a newer operating system and building in the newer abilities in to that program as a remaster.
Software Development Level Terms
You may hear of these terms when a software developer or device manufacturer is talking about the impending release of a particular piece of software. It doesn’t matter whether this is totally new software, a port of an existing piece of software for another platform or the existing software being revised and improved upon.
In the case of an operating system or Web browser where other hardware or software are to be dependent on that software, the earlier versions are released to the independent software or hardware developers. This is for them to know what they will be in for when the software will be finally released so they can work their hardware or software project with that software.
Alpha, Canary or Dev Version
Reliability: Very unreliable
An alpha version of software is what is generated shortly after the software idea is compiled for the first time. This is a very unreliable version due to many bugs not being discovered by the software developers and will also have an awkward user interface.
It is intended to be delivered to the software development team but may be issued to some end-users who are into trying the latest software out. Here, the software is tested on very few operating environments, usually the developers’ own computing environments which may be very high-performance.
Some alpha versions, known as “canary builds” are created when the software is first coded and compiled. These act as the “canary in the coal mine” by highlighting errors or weaknesses in that initial code. Then there are the “dev builds” that are made available to more of the software development’s team but have most of the initially-discovered bugs identified and rectified.
In the open-source software community, the “canary builds” and “dev builds” are seen as being of importance to those contributing to the evolution of a piece of open-source software. Here, it means that the source code can be inspected more easily by expert teams like data-security experts thus assuring improved software quality control.
Reliability: Unreliable, not fit for regular productive use but can be used on a test setup that you aren’t depending on for productive purposes.
A beta version of the software will have most of the software bugs ironed out and will have most, if not all, of the features that the software will have. This is distributed to an increased number of interested public users who run the software or firmware under differing operating environments with different performance levels.
Close to the software’s production release, the developers will roll out one or more “release candidate” versions which is very similar to how the software will look and run when it is finally released. This will be more reliable than earlier beta versions and may be useful to try the program before it is released.
Reliability: Very reliable, fit for distribution and regular productive use
The production version is the version of the software that has been signed off by the software developers and their employers as being fit for release. Some companies call this version the “gold” version in order to describe it as a reference version.
It will therefore be the version that most of us end up using when we buy the hardware or buy or download the software.
Increasingly software and firmware developers are writing add-on code for their existing software either to rectify problems or add extra functionality to their existing software projects.
A software patch is either a very minor update to an existing program or an add-on module written with the purpose of rectifying deficiencies in the original software. This is typically released in response to one or more software bugs being found in the program.
This term was initially used in the early days of computing where software was loaded using “telex-style” punched tape. Here, a computer programmer could “patch (splice) in” new code to an existing punched-tape reel of software code. Some software developers like operating-system developers offer a software patch as a separately-installed program that installs the necessary updates, following on from the original software-update process.
Plug-in, Add-On or Downloadable Content
Plug-ins, add-ons, expansions or downloadable content simply exist to extend the functionality of existing software. Depending on the original software, this can be written by third parties including knowledgeable members of the program’s user base, typically as a way to customise the software’s functionality.
Downloadable content follows on from the original expansion disks or CDs that have extra content for these games. Here, it represents extra maps, characters, objects or similar extensions that continue to give extra value to a game.