I've been working on a side project for fun that I originally wanted to release and commercialize. I've realized recently that while I think my work is great and would be fun to share I am not ready to commit to working on it full-time. I'm afraid that the work I've done is going to be for naught if I don't do anything with it.
I'm considering open sourcing the entire project so that others can learn from many aspects of it including code style, application structure, etc... but I'm worried that someone will take the ideas of my work and either patent it or use/fork it directly to commercialize it on their own.
I've been looking in to various licenses that would allow me to open-source this project so that the code can be analyzed by others for learning purposes, but it seems that all the licenses I've found allow for commercialization.
Is there any license that I can release the source under to allow learning and contributing but preventing others from commercializing what I've been working on?
Bonus points for follow-up - would releasing it under a license like this prevent me from also commercializing it later?