We've been asked this question quite a few times and have noticed myself that this term is new to many in the PHP community. So we thought we'll take a moment to clarify.
Typically, a software product release consists of the following phases:
Many software products use a variation of this process and often have multiple public milestone releases (Alpha, Beta, Release Candidate, Final) with the product quality increasing with each milestone until the release criteria is met. Often, there is a tighter loop with a smaller set of partners to get early feedback while the public releases are for feedback from a larger audience. My previous experience with software used this process and terminology.
The variation within the SQL Server product group is:
There are several benefits that allow teams to:
Many people outside Microsoft think of a CTP as a "beta" release, we think of a CTP as a "Release Candidate" quality release with the ability to change the design and improve the test suite.
As with any approach, it has its weak spots – one is identifying the right set of partners to get the requirements from and to validate the design. It is evident that our team follows this process since the fist CTP in 2007. We have enjoyed success with it, and we continue to make improvements in mitigating the weak spots (for example, our partner list continues to grow and we really appreciate their participation).
We hope this helps your understanding of our process and terminology, can use our CTP builds with greater confidence, and take the opportunity to provide feedback quickly.
SQL Server Driver for PHP team