These are all names that describe parts of the development process of Windows Vista.
Pre-Alpha
Sometimes a build known as pre-alpha
is issued, before the release of alpha or beta. In contrast to alpha
and beta versions, the pre-alpha is usually not "feature complete";
that is, it is at the stage where designers are still wondering about
what functionalities the product should have. Such builds can also be
called development releases or nightly builds.
Alpha
An alpha version or alpha release usually represents the first feature complete version of a computer program
or other product, likely to be unstable but useful for demonstrating
internally and to select customers. Some developers refer to this stage
as a preview, as a technical preview or as an early access.
Often, this stage begins when the developers announce a feature freeze
on the product, indicating that no more features will be added to this
version of the product, only bugs will be removed.
Alpha is the first letter in the Greek alphabet.
Beta
The beta
version of a product still awaits full debugging or full implementation
of all its functionality, but satisfies a majority of the requirements. Beta versions (or just betas) stand at an intermediate step in the full development cycle.
Developers release them to a group of beta testers (or, sometimes, to
the general public) for a user test. The testers report any bugs that
they found, features they would like to see in the final version, etc.
When a beta becomes available to the general public it often becomes
used almost as widely as the finished product (when developers
subsequently complete that product). Usually developers of freeware or open-source
betas release them to the general public while proprietary betas go to
a relatively small group of testers. Recipients of highly proprietary
betas may have to sign a non-disclosure agreement.
Since this is the second major stage in the development cycle, following the alpha stage, it is named after the Greek letter beta, the second letter in the Greek alphabet.
In February 2005, Slashdot
ran an article about the recent phenomenon of a beta version often
staying for years and being used as if it were in production-level. http://developers.slashdot.org/article.pl?sid=05/02/13/0234221&tid=185&tid=156
Release candidate
The term release candidate can refer to a final product, ready to release unless fatal bugs emerge. In this stage, the product features all designed functionalities and no known showstopper class bugs. Microsoft Corporation often uses the term release candidate. Other terms include gamma, (and occasionally also delta, and perhaps even more Greek letters) for versions that are substantially complete, but still under test, and omega for final testing of versions that are believed to be bug-free, and may go into production at any time. Gamma, delta, and omega are, respectively, the third, fourth, and last letters of the Greek alphabet.
Some users disparagingly refer to release candidates and even final
"point oh" releases as "gamma test" software, suggesting that the
developer has chosen to use its customers to test software that is not
truly ready for general release.
Gold/Release/RTM(Ready to Manufacture)
The gold or release
version of a product is the final version of a particular product. It
is typically almost identical to the final release candidate, with only
any last-minute bugs fixed. In commercial software releases, this
version may also be signed (used to allow end-users to verify that code
has not been modified since the release).
The term gold
anecdotally refers to the use of "gold master disks" which were used to
send the final version to manufacturers (who use the gold master to
create the mass-produced retail copies.) It may, in this context, be a
hold-over from music production.
Microsoft
and others use the term "RTM" (Release to Manufacturing) to refer to
this version (as in, "Build 2600 is the Windows XP RTM release").
Stable/Unstable
In open source programming, version numbers or the terms stable and unstable commonly distinguish the stage of development. In the Linux kernel, version numbers take the form of three numbers, separated by a period character or "point". An even second number represents a stable release and an odd second number represents an unstable release. The practice of using even and odd numbers to indicate the stability of a release has featured in many other open source projects.