If you don't want to open the source at first, you can copyright the code and keep it under a closed, restrictive license. If others want to contribute, make them agree to something similar to a non-disclosure agreement. Essentially, you will distribute the source code to them under a special license that allows them to modify the source code and make changes but does not give them rights to re-distribute it. Part of that agreement can state that contributors give the project unlimited rights to the use of their contributions, including but not limited to the ability to publish the code under an open-source license. That way, contributors know up-front that you might re-license the code and have no grounds to complain when you do.
Moving code to a less-restrictive license is fairly easy to do. As long as you make sure that the project either owns all the source code or has unlimited/unrestricted rights to use, modify, and re-distribute it, then open-sourcing it at your discretion shouldn't be too much of a problem.
Update:
Unfortunately, there aren't a lot of pre-fabricated, NDA-like licenses like this that are freely available. Since they are designed to impart specific legal rights and enforce specific legal restrictions, they are typically drafted by a lawyer and custom-tailored for the particular project/situation.
That being said, you can probably use the available open-source licenses to write your own restrictive license. You would want your license to focus on granting and reserving your rights and not necessarily on restricting the rights of others (at least not in the same detail). For example, take the following clause (a modified version of section 2.1 of the Adaptive Public License):
2.1. COPYRIGHT LICENSE FROM CONTRIBUTORS.
(a) Subject to the terms of this License, the Contributor
hereby grants <<Project Owner>> a world-wide, royalty-free,
non-exclusive copyright license to:
(i) reproduce, prepare derivative works of, publicly display,
publicly perform, distribute, sublicense, and re-license
the Contribution; and
(ii) reproduce, publicly display, publicly perform,
distribute, sublicense, and re-license any derivative
works (if any) prepared by <<Project Owner>>;
in Source Code and Executable form, either with other Modifications,
on an unmodified basis, or as part of a Larger Work.
You would replace "<<Project Owner>>" with either your name or the name of your project. You would also include another section that stated that recipients of the code are not permitted to share or re-distribute the code, including modified versions of it, in any way, shape, or form except to submit changes back to you. Another section would state that all modified versions of the code must be licensed under the same license, and another section would reserve (for you) the right to change the code's license. A general disclaimer (like the one at the end of the BSD License) is also a handy thing to have. You can use language from existing licenses as a template (sort of like I did above) to generate the different sections of your license.
If you do write your own license and have even the slightest possibility that you may have to enforce it legally or that it may be enforced against you, have a lawyer review it before you use it (IANAL)!
Update2:
Another option that you might be able to pursue is to change the way that contributors submit their code. Your source code would carry a license that forbids the contributor from transferring the code, in source or object form, with or without modifications, to any other party for any reason, with the sole exception of submitting patch files back to you. When the contributor submits their work, have them submit only a patch (instead of the modified version of the source) and require the patches themselves to be MIT or WTFPL licensed. That way, you have unrestricted rights to use the patches, including re-licensing them or using them in your project (regardless of your project's license). You won't have to get the original author's permission to re-license your code, since the only part that they have claim to is the patch files. Your only obligation would most likely be to give proper credit to the contributor (as in a "thank you to the following contributors" section in your documentation or website), but you were probably planning on doing that anyway.