I use the following: Alpha - Release to other developers, usually with full source and run in "debug" mode. Beta - Release to other developers and a select few who are possible stake-holders in the release (i.e. people who need the new functionality asap, bugs and all) for testing and quasi-production. Note, the build is likely still debug, but the application stands on its own. Release Candidate - When the product has all* bugs worked out, and an installation program has been built for the release, I will distribute the product to those users within my personal knowledge who really want it. The application is "release" build now, with optimizations and no debug info. Final Release - That's it. After any last-minuite updates, a new Install is built, and release is available for anyone who wants it. *as far as we can tell... - Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb