One way would be to expose an API to plugins but remain closed-source.
Another way would be to open-source the code but not release it under a CC license.
Yet another would be to release the app as {share|nag|beg|cripple|etc}ware.
Yet another would be to make the app free but charge for support and enhancements (freemium).
If the code is available in a form that enables people to build it, that seems likely to reduce sales considerably whatever the licence. (In any case, I don't think CC-ness of the licence is the relevant feature.)
If the source code is available then nagging, begging and crippling are easily removed. (Unless the crippling is a matter of omission and the uncrippling bits are paid for -- but that's just one variety of freemium.)
Your first suggestion, a good plugin API, seems like the way to go. moridinamael, what advantages do you see to open source over a pl...
If it's worth saying, but not worth its own post, then it goes here.
Notes for future OT posters:
1. Please add the 'open_thread' tag.
2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)
3. Open Threads should start on Monday, and end on Sunday.
4. Unflag the two options "Notify me of new top level comments on this article" and "