There is natural conflict in the development process, because after spending hundreds or thousands of hours creating something cool, it's hard to let go. This conflict is especially difficult if you decide that releasing your project as open source is the best way to distribute it and get others to use and extend it. The first knee-jerk reaction is to attempt to retain as much control as you can -- "Yeah, it's open source, but I don't want you using it commercially or as the basis of something else." -- If you follow through with that restriction, you're essentially releasing source code or design files for a closed project. It's open in name only.
Once you recognize that your biggest fear is actually the idea that someone will take your idea and do a better (or more successful) job at it than you have, you can begin to step forward. The first step is to understand that if you have a really good idea, someone will clone it. In fact, it's likely that 15 people will clone it. And that's good, because they might do a better job and there's nothing from stopping you from incorporating their good ideas into your project (a derivative work of a derivative work!). Whether or not you explicitly grant permission for someone to use your ideas, rest assured that they will. To that end, it makes the most sense to release with a CC Share Alike requirement that ensures that your ideas and their derivatives stay public and accessible to all.
After a number of decimal places, nobody gives a damn.