It sounds a bit like you didn't actually want to open source this code at all. Open Source isn't, "Look, I am giving away my hard work for free." Open Source means you give people the opportunity to build on top of your work. This is how things evolve. If everyone has to start from square one every time they have an idea for improving something they use it would slow everything down. And yes, it means you will effectively end up competing with your own code for mindshare and users, but presumably that doesn't frighten you. As long as they abide by the terms of the license and let others to the same they are in the same boat. If someone else does a better job improving the code, marketing it, providing support, etc. more power to them. Chances are if your version is the best supported contributions will flow back to you.
I personally prefer BSD-style licenses. I don't mind commercial competition at all.