My view on open source is that it should be done wholeheartedly or not at all. There is really no middle ground. if you publish your code then people are going to use it, and sooner or later someone will use it in a way you don't approve of. You can license all you want but this is just a fact of life, ultimately you can't control how people behave. So when I make my code open source, I do so with no strings attached. If I'm not prepared to send my code out into the world without worrying about it's destiny, then I don't open it.